Skip to content

evidence(OMN-17554): bind the merged PR #1658, add-only - #8596

Merged
jonahgabriel merged 3 commits into
devfrom
jonah/omn-17554-repoint-evidence-1658
Sep 7, 2026
Merged

jonahgabriel merged 3 commits into
devfrom
jonah/omn-17554-repoint-evidence-1658

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

What this changes

Adds one net-new dod_evidence item, dod-OmniNode-ai-omnibase_core-pr-1658, to the OMN-17554 contract. Strictly additive: git diff <merge-base> -- contracts/OMN-17554.yaml is 24 insertions, 0 deletions.

Its receipt was already on dev — minted by the autobind at drift/dod_receipts/OMN-17554/dod-OmniNode-ai-omnibase_core-pr-1658/command.yaml — with no contract item to bind to. This supplies it.

#1658 is the change that actually landed: merged 2026-09-07T13:11:28Z, squash 90148c953dd1d02cdeb08d14df52a35178f5af6c, 165 SUCCESS / 1 SKIPPED / 0 FAILURE.

How the checks were chosen

Each was verified to flip across the merge before being written, so none can pass with the product change reverted (merge commit vs parent 5b27eb5c):

Check At merge At parent
load_declared_user_config in check_env_vars.py 1 0
raw env-read count in constants_workflow.py is 0 0 1
AST pin test in the PR file list present 404
merge parent assertion exact —

Verified locally before pushing

  • append-only validator: No append-only violations: existing entries and receipts unchanged.
  • check_receipt_hardening.py --supersession-corpus: 2344 violating file(s); baseline 2344. Corpus matches the frozen baseline exactly.

What this does NOT fix — filed as a residual, not worked around

An earlier revision of this branch tried to correct two stale autobind supersession records for this ticket (one probes _build_env_vars_check from the rejected design at candidate ref 7991b1c9; the other names two test paths that never landed). Those were reverted, because merged entries are immutable and the append-only gate rejected the edit — correctly.

Repairing them properly is currently blocked by two mutually exclusive rules inside scripts/validation/check_receipt_hardening.py:

  • _repaired_targets (~line 1800) requires a repair record whose supersedes: names the mis-paired .supersede. record, with a higher token;
  • _supersession_chain_violations (line 1302) rejects any receipt whose supersedes: names a .supersede. record, unconditionally and fail-closed.

A record satisfying either rule is refused by the other, so the documented OMN-15459 repair path cannot currently be taken. Reported on the ticket rather than bypassed.

Refs: OMN-17554

…1658

The contract was autobound to omnibase_core#1652, which was CLOSED without
merging after review rejected its doctor boundary (mergeCommit null, mergedAt
null). Every check on it therefore rested on a pull request that never landed,
and dod_verify reported 2/8 with 2 failed against work that is in fact merged
and green: one failure was "#1652 not merged", the other a behavior proof naming
tests/test_doctor/test_checks_env_typed_binding.py and
tests/unit/models/configuration/test_extra_forbid_omn17554.py, two candidate-era
paths that never existed in the landed tree.

Repointed to #1658, squash 90148c953dd1d02cdeb08d14df52a35178f5af6c, merged
2026-09-07T13:11:28Z with 165 SUCCESS / 1 SKIPPED / 0 FAILURE.

Each content check was selected because its exit status FLIPS across the merge,
verified in both directions before being written here rather than assumed:
load_declared_user_config is present at the merge commit and absent at the
parent; constants_workflow.py holds zero raw env reads at the merge commit and
one at the parent; the AST pin test is in the PR file list and 404s at the
parent. A fourth candidate check, asserting the rejected _build_env_vars_check
helper is absent, was dropped after its negative control showed the helper was
absent at the parent too, so it would have been a vacuous check of exactly the
kind this ticket exists to remove.

The behavior proof now names the five test targets the PR actually adds or
changes: 100 passed in 5.78s.

Refs: OMN-17554
@jonahgabriel
jonahgabriel enabled auto-merge (squash) September 7, 2026 16:53
Reduces this branch to a strictly additive change. Its first commit removed
dod_evidence item 'dod-OmniNode-ai-omnibase_core-pr-1652' and edited
'dod-occ-diff-derived-behavior-proof'; merged entries are immutable and the
append-only gate correctly rejected both. `git diff origin/dev` on this branch
now has zero removed lines.

Adds one net-new item, 'dod-OmniNode-ai-omnibase_core-pr-1658'. Its receipt was
already on dev, minted by the autobind at drift/dod_receipts/OMN-17554/
dod-OmniNode-ai-omnibase_core-pr-1658/command.yaml, with no contract item to
bind to; this supplies it. #1658 is the change that actually landed: merged
2026-09-07T13:11:28Z, squash 90148c953dd1d02cdeb08d14df52a35178f5af6c, 165
SUCCESS / 1 SKIPPED / 0 FAILURE.

Each of its four checks was verified to FLIP across the merge before being
written here, so none can pass with the product change reverted: at merge commit
vs parent 5b27eb5c, load_declared_user_config counts 1 vs 0; the raw env-read
count in constants_workflow.py is 0 vs 1; the AST pin test is in the PR file list
and 404s at the parent; and the merge parent assertion is exact.

Verified locally before pushing: the append-only validator reports "No
append-only violations", and check_receipt_hardening.py --supersession-corpus
reports 2344 against a 2344 baseline, "Corpus matches the frozen baseline
exactly".

NOT fixed here, and filed as a residual on the ticket instead: the autobind's two
supersession records for this ticket are stale, and repairing them is currently
blocked by two mutually exclusive rules inside
scripts/validation/check_receipt_hardening.py. _repaired_targets (~line 1800)
requires a repair record whose `supersedes:` names the mis-paired .supersede.
record; _supersession_chain_violations (line 1302) rejects any receipt whose
`supersedes:` names a .supersede. record, unconditionally and fail-closed. A
record satisfying either rule is refused by the other, so the documented
OMN-15459 repair path cannot currently be taken.

Refs: OMN-17554
@jonahgabriel jonahgabriel changed the title evidence(OMN-17554): repoint the evidence contract at the merged PR #1658 evidence(OMN-17554): bind the merged PR #1658, add-only Sep 7, 2026
…t hash

Two additions the eligibility and hardening gates asked for by name, both
strictly add-only. Net change for this ticket is 92 insertions, 0 deletions.

occ-preflight reported reason=missing_occ_self_bind: OCC evidence for OMN-17554
verifies (receipts PASS, hashes bound, missing_or_nonpass_receipts empty) but no
receipt bound to this evidence PR itself. Adds item occ-self-bind-pr-8596 and its
PASS receipt with pr_number 8596.

Appending that item moved the contract's whole-file hash, which invalidated
dod-OmniNode-ai-omnibase_core-pr-1658/command.yaml — an autobind receipt minted
2026-09-06 carrying only contract_sha256 and no per-entry hash (OMN-13888). That
receipt is merged and immutable, so it is corrected by a net-new supersession
rather than an edit. The record names the BASE receipt, not another supersession,
so it is not a chain; it mints contract_entry_sha256 so future appends to other
entries cannot invalidate it again, and it re-probes at the merge commit
90148c95 rather than the superseded intermediate head abae24cf.

Verified locally before pushing, each gate run on the exact staged tree:
receipt hardening on all three touched receipts reports no violations;
--supersession-corpus reports 2344 against a 2344 baseline, "Corpus matches the
frozen baseline exactly"; the append-only validator reports "No append-only
violations: existing entries and receipts unchanged."

Refs: OMN-17554
@jonahgabriel
jonahgabriel merged commit ac64cdb into dev Sep 7, 2026
71 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-17554-repoint-evidence-1658 branch September 7, 2026 17:53
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