Repository navigation
evidence(OMN-18048): bind OMN-18048 to omnibase_infra#3356 as a second consumer - #8783
Conversation
…d consumer #3356 fails occ-preflight with reason=pr_ticket_mismatch: "no PASS receipt binds to PR #3356 or one of its commit SHAs". Every receipt OMN-18048 has on dev carries pr_number 3351, so nothing binds to the follow-up PR. Corrected premise, from Jonah's landing review: OCC#8774 is NOT the companion that unblocks #3356. Its supersession receipts also carry pr_number 3351, so merging it would not clear this. The two PRs are sequential in ticket only, not in gate dependency. I had recorded the opposite and was wrong. Two second-consumer supersessions, the OMN-14623 merged-path pattern, neither editing a merged base receipt: - dod-omn-18048-qualifier-and-emphasis -> reads the SAME handler file the base entry reads, at #3356's head, for _TRAILING_EMPHASIS_RE, the marker the MAJOR hostile-review fix introduces. Returns 2. - dod-omn-18048-red-first-module-exists -> reads the same PR-files surface the base entry reads, for #3356 rather than #3351. Returns 1. Both anchor to their superseded item's own declared artifact family, which is what S2 requires, and their check_values differ from each other, which is what S1 requires. The first check is RED-derivable and I proved it rather than asserting it: _TRAILING_EMPHASIS_RE returns 2 at #3356's head and 0 at #3351's head (exit 1). It discriminates this PR from its predecessor rather than passing for both.
Eligibility fails #8783 with missing_occ_self_bind: OCC evidence for OMN-18048 verifies, but no receipt binds it to this OCC PR itself (I3 — an OCC PR validates its own in-tree contract and receipts). Appended, not edited. The four existing entries are byte-identical to origin/dev, verified entry-by-entry before committing. That matters because all four merged receipts carry contract_entry_sha256, and _contract_hash_violation validates the per-entry hash and returns without ever reaching the whole-file comparison (check_receipt_hardening.py:1486). Their entries are untouched, so they stay bound and no merged receipt needs rewriting. The eligibility message asks for contract_sha256 to be recomputed on the existing receipts. That is not required here and would mean editing four receipts already merged on dev — an append-only violation of exactly the shape that blocked OCC#8774 this morning.
Discharges missing_occ_self_bind on #8783. The probe was run live, not composed: gh pr view 8783 returned {"headRefName":"lakshman/omn-18048-occ-bind-pr-3356","number":8783,"state":"OPEN"} at exit 0, and that is the stdout recorded in the receipt. commit_sha 3036449 is the pushed contract-append commit, confirmed to resolve via the GitHub API before the receipt was written (COMMIT_SHA_EXISTS). Gate proven load-bearing rather than assumed: run bare, the hardening check exits 0 even against a deliberately corrupted hash, because it validates nothing without --paths-file0. Scoped the way CI invokes it (ci.yml:273), it exits 1 on the corrupted entry hash and 0 on the real one. The passing run is only meaningful because the failing one was watched first. The four receipts already merged on dev are untouched, and the control confirms they stay bound: occ-self-bind-pr-8762 still hashes to 494f0c53, exactly what its merged receipt carries.
OCC#8774 merged at 12:52:50Z and appended occ-self-bind-pr-8774 plus a behaviour-proof-budget entry to the same contract, so this branch conflicted. Merged rather than rebased on purpose. A rebase rewrites history and the push would then need a force, which the branch-safety guard refuses — the same wall that stranded the #3351 follow-ups this morning. A merge fast-forwards cleanly and keeps 3036449, the commit this branch's receipt binds to, a real ancestor rather than an orphan. Conflict resolved by taking dev's file verbatim and re-appending only the 8783 entry, so every entry dev owns stays byte-identical. Verified entry-by-entry after resolving: 6 UNCHANGED, 1 added. Receipt updated: contract_sha256 -> a8e3cc99 (the post-merge whole-file hash). contract_entry_sha256 is unchanged at 73e4a07a because the entry's own content did not move — which is the whole point of OMN-13888, and is visible here on someone else's receipt: occ-self-bind-pr-8774 still carries the pre-merge whole-file hash 182b3c68 and validates anyway, because its per-entry hash matches. Gate run scoped the way CI invokes it, over both my receipt and 8774's merged one: clean. Control: corrupting the entry hash makes it name the exact mismatch.
|
Thank you for the merge. Confirming the chain closed, by content rather than by the merge notice:
omnibase_infra#3356 has picked it up and its That matters beyond the two PRs: dev has been carrying both hostile-review defects since #3351 merged at 08:20:45Z — Two things this PR left behind that are worth having on the record. The remediation text that sent #8774 into an append-only violation is filed as OMN-18082. It tells you to recompute Your merge proved that, on a receipt I did not author. After it, the contract's whole-file hash is Also flagged separately on OMN-18048 ( |
occ-preflight eligibility and verify/verify both failed on the same cause, missing_occ_self_bind: the OMN-18081 evidence verified (receipts PASS, hashes bound) but nothing bound a receipt to the OCC PR carrying the contract. Appends `occ-self-bind-pr-8800` and its PASS receipt. The entry is APPENDED, never edited into an existing one, so both existing entries keep their contract_entry_sha256 byte-for-byte — recomputed and confirmed identical (9ea64111... and 9c56e1ea...), which is the OMN-13888 property that makes a later append non-destructive. The whole-file hash does move on an append, so contract_sha256 is recomputed on the three receipts from 48c7f629... to 79ef9bbf.... That is legal here and is not the add-only violation the OMN-18056 lane recorded: those three receipts are NEW in this same unmerged PR, not merged evidence being rewritten. The Receipt Honesty Gate checks contract_sha256 against the CURRENT contract unconditionally on pr_number, so leaving them stale would have traded one red gate for another. No binds_ac on the self-bind entry: it is an infrastructure binding, not evidence for an acceptance criterion, matching the landed precedents (OMN-18048 #8783, OMN-18026 #8791). Probe run for real, not asserted: `gh pr view 8800` returns state OPEN on headRefName jonah/omn-18081-occ-companion-pr-364, exit 0. All four receipts re-validated against the contract with the core hash functions, plus a negative control proving two entries do not share an entry hash. Companion for omniweb#364 (OMN-18081). Autobind is down this window (OMN-18073).
…8800) * evidence(OMN-18081): union-resolve — bind OMN-18081 to omniweb#364 Hand-bound OCC companion for OmniNode-ai/omniweb#364, binding AC1, AC2 and AC3. Hand-minted because the occ-companion-effect job could not publish. On run 34355977342 it failed with "the lane declares security_protocol=SASL_PLAINTEXT / sasl_mechanism=SCRAM-SHA-256, but KAFKA_SASL_USERNAME and/or KAFKA_SASL_PASSWORD are not set in this job's environment", which is the autobind outage OMN-18073 records. Without a companion, #364 has no receipt to cite and fails the Receipt Gate on the missing citation rather than on anything wrong with the change. Same union-resolve shape as OCC#8760 (omninode_infra#1266) and OCC#8787 (omninode_infra#1274). AC4 is deliberately NOT bound: it is the staging readback on dev.app after delivery, and it cannot be proven before this merges and reaches onex-dev. Rule 24 is stated rather than implied in the contract summary — the .201 compose dev lane runs no dashboard, so there is no lab surface for this change and no lab pass is claimed. Receipts carry real probe output, not asserted output. The behavior-proof receipt records the RED control taken in-lane: 10 of 17 fail at acec8de, 17/17 pass at the pushed head, and the 7 that pass in BOTH states are the OMN-18011 protection pins, which is the correct result for a change that must preserve them. Rule 22 respected: no credential was rotated, re-issued, revoked or minted; no secret value was read, printed or decoded; no cluster object was mutated. * evidence(OMN-18081): self-bind the companion to OCC PR #8800 occ-preflight eligibility and verify/verify both failed on the same cause, missing_occ_self_bind: the OMN-18081 evidence verified (receipts PASS, hashes bound) but nothing bound a receipt to the OCC PR carrying the contract. Appends `occ-self-bind-pr-8800` and its PASS receipt. The entry is APPENDED, never edited into an existing one, so both existing entries keep their contract_entry_sha256 byte-for-byte — recomputed and confirmed identical (9ea64111... and 9c56e1ea...), which is the OMN-13888 property that makes a later append non-destructive. The whole-file hash does move on an append, so contract_sha256 is recomputed on the three receipts from 48c7f629... to 79ef9bbf.... That is legal here and is not the add-only violation the OMN-18056 lane recorded: those three receipts are NEW in this same unmerged PR, not merged evidence being rewritten. The Receipt Honesty Gate checks contract_sha256 against the CURRENT contract unconditionally on pr_number, so leaving them stale would have traded one red gate for another. No binds_ac on the self-bind entry: it is an infrastructure binding, not evidence for an acceptance criterion, matching the landed precedents (OMN-18048 #8783, OMN-18026 #8791). Probe run for real, not asserted: `gh pr view 8800` returns state OPEN on headRefName jonah/omn-18081-occ-companion-pr-364, exit 0. All four receipts re-validated against the contract with the core hash functions, plus a negative control proving two entries do not share an entry hash. Companion for omniweb#364 (OMN-18081). Autobind is down this window (OMN-18073).
Unblocks omnibase_infra#3356, which fails
occ-preflightwith:Every receipt OMN-18048 has on dev carries
pr_number: 3351, so nothing binds to the follow-up PR.Corrected premise
OCC#8774 is not the companion that unblocks #3356. Its supersession receipts also carry
pr_number: 3351, so merging it would not clear this — the two PRs are sequential in ticket only, not in gate dependency. I had recorded the opposite and parked #3356 behind #8774; that was wrong, and this PR is the consequence of correcting it.What this adds
Two second-consumer supersessions — the OMN-14623 merged-path pattern — neither editing a merged base receipt:
dod-omn-18048-qualifier-and-emphasis_TRAILING_EMPHASIS_REdod-omn-18048-red-first-module-existsBoth anchor to their superseded item's own declared artifact family (S2), and their
check_values differ from one another (S1).The first check is RED-derivable, and I proved it rather than asserting it
_TRAILING_EMPHASIS_REis the marker introduced by #3356's MAJOR hostile-review fix:So it discriminates this PR from its predecessor rather than passing for both. That is the difference between evidence and a surrogate, and it is the property
pr_state_surrogatefindings exist to enforce.Deliberately not included
.supersede.3356.yamlfordod-omn-18048-behavior-proof. That item is contested on OCC#8774 with an open S2 violation; adding a second supersession against it while that is unresolved would tangle two independent problems.git diffagainst the merge base is 2 files, 89 insertions, 0 deletions.Ticket: OMN-18048