Skip to content

evidence(OMN-15655): OCC companion for OmniNode-ai/omnibase_infra#2632 - #5978

Merged
jonahgabriel merged 7 commits into
devfrom
auto/omninode-ai-omnibase_infra-pr-2632-occ-autobind
Aug 3, 2026
Merged

jonahgabriel merged 7 commits into
devfrom
auto/omninode-ai-omnibase_infra-pr-2632-occ-autobind

Conversation

@onexbot-occ-writer

Copy link
Copy Markdown
Contributor

Deterministic OCC evidence companion for OmniNode-ai/omnibase_infra#2632, authored by node_occ_companion_effect (RSD-3, OMN-14622) from the node_occ_companion_compute plan. Every byte is a pure function of the compute plan (attestation-oracle reproducible).

node-occ-companion-effect and others added 6 commits August 2, 2026 17:14
The machine mint (node_occ_companion_effect) that produced this companion for
OmniNode-ai/omnibase_infra#2632 emitted all THREE command.supersede.2632.yaml files
with a byte-identical replacement.check_value — one
grep -c 'def validate_omniintelligence_database_invariants' over
src/omnibase_infra/topology/application_database.py. So one probe was made the
authoritative proof of three distinct bars (S1 distinctness), and none of them
referenced the item it replaced (S2 family binding). That is the OMN-15459
wrong-item rebind, the OCC#5534 shape, and it is what turned Supersession
Binding Ratchet + Pre-commit + CI Summary red on this PR.

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 was bot-authored by app/onexbot-occ-writer.

Each replacement now carries the SUPERSEDED ITEM'S OWN declared check from
contracts/OMN-15655.yaml, re-executed live by this lane at 2026-08-02T22:29Z,
with the real probe output recorded:

  dod-OmniNode-ai-omnimarket-pr-2010  -> "true"   (exit 0)
  dod-market-2010-schema-source-probe -> OK omninode_internal both relations (exit 0)
  occ-self-bind-pr-5962               -> "true"   (exit 0)

