Skip to content

fix: identify GitHub release requests and attest durable reservations - #21

Merged
AyobamiH merged 4 commits into
mainfrom
fix/release-reservation-recovery-20261018
Oct 18, 2026
Merged

AyobamiH merged 4 commits into
mainfrom
fix/release-reservation-recovery-20261018

Conversation

@AyobamiH

Copy link
Copy Markdown
Owner

Real protected canary 39118530819 failed at preparation, before any execute request or publication. GitHub requires User-Agent; a GET without it reproduced 403. The fixed adapter has now independently read the exact existing draft successfully using GET only. The failed run and draft are preserved.

Supply the application User-Agent on every provider request. When a seed first wins the existing permanent Durable Object target fence, atomically retain a domain-separated signed reservation bound to the request, subject, transaction, GitHub run and workflow commit. Duplicate reserved reads return identical evidence; attempted/verified states return no reservation. No target fence is reset, no seed may be replaced and the one-PATCH invariant is unchanged. This evidence supports separately reviewed DoneState recovery of an authorisation whose preparation never succeeded. It is not a publication receipt or an outcome claim.

Validation: build and all seven release-provider tests pass, including mandatory header enforcement, unchanged one-attempt ambiguity behavior, reservation signature and post-attempt refusal. The exact draft remains unpublished. All four temporary release Workers are disabled with keys and durable namespaces retained. Current-main patch services require a new re-pin/canary after merge. No npm publication.

Independent full-source review requested: inspect the complete provider adapter, policy and Durable Object implementation, all effect fences and reservation race/replay boundaries, plus the related DoneState recovery contract. Related: AyobamiH/donestate#193.

@AyobamiH

Copy link
Copy Markdown
Owner Author

@codex review

Please perform an independent full-source review of this exact candidate, not only changed lines. Inspect the complete release adapter, policy, Durable Object target fence, controller, OIDC identity, receipt/handoff verification, and the cross-repository reserved-state attestation contract in AgentProof #21 / DoneState #198. Focus on races, replay, freshness, signer separation, retention of original authority, and ensuring recovery cannot clear an attempted fence or admit an execution predating the recovered authorisation. The real initial workflow failed before any execution; its artifacts and original draft are preserved. No new publication is claimed or attempted during review.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 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-18T10:59:27.781424Z fdd0276 Manual request
ℹ️ 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: 03c6c37ae8

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

Comment thread services/release-provider/src/policy.mjs
@AyobamiH

Copy link
Copy Markdown
Owner Author

@codex review

The updated candidate addresses both independent findings: reservations bind the exact producing workflow attempt; recovery ordering now uses a causal signature gate rather than only clocks. DoneState commits the recovered authorisation first, then signs a domain-separated grant using its unchanged handoff key. AgentProof stores recovery-required policy permanently with the reserved target and will not execute until that exact signed grant activates it. The signed completion binds the grant digest. Configuration changes cannot clear the stored gate. The complete original authority remains retained.

Please independently review the complete final source, including the new AgentProof recovery verifier and activation transition, DoneState post-commit grant issuance, OIDC, receipt/handoff boundaries, race and crash behavior, replay and immutable state. The integrated workflow keeps private-draft access in the existing publisher job because real read-only CI proved GitHub denies draft reads to contents-read. No publisher token reaches DoneState, OpsTruth or the receipt signer.

Local validation: 8 AgentProof provider tests, 15 DoneState controller tests, 12 canary tests, plus real-source interoperability in both signature directions passed. The original real release attempt remains failed-before-execution and all four temporary services remain disabled. No publication or independent outcome is claimed.

@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: b845df20d0

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

Comment thread services/release-provider/src/policy.mjs
@AyobamiH

Copy link
Copy Markdown
Owner Author

@codex review

Please re-review the exact updated head and complete affected source. All prior findings are addressed: exact producing-attempt binding, causal post-commit authorisation grant, receipt-signer configuration, and wrong-attempt rejection even after recovery commits or a signature response is lost. Both committed AgentProof release configurations now require the causal gate while remaining disabled, and the canary health check refuses activation if either role is not configured. The signed reservation itself binds the required handoff-key/run gate; DoneState rejects an ungated reservation. The complete recovered path now reaches and independently verifies the separate signed AgentProof receipt in tests.

Local validation passed: 8 provider tests, 15 controller tests, 13 canary tests and both real-source signature directions. All temporary release services remain disabled, the one original draft is unchanged, and real publication/independent outcome remain unclaimed. The first real workflow failure and the contents-read draft-access CI failure are preserved. The canary PR remains draft until the dependency merge SHAs are pinned.

Focus on the entire durable state machine, configuration consistency, OIDC, causal ordering, exact run/attempt replay behavior, grant/receipt signing separation, crash recovery and no-second-PATCH invariant. Related AgentProof #21, DoneState #198, and agentproof-release-canary #2.

@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: cfce52d1dc

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

Comment thread services/release-provider/src/worker.mjs
Validate the original producing-attempt grant before settling or returning an existing effect. Preserve same-run read-only recovery without authorising another publication. Provider regression tests cover lost settlement, later readers, tampered retained grants and expired-grant readback; all eight provider tests pass.

Copy link
Copy Markdown
Owner Author

@codex review

Please review exact head fdd0276, including the complete retained-grant verifier and both settlement paths. The latest finding is addressed by authenticating the original execution authority before returning existing-effect evidence, while preserving the documented same-run read-only recovery contract. A later workflow attempt cannot activate or execute the original grant; it can only observe an already attempted effect. Tests cover lost settlement, wrong/tampered retained authority, original grant retention, expiry-safe GET-only recovery and exactly one publication call. DoneState #198 has passed review and CI and merged as 08ac9539748ddf3fce31a3f1627119c406cc84b6. No live release publication or production verification is claimed.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: fdd02760d3

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

@AyobamiH
AyobamiH merged commit d89f6d5 into main Oct 18, 2026
5 checks passed
@AyobamiH
AyobamiH deleted the fix/release-reservation-recovery-20261018 branch October 18, 2026 11:01
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.

1 participant