Skip to content

fix(queue): bind canonical promotion receipts - #299

Merged
Joncallim merged 1 commit into
codex/pr198-producer-5a2-r3a-retry-upgradefrom
codex/pr198-producer-5a2-r3a-r6-receipt-binding
Jul 28, 2026
Merged

fix(queue): bind canonical promotion receipts#299
Joncallim merged 1 commit into
codex/pr198-producer-5a2-r3a-retry-upgradefrom
codex/pr198-producer-5a2-r3a-r6-receipt-binding

Conversation

@Joncallim

Copy link
Copy Markdown
Owner

Source Issue

Issue: #179

Parent

Summary

  • Require a source-absent canonical (occurrence) retry replay receipt to name the occurrence ID already embedded in the scanned envelope.
  • Preserve concurrent legacy-upgrade convergence, where different contenders may generate different candidate occurrence IDs and the first valid winner remains authoritative.
  • Keep canonical mismatches fatal through the existing receipt-integrity path without deleting or rewriting the coherent mismatched receipt pair.

Evidence

  • Focused queue/output closure: 21/21 passed.
  • Disposable real Redis proof: 3/3 passed, covering task, approval, and answers canonical mismatch/match cases plus existing legacy concurrency, historical-v2, ownership, pruning, poison, response-loss, clock, and capacity paths.
  • Full local unit suite: 1,689 passed; 7 pre-existing skips outside the dedicated Redis proof.
  • Changed-file ESLint: passed.
  • TypeScript --noEmit: passed.
  • Production build: passed.
  • git diff --check: passed.

Mutation sensitivity

Temporarily removing the canonical occurrence-ID equality guard made the real Redis suite fail at the new canonical mismatch assertion (failure was undefined instead of the fixed receipt-integrity error). The guard was restored and the focused 21/21 plus real Redis 3/3 suites passed again.

Scope

Only the three assigned files changed. No runtime catch expansion, key/schema change, scan, raw receipt payload, documentation change, or parent-thread mutation is included.

@Joncallim
Joncallim marked this pull request as ready for review July 28, 2026 19:21
@Joncallim
Joncallim merged commit d3cc2c2 into codex/pr198-producer-5a2-r3a-retry-upgrade Jul 28, 2026
4 checks passed
@Joncallim
Joncallim deleted the codex/pr198-producer-5a2-r3a-r6-receipt-binding branch August 2, 2026 18:22
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