mirror of
https://github.com/hanzoai/tasks.git
synced 2026-10-04 02:04:03 +00:00
## What changed? - Consists of the change to prevent any Pinned workflows, that may have forgotten to have the initial CAN Behaviour as AU, from CAN'ing infinitely. - Also allows trampolining of a Pinned workflow onto the Unversioned if un-versioned is the current version of the worker deployment at that point in time. Note, the effective behaviour of the workflow would later then be unversioned. ## Why? - Worker-Versioning correctness. ## How did you test it? - [x] built - [x] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [x] added new functional test(s) ## Potential risks - Pre-existing workflows (started before this fix) have nil TargetVersionOnStart. On the first WFT after deployment, "" != "build-v2" → spurious targetDeploymentVersionChanged=true. This is a one-time false-positive regression for those Pinned workflows. --- > [!NOTE] > **Medium Risk** > Touches generated protobuf API surface used by internal services; while the change is additive, mismatched proto versions across services could cause integration/compatibility issues. > > **Overview** > Adds `declined_target_version_upgrade` to `StartWorkflowExecutionRequest` (HistoryService API) so continue-as-new/retry chains can carry forward the SDK-declined target deployment version and avoid pinned-workflow trampolining loops. > > Regenerates protobuf Go bindings, updating import/type references across `request_response.pb.go`, and adds missing `Marshal`/`Unmarshal`/`Size`/`Equal` helpers for the persistence `LastNotifiedTargetVersion` message. > > <sup>Written by [Cursor Bugbot]() for commit 0af06d014184761c067523c6d8fd055086a5d11c. This will update automatically on new commits. Configure [here]().</sup> --------- Co-authored-by: Hanzo Dev <[email protected]>