mirror of
https://github.com/hanzoai/tasks.git
synced 2026-10-30 14:56:19 +00:00
## What changed? Do not set `SourceVersionStamp` on new workflow execution when a v3 versioned workflow retries. ## Why? If the `SourceVersionStamp` is set, the retried workflow will be treated as a non-v3-versioned workflow and won't be processed by v3 versioned workers. ## How did you test it? - [x] built - [ ] run locally and tested manually - [ ] covered by existing tests - [ ] added new unit test(s) - [x] added new functional test(s) --- > [!NOTE] > Prevents v3-versioned workflow retries from inheriting a deprecated version stamp, clones `VersioningInfo` in describe response, and adds functional tests covering retry inheritance scenarios. > > - **History API/Workflow**: > - **Retry logic**: Only set `SourceVersionStamp` when previous run's versioning behavior is `UNSPECIFIED` (legacy), avoiding stamp on v3-versioned retries. > - **DescribeWorkflow**: Safely clone `VersioningInfo` (`common.CloneProto`) in `WorkflowExecutionInfo` to avoid mutation issues during marshalling. > - **Tests**: > - Add `Versioning3Suite` retry tests: pinned/unpinned, retry of child and continue-as-new, asserting inherit vs no-inherit and behavior (`PINNED` vs `AUTO_UPGRADE`). > > <sup>Written by [Cursor Bugbot]() for commit a36246e09b7d86f552fefb35f13b58b079ba1737. This will update automatically on new commits. Configure [here]().</sup>