Problem
Server 2.0.0-rc.25 adds CachedPollTaskKindConflict to the normative workflow-task poll 409 response union, but the worker OpenAPI document still reports info.version: 8, the same identity used by the preceding contract shape. Consumers and generated-contract tooling therefore cannot distinguish the rc.25 response union from the earlier version by the document’s declared version. The server-owned specification and public mirror agree byte-for-byte, so this is an unversioned contract evolution rather than mirror drift.
Acceptance criteria
- Give the worker OpenAPI shape containing
CachedPollTaskKindConflict a new declared document version; do not rewrite the identity of the preceding shape.
- Keep the server-owned specification and its public mirror identical after the version change.
- Preserve the additive, fail-closed runtime behavior and the existing worker protocol negotiation compatibility.
- Add structural contract-evolution validation that rejects semantic OpenAPI changes when the declared document version is unchanged, while allowing non-semantic description-only edits without brittle prose assertions.
- Verify the published protocol catalog resolves to the newly versioned document.
Delete when
Delete when the published worker OpenAPI gives the cached-poll conflict union a distinct version and CI prevents later semantic contract changes from reusing an existing document version.
Problem
Server 2.0.0-rc.25 adds
CachedPollTaskKindConflictto the normative workflow-task poll 409 response union, but the worker OpenAPI document still reportsinfo.version: 8, the same identity used by the preceding contract shape. Consumers and generated-contract tooling therefore cannot distinguish the rc.25 response union from the earlier version by the document’s declared version. The server-owned specification and public mirror agree byte-for-byte, so this is an unversioned contract evolution rather than mirror drift.Acceptance criteria
CachedPollTaskKindConflicta new declared document version; do not rewrite the identity of the preceding shape.Delete when
Delete when the published worker OpenAPI gives the cached-poll conflict union a distinct version and CI prevents later semantic contract changes from reusing an existing document version.