Repository navigation
fix(OMN-19149): advance the Receipt Gate pin so the supersede-latch fix is in force - #2769
Conversation
✅ Architectural Review — PASSEDErrors: 0 What this checks
No architectural violations found. Static architectural lint — no model inference (OMN-14176). |
✅ Hostile Reviewer — PASSEDBlocking findings (critical/error): 0 Gate semantics
Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8524) |
This PR alone is inert — leg 1 added, and this one will be repointedCorrecting my own causal claim above rather than leaving it standing. The caller pin this PR advances selects which copy of So the gate runs 0.46.12's validator at either value of this pin, and the proof in the body ran the resolver imported directly, which the gate never does. The measurement was real; the inference from resolver behaviour to gate behaviour was the load-bearing step, and it was false here. That was the limit flagged in the body, and it turned out to be the whole thing. Leg 1 is omnibase_core#1740, also a draft, which moves that hardcoded ref. It is proven at the gate's own eligibility entrypoint rather than at the resolver:
The negative control reproduces the live gate's reported output verbatim, including the key's absence from This PR will be repointed at leg 1's merge sha rather than at Evidence-Ticket OMN-19149 |
…ix is in force The caller pin selects which copy of receipt-gate.yml runs. That file carries a second, separate hardcoded ref supplying the validator SOURCE, which is why the earlier advance of this line to a03b1072 was inert: the gate still checked out omnibase_core at 37bd8519, where the supersede-suffix pattern excludes a dot and an attempt-scoped record is invisible to the resolver rather than outranked. omnibase_core#1740 advanced that inner ref. This repoints the caller at its squash commit, 9cc9f035, the first sha at which the OMN-19050 fix is actually in force on this repository's gate. Evidence-Ticket OMN-19149 Onex-Lane: land-1740-2769-1355 Onex-Session: 12b50214e64d4d4a9c2d78ac4752ca1f
7ccaf17 to
cc5bd78
Compare
|
OCC autobind did not mint a companion for this PR: no changed-file candidate could be proven RED against the merge base, and emitting a PR-existence probe instead would be non-falsifiable evidence (OMN-15247). Hand-authored evidence is required. |
What this is
One line plus its comment. It advances the Receipt Gate pin in
.github/workflows/call-receipt-gate.ymlto9cc9f035465266442df542d345cde621c9c3b0d5, the squash commit of omnibase_core#1740, so the OMN-19050 supersede-latch fix is actually in force on the path this repository's pull requests are decided on.Corrected since this was opened. The original pin target here was
a03b1072, and advancing this line to it would have been inert. This line selects which copy ofreceipt-gate.ymlruns; that file carries a second, separate hardcoded ref supplying the validator SOURCE, and ata03b1072that inner ref still read the August37bd8519. Proven live on omnimarket#2751, whose gate log shows it checking outomnibase_coreat37bd8519after this pin had already been advanced. omnibase_core#1740 (leg 1, merged) moves the inner ref;9cc9f035is the first sha at which this repository's gate actually runs the fixed validator. Thea03b1072advance itself already reacheddevinside the omnimarket#2751 squash, so the repoint is the whole remaining diff.Undrafted on the operator go relayed by the team lead: durable authorization is the OPERATOR-CONSENT row at
docs/tracking/ROLLING_WORK_LEDGER.md:5193(2026-09-22T13:54:22Z), whose approved scope is omnibase_core#1740 and then this pull request.The defect
OMN-19050 closed the FAIL-supersede latch in
omnibase_coreand merged to that repo'sdev. It is inert here, because the gate this repo runs is pinned to a commit that predates it.The pin was
76532c203a2dccd5f928fba6657d5dd5ff3bdf10, version 0.47.19, an ancestor of the fixa03b10720db364575b0477003da95b46de765950by exactly 11 commits. At that sha the resolver's supersede-suffix pattern still excludes a dot, and neither_sequence_keynor_guarded_winnerexists. An attempt-scoped record is therefore not outranked there. It is invisible.Live consequence on #2751:
occ-preflightpasses, while the Receipt Gate reports a non-pass receipt forOMN-18868:dod-occ-diff-derived-behavior-proof-pr-2751:test_passeseven though the merged companion carries a PASS record for exactly that key. The gate'sreceipt_idsdoes not list the key at all, which is the signature of an unseen record rather than a rejected one.This is the same silent-drop shape as the original defect, one layer further out: the fix is merged, and it is not in force.
Proof, with a negative control
Run over the same three merged receipt files fetched from
onex_change_controldev, changing nothing but whichomnibase_corethe resolver comes from:76532c20, the old pintest_passes.supersede.2751.yamlbab99887a03b1072, the new pintest_passes.supersede.2751.0002.yamlb5c6f7a4The negative control is the point: the old pin still returns the FAIL over identical input, so the new result is caused by the pin and not by the receipts having changed under the test. The old-pin run was done in a detached checkout at that exact sha, not by patching a newer tree.
Pin target, and why it is not a release
No published release carries the fix.
v0.47.20is the latest, tagged3afa3528on 2026-09-20T22:33Z; the fix merged 2026-09-21T20:12Z, andgit tag --containson it returns empty.A released version would be the better pin for a required gate, so this deliberately takes second best and says so in the comment: it pins the merge sha and records that it should be re-pointed at the first release that carries the fix.
Blast radius, measured
.github/workflows/receipt-gate.ymlis byte-identical across the move, blobcb0c2b547e34d664644b3faa08758ef44d245576at both shas, so the gate's own shape does not change.The validation surface does move: 18 files, +893/-220. Two are gate-relevant besides the resolver, and both come from a single commit,
feat(OMN-18996): deliver core delegation source slice(omnibase_core#1730).validator_occ_append_only.py20d8213555ba0ea3e559f7b0591f607285aed72201632345c74be77e885a39d497655497bb1fda98validator_receipt_diff_consistency.py9ccbafd9bb0790a6b6aaa53373b4965e0959518a98bec78a98c4f29d555102ee841bf923e03590cavalidator_receipt_supersession.py624b4c03f359862d5be07b0ff8174ec321a97713f0721783054a6d046bc4173b76befc23b14d7217That third-party movement inside a required gate is the whole reason this is its own pull request under its own ticket rather than a rider, and the reason the pin's own comment calls advancing it a reviewed edit.
Why it is a draft
It was a draft because merging moves this repository's
devhead and re-triggers the deploy agent, and because the pin it should carry did not exist until leg 1 merged. Both have now resolved: leg 1 merged at 2026-09-22T14:21:56Z, and omnimarketdevhas taken several merges since the hold was written. The operator go is the consent row cited above.Scope
No runtime path is touched. This is a workflow pin. Countersignature is with a second actor rather than self-attested.
Evidence-Ticket OMN-19149
Scope against the merge-order hold
This pull request changes exactly one file,
.github/workflows/call-receipt-gate.yml, and nothing else. It is a CI gate pin: no runtime path, no source, no image, no packaging metadata, andpyproject.tomlis untouched so no version moves. The merge-order hold whose head is omnibase_infra#3939 sequences runtime-affecting merges on omnibase_infra and omnimarket; a workflow-only change does not move this repository's runtime and is outside it. Authorization is the operator consent row atdocs/tracking/ROLLING_WORK_LEDGER.md:5193, recorded 2026-09-22T13:54:22Z, which post-dates the hold and names this pull request explicitly.Evidence-Ticket: OMN-19149
Evidence-Source: OCC#10799