Repository navigation
Docs: describe ID reuse policies and start request IDs as the server implements them - #1584
Merged
Merged
Conversation
…iled Add proto comments to IdReusePolicy, FlowAlreadyStartedOptions, and StartFlowRequest.request_id that state the server behavior, and regenerate the SDK code. ALLOW_IF_PREVIOUS_EXISTS_ABNORMALLY starts a new run when the latest run is Failed, Canceled, or Terminated; only Running or Completed rejects it. The SDK enum docs, the start-flow-options reference pages, and the dex-sdk skill said "only after a failed run". Correct them, and bump skills to 1.0.12.
The default sends ID_REUSE_POLICY_UNSPECIFIED, which apply treats as DISALLOW_REUSE. It is not a configurable server policy.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This was referenced Nov 11, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documents the Flow start options as the server implements them.
protos/dex.proto: comments forIdReusePolicyand each value,FlowAlreadyStartedOptions.ignore_already_started_error, andStartFlowRequest.request_id, including the retry rule from server-zd: deduplicate StartFlow retries before the ID reuse policy #1559. Generated Go, Java, and TypeScript code regenerated.ID_REUSE_POLICY_ALLOW_IF_PREVIOUS_EXISTS_ABNORMALLY(GoIDReuseAllowIfPreviousFailedand equivalents): the SDK enum docs, the fivedocs/reference/*/start-flow-options.mdxpages, andskills/dex-sdk/references/core/flow.mdnow say a new run starts when the latest run closed as Failed, Canceled, or Terminated (not only Failed). A Flow timeout closes a run as Failed or Canceled under FAIL or CANCEL; under HANDLER the handler decides.No server or SDK behavior changes.
Why
An audit of the start options after #1551 found that the proto had no comments for these fields, that every SDK and the reference described the "abnormally" policy as "only after a failed run" while apply treats Failed, Canceled, and Terminated as abnormal (
server-zd/crates/dexzd-apply/src/command_handlers/flow_start.rs,is_conflict: a conflict only when the latest run is Running or Completed), and that the default value was described as configurable when it is not.The skills file stated a wrong fact, so skills get a PATCH bump to 1.0.13 with a CHANGELOG entry.
doc-map: no change needed: the concept pages state no per-status reuse rule; only the Developer reference and SDK docs describe the policy values.
Testing
make generated-code-check: pass.go vetandgofmt; TypeScripttsc --noEmit; Pythonruff checkandruff format --check; Rustcargo fmt --checkandclippy -D warnings; JavacompileJavaandjavadoc: pass.cd docs && npm run check: pass.