Skip to content

feat(coordinator): declare the expected choose case for readers - #2537

Merged
jeremi merged 3 commits into
mainfrom
feat/coordinator-expected-case
Nov 1, 2026
Merged

jeremi merged 3 commits into
mainfrom
feat/coordinator-expected-case

Conversation

@jeremi

@jeremi jeremi commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

A choose step can now declare optional expected: <case-label> so readers and diagram tools can identify its everyday path. Check validates the label against that step's cases, and JSON check --explain exposes it on the step. Both compare and mapped-string choices are supported.

The hint lives in presentation metadata, survives snapshots, and leaves routing, next ordering, and workflowRevision unchanged. The change includes the generated schema and catalog hashes, documentation, and regression coverage. It also corrects a schema-test expectation that omitted the already-supported compare mapping.

Schema-enabled checking now shares declared-refusal schema derivation with the catalog generator. This fixes two failures reproduced on baseline main: schema-mode lookup validation now enforces the catalog's existing unresolved constraint. Generated bytes and ordinary-build behavior are unchanged. An all-operation parity test prevents the in-memory and generated refusal contracts from diverging again.

Validation:

  • Full Coordinator schema-feature suite: 675 passed, zero failures; both opt-in TypeScript tests also passed.
  • Final committed head verified in a clean detached checkout, including choose metadata and both lookup targets.
  • Clippy with schema/all targets, formatting, schema/OpenAPI drift, identifier catalog reproducibility and its 31 tests, 70 Coordinator script tests, configuration conventions, and clean-source secret scan passed.
  • Independent staff engineer review found no blockers in the feature or the approved parity fix.

Local PostgreSQL/native-service suites were not run; the PR's selected hosted CI jobs cover those boundaries.

Closes #2536.

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi marked this pull request as ready for review November 1, 2026 12:17
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T13:06:32.880868Z b35a578 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi enabled auto-merge November 1, 2026 12:21
@jeremi
jeremi disabled auto-merge November 1, 2026 12:25
@jeremi
jeremi enabled auto-merge November 1, 2026 12:25
@jeremi
jeremi disabled auto-merge November 1, 2026 12:53
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi enabled auto-merge November 1, 2026 13:05
@jeremi
jeremi added this pull request to the merge queue Nov 1, 2026
Merged via the queue into main with commit d68c3e4 Nov 1, 2026
56 checks passed
@jeremi
jeremi deleted the feat/coordinator-expected-case branch November 1, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

coordinator: let a choose step declare its expected case

1 participant