TWO declared checks were RE-STATED, not copied, and this is the one substantive
judgement in the diff. The contract's checks for #2010 and #5962 assert
.state == "open"; both PRs have since MERGED (#2010 at 488e4e05, #5962 at
cbc5029), so copying them verbatim would have recorded a FAILING probe as
status PASS. Each replacement instead asserts the same identity anchors the
declared check names — PR number, base.ref, and the exact evidence-bound
head (#2010 head c0484781, #5962 head ref codex/omn-15655-market2010-occ) —
plus .merged == true and, for #2010, the merge commit. That is a strictly
stronger, durable form of the same bar: the evidence-bound head did not merely
exist on an open PR, it landed. The S2 anchors (PR numbers 2010 / 5962, the
schema-probe path and relation names) are preserved, so each check still
discriminates its own item.

These files are net-new in this PR relative to the merge base, so editing them
is an add, not a mutation — no append-only violation, and no higher-token
repair record is required.

Gate evidence, run on .200 (patch-transfer, all 3 files sha256-verified
identical on both hosts before any gate ran):
- check_receipt_hardening.py --supersession-corpus: 2344 violating files vs
  baseline 2344, exact match. RED control: the same gate with only this repair
  reverted returns 2347 vs 2344 and names these exact 3 files as S1+S2, exit 1
  — reproducing the live CI failure, so the check is non-vacuous. Baseline NOT
  padded.
- check_receipt_hardening.py over the changed receipts (the Pre-commit step
  that was red): exit 0.
- validator_occ_append_only OMN-15655: ok=true. RED control: mutating a merged
  base receipt in place returns receipt_file_mutated, exit 1; restored, green
  again. Diff vs merge base is 0 deletions.
- tests/unit/scripts/test_supersession_binding_gate.py: 20 passed.
- check_receipt_hardening.py --check-supersession-wiring: PASSED.
- check_yamlfmt_contamination.py --corpus: PASSED.

No merge, no auto-merge, no baseline padding, no product-source edit.

Refs OMN-15655, OMN-15459.
…ce entries

OCC#5991 merged to dev (8410b24) while this companion was open and appended a
new dod_evidence entry (dod-omn15655-carried-in-omninode-infra-pr-802) to the
tail of contracts/OMN-15655.yaml — the same tail this companion appends its
self-bind entry to. That turned #5978 mergeable=MERGEABLE -> CONFLICTING on one
file, contracts/OMN-15655.yaml. It is not a defect in either change.

Resolution keeps BOTH sides, dev's already-merged entry first, then this
branch's new one — the true append semantic. Verified mechanically, not by eye:
every entry id present on origin/dev is still present after resolution
(missing-from-resolution = []), and the only id this branch adds is
occ-self-bind-pr-5978. Nothing merged was edited or dropped.

Re-verified against the NEW base after resolution:
- check_receipt_hardening.py --supersession-corpus: 2344 vs baseline 2344, exact.
- validator_occ_append_only OMN-15655 --base-ref origin/dev: ok=true.
- check_yamlfmt_contamination.py --corpus: PASSED.

Refs OMN-15655.
…#5978)

Consequence of merging dev, found by the gate and not waved through. Three
receipts this PR ADDS pin the contract by legacy whole-file hash
(contract_sha256), so appending dev's new dod_evidence entry to
contracts/OMN-15655.yaml invalidated them:

  Receipt Hardening Gate: contract_sha256 mismatch — receipt has
  'sha256:c5f7b323f6dfbed5527f2f0b5c6e78a83a52a8448a530e1c33a603b54eb7220d'
  but sha256(contracts/OMN-15655.yaml) is
  'sha256:bf63e53bba1a94e60da6d53bca5936417f8883e5473846d698af5b68d5d5c0ac'

Rebound to the current hash with the canonical helper
(omnibase_core.validation.validator_receipt_gate.compute_contract_sha256), not
hand-typed:

  drift/dod_receipts/OMN-15655/dod-OmniNode-ai-omnibase_infra-pr-2632/command.yaml
  drift/dod_receipts/OMN-15655/dod-occ-evidence-admissibility-validator/command.yaml
  drift/dod_receipts/OMN-15655/occ-self-bind-pr-5978/command.yaml

WHY THIS IS HONEST, not a hash papered over a stale claim: the contract change
that invalidated them is the addition of an UNRELATED entry
(dod-omn15655-carried-in-omninode-infra-pr-802, merged in OCC#5991). No probe,
no check_value, and no result any of these three receipts records was touched
by it. The mismatch is the known whole-file-binding coupling the gate's own
message calls out — a receipt bound to the whole contract is invalidated by an
append to any OTHER entry.

The structurally correct fix the gate recommends (mint entry-scoped
contract_entry_sha256, OMN-13888) is NOT available for these three: none of
them has a corresponding dod_evidence entry in contracts/OMN-15655.yaml, so
compute_contract_entry_sha256 raises ContractEntryNotFoundError. That residual
is disclosed, not silently absorbed — these receipts will be invalidated again
by the next append to this contract.

All three files are net-new in this PR relative to origin/dev, so editing them
is an add, not a mutation. The dev-owned receipt
drift/dod_receipts/OMN-15655/dod-omn15655-carried-in-omninode-infra-pr-802/command.yaml
was NOT touched — it carries no whole-file binding and is absent from this
commit.

Re-verified on .200 against origin/dev:
- check_receipt_hardening.py over every changed receipt: clean, no output.
- check_receipt_hardening.py --supersession-corpus: 2344 vs baseline 2344.
- validator_occ_append_only OMN-15655 --base-ref origin/dev: ok=true.
- committed deletions vs origin/dev: 0.
- check_yamlfmt_contamination.py --corpus: PASSED.

Refs OMN-15655, OMN-13888.
…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.
…check substitution

Evidence-honesty defect found by the r1 adversarial verifier in the DURABLE
artifact, not in a report. Two of the three command.supersede.2632.yaml files
carried the reason string:

  "Replacement carries this item's OWN declared check from contracts/OMN-15655.yaml,
   re-executed live by a non-implementer"

That sentence is false as written for those two. Their declared checks assert
.state == "open", and both subject PRs have since merged, so the declared check
could not be carried — it was necessarily STRENGTHENED to .merged == true. The
r1 commit message disclosed this at length; the durable receipt did not, and the
receipt is what a future reader audits. A reason string that implies a verbatim
carry when a substitution occurred is the same class of defect this whole repair
exists to remove.

Re-verified live before amending, both polarities:

  DECLARED (contract, verbatim)                       -> exit 1
    gh api repos/OmniNode-ai/omnimarket/pulls/2010 ... .state == "open"
      stdout: error: unexpected #2010 state
    gh api repos/OmniNode-ai/onex_change_control/pulls/5962 ... .state == "open"
      stdout: error: unexpected #5962 state
  REPLACEMENT (as recorded in the receipts)           -> exit 0
    ... .merged == true and .merge_commit_sha == 488e4e05...  -> true
    ... .merged == true (head ref codex/omn-15655-market2010-occ) -> true

Each amended reason now names the substitution explicitly: which clause changed,
that the original exits 1 today with its stdout, that copying it verbatim would
have recorded a FAILING probe as status PASS, and that the replacement preserves
the identity anchors (PR number, base.ref, exact evidence-bound head) while
adding .merged == true — a strictly stronger, durable form of the same bar.

THE THIRD FILE IS DELIBERATELY UNTOUCHED. dod-market-2010-schema-source-probe is
a content probe against a pinned ref, not a PR-state probe; its declared check
WAS carried verbatim and still exits 0, so its reason string is accurate as
written. Amending all three would have been the lazy uniform edit and would have
made a true sentence false.

CONTRACT-ENTRY MISMATCH: NOT FIXED HERE, AND WHY. The dod_evidence entry
'dod-OmniNode-ai-omnimarket-pr-2010' in contracts/OMN-15655.yaml still describes
"PR #2010 ... is open on dev at the exact evidence-bound head" and still declares
the .state == "open" check that now exits 1. That entry is MERGED, so editing
either its description or its check_value in this PR is precisely what
validator_occ_append_only rejects (a PR editing a merged dod_evidence entry), and
no entry-level supersession mechanism exists for contract entries the way it does
for receipts. Inventing one here would be scope creep on an evidence-repair PR.
The mismatch is therefore recorded on OMN-15655 for disposition rather than
papered over. Same applies to the occ-self-bind-pr-5962 entry's check_value.

NO probe output, status, exit_code, check_value, contract hash or pr_number was
touched by this commit — the diff is reason prose only. Verified: 2 files
changed, and every 'replacement:' block is byte-identical to the r1 commit.

NON-IMPLEMENTER evidence authorship: I am not the implementer of
omnibase_infra#2632 and wrote none of its product code, pins, or tests.

Refs OMN-15655, OMN-15459.
@jonahgabriel
jonahgabriel merged commit 0e1b87f into dev Aug 3, 2026
59 of 60 checks passed
@jonahgabriel
jonahgabriel deleted the auto/omninode-ai-omnibase_infra-pr-2632-occ-autobind branch August 3, 2026 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant