Repository navigation
receipt(OMN-13150): bind infra migration PR - #2634
Conversation
|
Warning Review limit reached
More reviews will be available in 2 hours, 10 minutes, and 49 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
e678afa to
3ca3041
Compare
3ca3041 to
6839d50
Compare
…ntries Second recurrence of the same collision, ~3h after the first. OCC#5984 (companion for omnibase_infra#2634) merged to dev at 2026-08-03T00:03:23Z (b1d1c0e) and appended occ-self-bind-pr-5984 to the SAME tail of contracts/OMN-15655.yaml that this branch appends occ-self-bind-pr-5978 to. Two conflicts, resolved on different principles: 1. contracts/OMN-15655.yaml — content conflict, resolved KEEP BOTH, with dev's entry first so this branch stays a pure append. Verified MECHANICALLY, not by eye: every dod_evidence id on origin/dev is present in the resolution (missing-from-resolution = []), every id on the pre-merge branch is present (missing-from-resolution = []), the only added id is occ-self-bind-pr-5978, every dev entry is field-for-field identical after resolution (drift = []), and the resolved file literally startswith() the dev file bytes. 2. drift/dod_receipts/OMN-15655/dod-occ-evidence-admissibility-validator/command.yaml — add/add conflict, resolved DEV WINS, untouched. Both companions minted this receipt fresh; the #5984 copy landed first, so on dev it is now a MERGED base receipt and append-only forbids mutating it. This branch does not edit it. CONSEQUENCE, found by the gate and not waved through: appending an entry changes the contract's whole-file hash, and four receipts in this ticket directory pin the contract by LEGACY whole-file contract_sha256. Two are branch-owned and were rebound in place; two are dev-owned (minted by #5984, now merged) and are IMMUTABLE, so each got a net-new supersession per the OMN-14623 merged-path convention instead. All four bound to the current hash, recomputed with the canonical helper omnibase_core.validation.validator_receipt_gate (_prefixed_contract_sha256), never hand-typed: bf63e53bba1a94e60da6d53bca5936417f8883e5473846d698af5b68d5d5c0ac (branch) 19da976fd99f8bd20f64117b06c66f7962d81b072fa31f6998108feb762e1c34 (dev/#5984) -> 873750bbe8772935586e9c978857cbdff2f5e003ca39eb002d9100869f4a3059 REBOUND IN PLACE (branch-owned, net-new on this PR): drift/dod_receipts/OMN-15655/dod-OmniNode-ai-omnibase_infra-pr-2632/command.yaml drift/dod_receipts/OMN-15655/occ-self-bind-pr-5978/command.yaml SUPERSEDED, base preserved byte-for-byte (dev-owned, merged, immutable): drift/dod_receipts/OMN-15655/dod-occ-evidence-admissibility-validator/command.supersede.2632.yaml drift/dod_receipts/OMN-15655/dod-OmniNode-ai-omnibase_infra-pr-2634/command.supersede.2632.yaml Both new supersessions RE-EXECUTE the superseded item's own declared check live on the .200 gate host rather than copying the recorded output: dod-occ-evidence-admissibility-validator -> uv run pytest tests/test_evidence_admissibility.py -q, 76 passed, exit 0 dod-OmniNode-ai-omnibase_infra-pr-2634 -> the declared grep -c 'class ProjectionDumper' at pinned ref 6ea5342d, returned 1, exit 0 Each appends an item-id-labelled echo so the replacement carries an anchor the superseded item declares. That is required, not decorative: NEITHER item has a dod_evidence entry in contracts/OMN-15655.yaml, so the OMN-15459 S2 rule can resolve no path/symbol anchors for them and the item id is the only anchor available. replacement.pr_number stays 2634 on the #2634 receipt — that is omnibase_infra#2634's own evidence, this PR does not consume it, only the contract hash moved. DISCLOSED RESIDUAL, unchanged from r1, now WIDER and still NOT absorbed: the recommended durable fix (entry-scoped contract_entry_sha256, OMN-13888) is unavailable for all four of these receipts — none has a matching dod_evidence entry id, so compute_contract_entry_sha256 raises ContractEntryNotFoundError. Every one of them WILL be invalidated again by the next append to this contract, which is exactly what happened between r1 and r2. That gap needs its own disposition; it is recorded on OMN-15655, not silently re-patched forever. Gate evidence on .200 (patch-transfer, every transferred file sha256-verified identical on both hosts before any gate ran; conflict resolution and hash rebind were remote-only ssh mutations, never Edit/Write): - check_receipt_hardening.py over all 11 OMN-15655 receipts: exit 0. - check_receipt_hardening.py --supersession-corpus: 2344 violating files vs baseline 2344, EXACT match. The two net-new supersessions add zero violations; the baseline was NOT padded. - check_receipt_hardening.py --check-supersession-wiring: PASSED. NON-IMPLEMENTER evidence authorship (feedback_no_self_authored_evidence): I am not the implementer of omnibase_infra#2632 and wrote none of its product code, pins, or tests. This companion is bot-authored by app/onexbot-occ-writer. Refs OMN-15655, OMN-15459, OMN-13888.
…t made infra#2632 permanently ineligible ## Root cause (measured, not inferred) `validator_occ_merge_eligibility` enumerates receipts **BY CONTRACT ENTRY** — `_iter_dod_evidence(contract_data)` drives the loop, and the receipt tree is only read at `receipts_dir/<ticket>/<evidence_item_id>/<check_type>.yaml`. A receipt with no matching `dod_evidence` entry is therefore invisible to the gate no matter how correct it is. Three OMN-15655 receipts have been merged on OCC `dev` in exactly that state: | receipt | merged | pr_number | |---|---|---| | `dod-OmniNode-ai-omnibase_infra-pr-2632/command.yaml` | 2026-08-02T17:14:23Z | 2632 | | `dod-OmniNode-ai-omnibase_infra-pr-2634/command.yaml` | 2026-08-02T18:43:00Z | 2634 | | `dod-occ-evidence-admissibility-validator/command.yaml` | 2026-08-02T18:43:00Z | 2634 | `contracts/OMN-15655.yaml` carried six entries, none of them these. So `tickets_with_pr_bound_receipt` stayed empty for omnibase_infra#2632 and the gate returned `pr_ticket_mismatch` on every single run — a permanent failure that no rerun, rebase or repush could clear. ## RED -> GREEN, the real gate, reproduced locally against the CI pin The occ-preflight job pins `omnibase_core@8a47e092`. That exact revision was checked out and the CLI driven with #2632's live PR snapshot. **RED** (OCC tree at `origin/dev` = `0e1b87fc4`), byte-identical to CI job 91568917801: ```json {"reason":"pr_ticket_mismatch","eligible":false, "detail":"no PASS receipt for one or more tickets binds to PR #2632 or one of its commit SHAs: OMN-15655", "contract_hashes":{"OMN-15655":"sha256:873750bb..."}, "receipt_ids":["OMN-15655:dod-OmniNode-ai-omnimarket-pr-2010:command", ... 6 total ...]} ``` **GREEN** (this branch): ```json {"reason":"eligible","eligible":true, "detail":"OCC evidence is present, PASS, hash-bound, and PR-bound", "contract_hashes":{"OMN-15655":"sha256:611e25cf..."}, "receipt_ids":[ ... 9 total, incl. the three formerly-orphan ids ... ]} ``` Same result for omnibase_infra#2634: `eligible: true`. Both exit 0. ## Why supersession records ship with the append The append moves the whole-file hash `873750bb -> 611e25cf`. All three orphan receipts carry ONLY the legacy whole-file `contract_sha256`, and all three declare a `pr_number` equal to the PR being gated, so `check_receipt_contract_binding` takes the strict "bound to THIS PR" branch. The append alone would have converted #2632's failure from `pr_ticket_mismatch` to `contract_hash_mismatch` — the OMN-13888 whole-file-hash churn that re-broke this ticket's receipts twice in three hours tonight. Each net-new `command.supersede.<NNNN>.yaml` re-states the SAME bar under `contract_entry_sha256`, which folds in only its own entry plus the pinned header subset. Measured: all six pre-existing entry hashes are byte-identical before and after the append (`e08819f6`, `2b1ce27d`, `0eac8627`, `4d4ebf93`, `1e708689`, `8b808843`), and are also stable across yamlfmt's reflow of the new folded scalars. That is what retires the churn for this ticket, rather than paying it again on the next append. Tokens are one higher than the merged record in each directory (`validator_receipt_supersession` resolves the HIGHEST token), and every `supersedes:` names the immutable BASE receipt so `_valid_supersession_replacement` keeps exempting it. No merged file is edited. ## Probes, re-executed live by a non-implementer - `dod-OmniNode-ai-omnibase_infra-pr-2632` — `grep -c 'def validate_omniintelligence_database_invariants'` over `application_database.py@f26acc6f` -> `1`, exit 0 - `dod-OmniNode-ai-omnibase_infra-pr-2634` — `grep -c 'class ProjectionDumper'` over `application_database.py@6ea5342d` -> `1`, exit 0 - `dod-occ-evidence-admissibility-validator` — `uv run pytest tests/test_evidence_admissibility.py -q` -> `76 passed`, exit 0 NON-IMPLEMENTER evidence authorship (`feedback_no_self_authored_evidence`): this lane authored neither omnibase_infra#2632 nor #2634 — none of their topology instances, grant derivation, dumper fix, validators or tests. It read the gate, re-executed the declared checks, and recorded the real outputs. ## Gates - Receipt Hardening Gate over every OMN-15655 receipt incl. the three net-new: RC=0 - Supersession corpus ratchet (`--supersession-corpus`): 2344 violating file(s), baseline 2344, **exact match both directions** — the three new records add zero violations - `pre-commit run --files <4 changed>`: all hooks pass; yamlfmt is a fixed point on the second run S1 (distinctness) and S2 (family binding) hold by construction: each replacement carries its own item's declared check, and the three checks are mutually distinct. Refs: OMN-15655
…t make infra#2632 permanently ineligible (#5996) * evidence(OMN-15655): append the three orphan dod_evidence entries that made infra#2632 permanently ineligible ## Root cause (measured, not inferred) `validator_occ_merge_eligibility` enumerates receipts **BY CONTRACT ENTRY** — `_iter_dod_evidence(contract_data)` drives the loop, and the receipt tree is only read at `receipts_dir/<ticket>/<evidence_item_id>/<check_type>.yaml`. A receipt with no matching `dod_evidence` entry is therefore invisible to the gate no matter how correct it is. Three OMN-15655 receipts have been merged on OCC `dev` in exactly that state: | receipt | merged | pr_number | |---|---|---| | `dod-OmniNode-ai-omnibase_infra-pr-2632/command.yaml` | 2026-08-02T17:14:23Z | 2632 | | `dod-OmniNode-ai-omnibase_infra-pr-2634/command.yaml` | 2026-08-02T18:43:00Z | 2634 | | `dod-occ-evidence-admissibility-validator/command.yaml` | 2026-08-02T18:43:00Z | 2634 | `contracts/OMN-15655.yaml` carried six entries, none of them these. So `tickets_with_pr_bound_receipt` stayed empty for omnibase_infra#2632 and the gate returned `pr_ticket_mismatch` on every single run — a permanent failure that no rerun, rebase or repush could clear. ## RED -> GREEN, the real gate, reproduced locally against the CI pin The occ-preflight job pins `omnibase_core@8a47e092`. That exact revision was checked out and the CLI driven with #2632's live PR snapshot. **RED** (OCC tree at `origin/dev` = `0e1b87fc4`), byte-identical to CI job 91568917801: ```json {"reason":"pr_ticket_mismatch","eligible":false, "detail":"no PASS receipt for one or more tickets binds to PR #2632 or one of its commit SHAs: OMN-15655", "contract_hashes":{"OMN-15655":"sha256:873750bb..."}, "receipt_ids":["OMN-15655:dod-OmniNode-ai-omnimarket-pr-2010:command", ... 6 total ...]} ``` **GREEN** (this branch): ```json {"reason":"eligible","eligible":true, "detail":"OCC evidence is present, PASS, hash-bound, and PR-bound", "contract_hashes":{"OMN-15655":"sha256:611e25cf..."}, "receipt_ids":[ ... 9 total, incl. the three formerly-orphan ids ... ]} ``` Same result for omnibase_infra#2634: `eligible: true`. Both exit 0. ## Why supersession records ship with the append The append moves the whole-file hash `873750bb -> 611e25cf`. All three orphan receipts carry ONLY the legacy whole-file `contract_sha256`, and all three declare a `pr_number` equal to the PR being gated, so `check_receipt_contract_binding` takes the strict "bound to THIS PR" branch. The append alone would have converted #2632's failure from `pr_ticket_mismatch` to `contract_hash_mismatch` — the OMN-13888 whole-file-hash churn that re-broke this ticket's receipts twice in three hours tonight. Each net-new `command.supersede.<NNNN>.yaml` re-states the SAME bar under `contract_entry_sha256`, which folds in only its own entry plus the pinned header subset. Measured: all six pre-existing entry hashes are byte-identical before and after the append (`e08819f6`, `2b1ce27d`, `0eac8627`, `4d4ebf93`, `1e708689`, `8b808843`), and are also stable across yamlfmt's reflow of the new folded scalars. That is what retires the churn for this ticket, rather than paying it again on the next append. Tokens are one higher than the merged record in each directory (`validator_receipt_supersession` resolves the HIGHEST token), and every `supersedes:` names the immutable BASE receipt so `_valid_supersession_replacement` keeps exempting it. No merged file is edited. ## Probes, re-executed live by a non-implementer - `dod-OmniNode-ai-omnibase_infra-pr-2632` — `grep -c 'def validate_omniintelligence_database_invariants'` over `application_database.py@f26acc6f` -> `1`, exit 0 - `dod-OmniNode-ai-omnibase_infra-pr-2634` — `grep -c 'class ProjectionDumper'` over `application_database.py@6ea5342d` -> `1`, exit 0 - `dod-occ-evidence-admissibility-validator` — `uv run pytest tests/test_evidence_admissibility.py -q` -> `76 passed`, exit 0 NON-IMPLEMENTER evidence authorship (`feedback_no_self_authored_evidence`): this lane authored neither omnibase_infra#2632 nor #2634 — none of their topology instances, grant derivation, dumper fix, validators or tests. It read the gate, re-executed the declared checks, and recorded the real outputs. ## Gates - Receipt Hardening Gate over every OMN-15655 receipt incl. the three net-new: RC=0 - Supersession corpus ratchet (`--supersession-corpus`): 2344 violating file(s), baseline 2344, **exact match both directions** — the three new records add zero violations - `pre-commit run --files <4 changed>`: all hooks pass; yamlfmt is a fixed point on the second run S1 (distinctness) and S2 (family binding) hold by construction: each replacement carries its own item's declared check, and the three checks are mutually distinct. Refs: OMN-15655 * evidence(OMN-15655): OCC companion self-bind for onex_change_control#5996 occ-preflight (job 91571546013) and `verify / verify` (job 91571546496) both failed #5996 with the SAME cause, and it is not the one this PR fixes: ``` {"reason":"pr_ticket_mismatch","eligible":false, "detail":"no PASS receipt for one or more tickets binds to PR #5996 or one of its commit SHAs: OMN-15655", "contract_hashes":{"OMN-15655":"sha256:611e25cf..."}, "receipt_ids":[all NINE ids, including the three this PR un-orphaned]} ``` That output is also the live corroboration that the first commit worked: CI independently computed the same contract hash `611e25cf` this lane computed on `.200`, and enumerated all nine receipt ids where `dev` enumerated six. The remaining gap is only that an OCC PR must bind a receipt to ITSELF, exactly as `occ-self-bind-pr-5978` and `occ-self-bind-pr-5984` did for their companions. Adds the standard self-bind pair: - `contracts/OMN-15655.yaml` — one more pure-append entry, `occ-self-bind-pr-5996` - `drift/dod_receipts/OMN-15655/occ-self-bind-pr-5996/command.yaml` — net-new receipt ## The churn stayed retired — measured across a SECOND append This is the append that would previously have re-broken everything. It did not, and that is checked rather than asserted. Entry hashes before and after: ``` dod-OmniNode-ai-omnibase_infra-pr-2632 sha256:1082f452... (unchanged) dod-OmniNode-ai-omnibase_infra-pr-2634 sha256:ac4d056b... (unchanged) dod-occ-evidence-admissibility-validator sha256:95b7f150... (unchanged) ``` while the whole-file hash moved again, `611e25cf -> 42fc4b61`. Under the old whole-file scheme that second move is what re-broke this ticket's receipts twice in three hours tonight; every receipt that matters now carries `contract_entry_sha256`, so it is inert. Unlike the three supersession records in the first commit, this receipt is minted with `contract_entry_sha256` from birth — no legacy whole-file leg to migrate later. ## Re-verified after the second append (real gate, CI pin omnibase_core@8a47e092) - omnibase_infra#2632 — `eligible: true` - omnibase_infra#2634 — `eligible: true` - onex_change_control#5996 — `eligible: true`, `"OCC evidence is present, PASS, hash-bound, and PR-bound"` ## Probe, executed live `gh pr view 5996 --repo OmniNode-ai/onex_change_control --json number,state` -> `{"number":5996,"state":"OPEN"}`, exit 0. ## Gates - Receipt Hardening Gate over every OMN-15655 receipt incl. this one: RC=0 - Supersession corpus ratchet: 2344 / baseline 2344, exact match both directions - `pre-commit run --files <2 changed>`: clean; yamlfmt is a fixed point ## Not fixed here, and not caused here `Stale TODO Gate` is red on this PR. It is a pre-existing repo-wide red, not this diff: it is equally red on OCC#5978, #5984 and #5980, and it flags `tests/test_validator_requirements_g2_onboarding.py`, a file this PR does not touch. Reported as red rather than described as green. Refs: OMN-15655
OMN-13150 infra PR receipt binding
Adds the missing PASS receipt that binds OMN-13150 central OCC evidence to omnibase_infra PR #1985 / head 60016ddd46b36c673b0fc6954c74a5641e37f9c7.
Why: omnibase_infra #1985 points at the prior OMN-13150 OCC merge, but Receipt Gate correctly rejects it because the existing PASS receipts bind omnimarket #1218, not infra #1985. This PR adds dod-infra-pr and rebinds receipt hashes to the updated OMN-13150 contract.
Local proof:
Evidence-Source: self
Evidence-Ticket: OMN-13150