Skip to content

fix: validate product contracts and recover interrupted reads - #2471

Merged
jeremi merged 4 commits into
mainfrom
fix/authoring-read-recovery
Oct 28, 2026
Merged

jeremi merged 4 commits into
mainfrom
fix/authoring-read-recovery

Conversation

@jeremi

@jeremi jeremi commented Oct 27, 2026

Copy link
Copy Markdown
Member

Summary

BReg could accept Action-only client bindings that its verifier would always refuse. Coordinator could accept inaccurate record fakes and computed Messaging template data, omit event starts from explain, and hold interrupted safe reads for an operator.

Closes #2465
Closes #2466
Closes #2467
Closes #2468
Closes #2469

All five findings are worth addressing. #2467 is a small operator-visibility gap and is folded into the behavior fixes. The contract work reuses the existing imports and scenario validators; lease recovery reuses Dispatch's bounded RetryThenHold policy.

  • Check Action and Proposal requester clients at BReg authenticator construction, preserving the standing-agent operation ceiling.
  • Export deterministic checked Messaging template contracts, independently of package inputs and digests.
  • Optionally specialize Coordinator message inputs by template/version, locale and data schema, and BReg read replies by API member names. Record fields remain optional and values remain open under current disclosure.
  • Include event triggers in JSON and human explain output.
  • Derive lapsed-read recovery from the protected run snapshot. Safe reads retry within the existing attempt/deadline limits; other work retains its hold. Restore holds and stale-worker fences remain enforced.

The earlier-appointment example demonstrates both imports from adjacent owner projects. Schemas, identifier catalog and CLI catalog are regenerated.

Evidence

Executed checks passed:

  • BReg HTTP authentication target: 42 tests; bregctl check cases: 41 tests; unchanged standing-proposer regression.
  • Messaging CLI suite, including deterministic two-template export, create-only output and unchanged package digest.
  • Coordinator offline suite with schema support; both optional TypeScript compiler checks also executed successfully.
  • Coordinator core PostgreSQL deployment, state, audit, wait and recovery targets. A separate detached checkout of the committed candidate passed 88 state tests, six contract/explain regressions and four read-lease tests.
  • CLI catalog, language server, Coordinator client and unified client tests.
  • All-targets BReg/Messaging lint; Coordinator schema all-targets lint and focused PostgreSQL changed-target lint; workspace formatting.
  • Coordinator schema/OpenAPI drift gate; identifier catalog reproducibility (25 script tests); Coordinator scripts (69 tests); dependency direction; configuration conventions (zero unrecorded findings); generated CLI/configuration reference checks (10 tests).
  • Shellcheck/shfmt on the PostgreSQL runner; diff checks; gitleaks on the exact committed source export.

Verification limits

The complete native Messaging/Scheduling composition matrix is left to protected CI. The optional Coordinator postgres-test all-targets clippy invocation reports existing type_complexity and await_holding_lock warnings in untouched scheduling_event_native.rs; the changed targets and schema all-targets lint pass.

DCO

  • Every commit includes a Signed-off-by trailer.
  • Reviewed the submitted changes and their focused regression evidence.

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
…d reads

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 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-10-28T04:20:44.316170Z 135a42f 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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c0e9f6fe0c

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 705d93d Oct 28, 2026
68 checks passed
@jeremi
jeremi deleted the fix/authoring-read-recovery branch October 28, 2026 06:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant