Skip to content

evidence(OMN-15391): retire 14 narrative-only evidence checks across 11 OCC contracts via append-only supersession - #5481

Merged
jonahgabriel merged 2 commits into
devfrom
jonah/omn-15391-retire-narrative-evidence
Jul 29, 2026
Merged

jonahgabriel merged 2 commits into
devfrom
jonah/omn-15391-retire-narrative-evidence

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Jul 29, 2026 •

Copy link
Copy Markdown
Contributor

What this is (OMN-15391)

OMN-15391 measured 29 dod_evidence checks across 13 OCC contracts whose description narrates a
proof their command cannot produce
. Every one of them carries the byte-identical check_value
uv run pytest tests/test_evidence_admissibility.py -q. node_dod_verify's
EvidenceCollector._infer_occ_cwd resolves that command into the OCC checkout, where it runs OCC's
own OMN-15309 admissibility-predicate suite (76 tests, ~0.1s, no database, no product repo). It
is EXECUTED, FALSIFIABLE and OUTSIDE-ITS-OWN-DIFF, so it classifies ADMISSIBLE and passes every gate
— while proving nothing about the ticket it is filed under.

This PR is the contract repair only, by the sanctioned append-only supersession idiom (#4528,
evidence_artifact: supersedes_dod_evidence:<id>). No original entry is rewritten or deleted:
git diff origin/dev -- contracts/ is 483 insertions / 0 deletions (the only 9 deleted lines in
the whole diff are the shrink-only ratchet entries described below).

14 of the 29 items are retired here, across 11 contracts. The remaining 15 are enumerated in
"Deferred, precisely" below — they are not silently truncated.

Dependency: this does NOT flip any ticket (OMN-15390)

node_dod_verify has zero contract-entry supersedes_dod_evidence handling (receipt-file
supersession is a different surface; measured by the peer lane on the OMN-14968 re-run, 16/22). Until
OMN-15390 lands, a retired original still executes and still counts in dod_verify's tally, so no
Done flip can rest on this PR. OCC's own gates (contract_compliance_check._superseded_dod_ids,
lint_contract_check_values._superseded_dod_ids) honour the idiom today, which is why the retirement
is real for the CI surfaces and pending for the runner.

Admissibility bar met, per item

Every superseding check was authored to the OMN-14505/OMN-15309 predicate and then proven by
execution, not by argument
:

  • EXECUTED — all 26 product checks run with a real exit code; all rc=0, executed twice (once from
    the spec, once re-parsed from the committed YAML so the check that ran is the check that shipped).
  • FALSIFIABLE — proven by mutation, not asserted: flipping one digit of a pinned content marker
    → rc=1; pointing an absence-control at the merge commit instead of its first parent → rc=1;
    dropping one file from a pinned PR file-scope list → rc=1.
  • OUTSIDE ITS OWN DIFF — every check reads a product repo at a pinned merge SHA; none reads
    drift/dod_receipts/, $CONTRACT_REPO_DIR, or a contracts/OMN-*.yaml.
  • classify_evidence_item returns ADMISSIBLE for all 26 under both vocabularies
    (LIVE_PROBE_COMMANDS and LIVE_PROBE_COMMANDS | EXECUTED_HERMETIC_COMMANDS).

Where a claim could be bound to the merged commit and its first parent, both are carried: the pair
is fix-discriminating (revert the product change and the GREEN leg goes RED; leave it and the
absence leg goes RED).

Per-contract table — item → superseding command → executed result

contract superseded item superseding item executed check (verbatim, RAW = -H 'Accept: application/vnd.github.raw', repo prefix repos/OmniNode-ai/ elided) result
contracts/OMN-14979.yaml dod-occ-evidence-admissibility-validator dod-14979-infra746-bucket-rb15391 gh api RAW 'omninode_infra/contents/aws/cluster-dev/push_validation_bundles_s3.tf?ref=ba51bcd33cd59affd02d8458efcce741d8abc839' | grep -q 'push_validation_bundle_reader' rc=0
contracts/OMN-14979.yaml (same) (same) gh api RAW 'omninode_infra/contents/aws/cluster-dev/push_validation_bundles_s3.tf?ref=564e5dba61f396c1be2bbc26949be8e7aba85fb7' | grep -c 'push_validation_bundle_reader' | grep -qx 0 rc=0
contracts/OMN-14980.yaml dod-occ-evidence-admissibility-validator dod-14980-infra751-writer-rb15391 gh api RAW 'omninode_infra/contents/aws/cluster-dev/push_validation_bundles_s3.tf?ref=ae400c5cd21b21fa9f3e962a2229dd7abf2f10d6' | grep -q 'push_validation_bundle_writer' rc=0
contracts/OMN-14980.yaml (same) (same) gh api RAW 'omninode_infra/contents/aws/cluster-dev/push_validation_bundles_s3.tf?ref=9e2fee7cfade59442404d7542d868875f7b40af8' | grep -c 'push_validation_bundle_writer' | grep -qx 0 rc=0
contracts/OMN-15299.yaml dod-occ-evidence-admissibility-validator dod-15299-infra750-plangate-rb15391 gh api RAW 'omninode_infra/contents/.github/workflows/terraform-plan.yml?ref=9e2fee7cfade59442404d7542d868875f7b40af8' | grep -q 'Assert the matrix root actually contains terraform' rc=0
contracts/OMN-15299.yaml (same) (same) gh api RAW 'omninode_infra/contents/.github/workflows/terraform-plan.yml?ref=a9ca9f4ab6403a76266bad681f38f17ad2917eb1' | grep -c 'Assert the matrix root actually contains terraform' | grep -qx 0 rc=0
contracts/OMN-15362.yaml dod-occ-evidence-admissibility-validator dod-15362-omniclaude1961-stamp-rb15391 gh api RAW 'omniclaude/contents/.github/workflows/verifier-stamp-reusable.yml?ref=7009244192111177d172825bb8374308797a0413' | grep -q 'name: Verifier Stamp (reusable)' rc=0
contracts/OMN-15362.yaml (same) (same) gh api RAW 'omniclaude/contents/.github/workflows/verifier-stamp-reusable.yml?ref=5703f123fe272a1214cca50d0fdd66e34180ed14' | grep -c 'name: Verifier Stamp (reusable)' | grep -qx 0 rc=0
contracts/OMN-15365.yaml dod-occ-evidence-admissibility-validator dod-15365-infra747-fenced-rb15391 gh api RAW 'omninode_infra/contents/docker/onex-api/workflow_contracts.py?ref=2af36af0fbd3e1c631495ea46c69b327081c7b2a' | grep -q 'declared but fenced' rc=0
contracts/OMN-15365.yaml (same) (same) gh api RAW 'omninode_infra/contents/docker/onex-api/workflow_contracts.py?ref=ba51bcd33cd59affd02d8458efcce741d8abc839' | grep -c 'declared but fenced' | grep -qx 0 rc=0
contracts/OMN-15366.yaml omn-15366-admissibility-engine-still-green dod-15366-infra749-digest-rb15391 gh api RAW 'omninode_infra/contents/k8s/onex-dev/runtime/kustomization.yaml?ref=a9ca9f4ab6403a76266bad681f38f17ad2917eb1' | grep -q 'sha256:48673cb7af04bc010b04eece5c5f6c8c71bbd5e004e99936fcec3508d95287b7' rc=0
contracts/OMN-15366.yaml (same) (same) gh api RAW 'omninode_infra/contents/k8s/onex-dev/runtime/kustomization.yaml?ref=93ed78dd496d6149fedddfcc4468df06c317a18a' | grep -c 'sha256:48673cb7af04bc010b04eece5c5f6c8c71bbd5e004e99936fcec3508d95287b7' | grep -qx 0 rc=0
contracts/OMN-15370.yaml dod-occ-evidence-admissibility-validator dod-15370-infra748-devhost-rb15391 gh api RAW 'omninode_infra/contents/k8s/onex-dev/omniweb/deployment.yaml?ref=93ed78dd496d6149fedddfcc4468df06c317a18a' | grep -q 'https://dev.api.omninode.ai' rc=0
contracts/OMN-15370.yaml (same) (same) gh api RAW 'omninode_infra/contents/k8s/onex-dev/omniweb/deployment.yaml?ref=2af36af0fbd3e1c631495ea46c69b327081c7b2a' | grep -c 'https://dev.api.omninode.ai' | grep -qx 0 rc=0
contracts/OMN-15375.yaml dod-occ-evidence-admissibility-validator dod-15375-infra752-noderole-rb15391 gh api RAW 'omninode_infra/contents/aws/cluster-dev/push_validation_bundles_s3.tf?ref=75632308916fb4b759d2a5bb0f1307379986995f' | grep -q 'CORRECTED UNDER OMN-15375' rc=0
contracts/OMN-15375.yaml (same) (same) gh api RAW 'omninode_infra/contents/aws/cluster-dev/push_validation_bundles_s3.tf?ref=ae400c5cd21b21fa9f3e962a2229dd7abf2f10d6' | grep -c 'CORRECTED UNDER OMN-15375' | grep -qx 0 rc=0
contracts/OMN-15376.yaml dod-occ-evidence-admissibility-validator dod-15376-infra2537-baselines-rb15391 gh api RAW 'omnibase_infra/contents/docker/migrations/forward/nodes/node_projection_baselines/0001_create_baselines_tables.sql?ref=78b8731103a019ea90eee3164b53e882a064fe34' | grep -q 'ALTER TABLE baselines_snapshots ADD COLUMN IF NOT EXISTS snapshot_id' rc=0
contracts/OMN-15376.yaml (same) (same) gh api RAW 'omnibase_infra/contents/docker/migrations/forward/nodes/node_projection_baselines/0001_create_baselines_tables.sql?ref=11b460db23d40dd2ca7704d0c3e9fd89851af60c' | grep -c 'ALTER TABLE baselines_snapshots ADD COLUMN IF NOT EXISTS snapshot_id' | grep -qx 0 rc=0
contracts/OMN-15353.yaml dod-infra760-ci-hosted-token-supersession dod-15353-infra760-scope-rb15391 gh api omninode_infra/pulls/760/files --paginate --jq '.[].filename' | sort | tr '\n' ',' | grep -qx 'docs/POST_DEPLOY_VERIFICATION.md,docs/SHIPPING_A_CHANGE.md,scripts/post-deploy-verify.sh,tests/scripts/test_post_deploy_verify_dashboard_auth_probe.py,' rc=0
contracts/OMN-15353.yaml dod-omn15353-redgreen-hosted-token-supersession dod-15353-infra760-redgreen-rb15391 gh api RAW 'omninode_infra/contents/tests/scripts/test_post_deploy_verify_dashboard_auth_probe.py?ref=c5e61311276829c7cf4fe5bb057713f6a35545bc' | grep -q 'def test_broken_shape_fails_closed' rc=0
contracts/OMN-15353.yaml (same) (same) gh api RAW 'omninode_infra/contents/tests/scripts/test_post_deploy_verify_dashboard_auth_probe.py?ref=aa72b333d6df90bf2b576cd70e2f163c5eedf7f4' | grep -c 'def test_broken_shape_fails_closed' | grep -qx 0 rc=0
contracts/OMN-15383.yaml dod-infra758-head-hosted-token-supersession dod-15383-infra758-guard-rb15391 gh api RAW 'omninode_infra/contents/scripts/repair-managed-postgres-ownership.sh?ref=3246e28ee14af41af8b844ddfa3b254e094d890b' | grep -q 'INCLUDE_PEER_OWNED' rc=0
contracts/OMN-15383.yaml (same) (same) gh api RAW 'omninode_infra/contents/scripts/repair-managed-postgres-ownership.sh?ref=a0639ce48e12b0c0be069d4053299e1b29e1121e' | grep -c 'INCLUDE_PEER_OWNED' | grep -qx 0 rc=0
contracts/OMN-15383.yaml dod-infra758-scope-hosted-token-supersession dod-15383-infra758-scope-rb15391 gh api omninode_infra/pulls/758/files --paginate --jq '.[].filename' | sort | tr '\n' ',' | grep -qx 'docs/rds-postgres-cutover.md,k8s/migrations/omnibase-infra-migrate.yaml,k8s/migrations/omniweb-migrate.yaml,scripts/repair-managed-postgres-ownership.sh,tests/scripts/test_omniweb_migration_schema_privilege.py,' rc=0
contracts/OMN-15383.yaml dod-omn-15383-red-green-hosted-token-supersession dod-15383-infra758-redgreen-rb15391 gh api RAW 'omninode_infra/contents/tests/scripts/test_omniweb_migration_schema_privilege.py?ref=3246e28ee14af41af8b844ddfa3b254e094d890b' | grep -q 'def test_the_fail_open_probe_is_gone' rc=0
contracts/OMN-15383.yaml (same) (same) gh api RAW 'omninode_infra/contents/tests/scripts/test_omniweb_migration_schema_privilege.py?ref=a0639ce48e12b0c0be069d4053299e1b29e1121e' | grep -c 'def test_the_fail_open_probe_is_gone' | grep -qx 0 rc=0
contract superseded item superseding item executed check result
contracts/OMN-14979.yaml occ-self-bind-pr-5408 occ-self-bind-5408-lit-rb15391 gh pr view 5408 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5408' | grep -qx true rc=0

Collateral repair (required to land, same idiom)

Touching these 11 contracts made pre-commit's lint-contract-check-values fire on 9 pre-existing
OMN-15382 Rule B (per-item PR-binding) violations
already inside them — items whose id pins a PR
number while their check_value is the bare ${PR_NUMBER} placeholder the runner pre-substitutes with
whatever PR it is evaluating. They are repaired by the same append-only idiom and removed from
.onex_ratchets/omn_15382_rule_b_baseline.yaml — the shrink direction that ratchet documents
("update the baseline file to match (shrink it) when you rebind a contract"). Baseline set-equality
holds: test_rule_a/b_corpus_matches_frozen_baseline_exactly pass.

contract superseded item superseding item executed check result
contracts/OMN-14979.yaml occ-self-bind-pr-5408 occ-self-bind-5408-lit-rb15391 gh pr view 5408 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5408' | grep -qx true rc=0
contracts/OMN-14980.yaml occ-self-bind-pr-5415 occ-self-bind-5415-lit-rb15391 gh pr view 5415 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5415' | grep -qx true rc=0
contracts/OMN-15299.yaml occ-self-bind-pr-5414 occ-self-bind-5414-lit-rb15391 gh pr view 5414 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5414' | grep -qx true rc=0
contracts/OMN-15362.yaml occ-self-bind-pr-5473 occ-self-bind-5473-lit-rb15391 gh pr view 5473 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5473' | grep -qx true rc=0
contracts/OMN-15365.yaml occ-self-bind-pr-5407 occ-self-bind-5407-lit-rb15391 gh pr view 5407 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5407' | grep -qx true rc=0
contracts/OMN-15366.yaml occ-self-bind-pr-5413 occ-self-bind-5413-lit-rb15391 gh pr view 5413 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5413' | grep -qx true rc=0
contracts/OMN-15370.yaml occ-self-bind-pr-5411 occ-self-bind-5411-lit-rb15391 gh pr view 5411 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5411' | grep -qx true rc=0
contracts/OMN-15375.yaml occ-self-bind-pr-5418 occ-self-bind-5418-lit-rb15391 gh pr view 5418 --repo OmniNode-ai/onex_change_control --json number --jq '.number == 5418' | grep -qx true rc=0
contracts/OMN-14979.yaml dod-OmniNode-ai-omnimarket-pr-1944-ci dod-14979-market1944-scope-rb15391 gh api omnimarket/pulls/1944/files --paginate --jq '.[].filename' | grep -qx 'src/omnimarket/nodes/node_push_validation_effect/models/model_push_validation_request.py' rc=0

Honest limits, stated rather than hidden

  1. Private-repo checks cannot run on the hosted OCC runner. 9 of the 11 contracts bind facts in
    OmniNode-ai/omninode_infra, which is private. These checks were executed here with a
    cross-repo-capable token (rc=0). Under OCC's hosted Contract Compliance job, whose GH_TOKEN is
    the repo-scoped github.token, the same endpoints return HTTP 404 and the checks go RED. That RED
    is fail-closed "cannot evaluate on this runner" — not a false claim about the product — and it
    is deliberately preferred to the surrogate's vacuous GREEN. This reverses the note left in
    contracts/OMN-15366.yaml ("Do not re-add that form"), which removed the only real probes to keep
    a check green; that removal is the exact defect OMN-15391 names. The runner-side fix (export a
    cross-repo token to the compliance step, as the same workflow already does for its checkout step)
    is not made here — it would put an unverifiable secret on the critical path of every OCC
    contract-compliance run. Each affected entry states this limit in its own description.
  2. Presence, not execution. Where the superseded prose narrated a test run (OMN-15353,
    OMN-15383 red/green items), the replacement binds the discriminating test's presence in the
    merged product tree
    and says so. No OCC contract check can re-execute a product repo's test
    suite; that run is the product PR's own CI.
  3. The 8 occ-self-bind-*-lit-rb15391 stamps are stamps. They are Rule-B-clean literal bindings,
    not product proof: admissible under the runner vocabulary, not under LIVE_PROBE_COMMANDS, and
    they do not count toward the substance floor. Their descriptions say this outright.

Deferred, precisely (15 of the 29 + the corpus drift)

items where why deferred
1 contracts/OMN-15382.yaml (dod-occ-evidence-admissibility-validator) Peer-owned: session fable-finish-0729 claimed OMN-15382 at 13:02Z and landed OCC#5458 on this file; excluded to avoid a competing companion.
1 contracts/OMN-14968.yaml (dod-occ-evidence-admissibility-validator) Same peer claim (OMN-15382's scope explicitly includes repairing contracts/OMN-14968.yaml); a dod_verify re-run for OMN-14968 was in flight at claim time.
3 contracts/OMN-15376.yaml Already repaired by OCC#5470 (lane R30b) — dod-omn-15376-execution-proof, -static-gate, -vendor-parity each already carry a supersession. The 4th, missed there, is repaired here.
11 (ticket-time) contracts/OMN-14974.yaml The autobind producer is actively appending to this contract: the ticket measured 11 occurrences at 15:27Z; a live scan at 18:30Z found 78. It is the highest-collision file in the corpus (the same producer collision already burned the peer lane mid-flight), and its items are private-repo omninode_infra claims, so repairing them re-raises limit (1) on the most PR-active contract in OCC. Repairing a moving target one PR at a time is churn; this belongs with the OMN-15391 mechanism work (ticket AC2/AC3: surrogate denylist + shrink-only ratchet), not with a hand-authored batch.

Live corpus drift for the record (scan at origin/dev 0f61da4, 2026-07-29): 97 occurrences of
the surrogate command across 14 contracts, up from the ticket's 29 across 13 — 78 of them in
contracts/OMN-14974.yaml, plus contracts/OMN-15362.yaml (1) which post-dates the ticket and is
repaired here
. After this PR: 0 unsuperseded surrogate items remain in the 11 contracts it touches.

Gates (run on .200 / stickybeatz-studio, per rule 11a)

Patch-transfer with sha256 verification: all 12 changed files verified byte-identical on .200
(shasum -a 256 -c → 12/12 OK) before any gate ran there; the branch was pushed from .200.

  • uv run pre-commit run --files <12 changed files> → all applicable hooks Passed (yamlfmt,
    validate-contract-yaml, lint-contract-check-values, substance floor, DoD-authoring hygiene,
    dod-evidence-required, normalization-symmetry, pin-parity).
  • uv run pytest tests/unit/scripts/test_lint_contract_check_values_corpus_baseline.py tests/unit/scripts/test_lint_contract_check_values.py tests/test_evidence_admissibility.py tests/test_evidence_admissibility_parity.py tests/test_dod_evidence_schema.py tests/test_check_contract_substance_floor.py tests/test_check_contract_dod_authoring.py tests/test_contract_compliance_check.py -q → 340 passed.

Ticket

OMN-15391 (contract repair scope only). Related: OMN-15390 (runner supersession — the flip
dependency), OMN-15382 (Rule A/B lints + baselines this PR shrinks), OMN-15376 / OMN-15366 /
OMN-15353 / OMN-15383 (contracts repaired), OMN-15309 (the predicate every new check was classified
against), OMN-14505 (the source predicate).

dod_evidence for OMN-15391 itself is the executed-and-recorded table above: 26 product checks +
9 collateral checks, every one run with a real exit code, falsifiability proven by mutation.
No ticket is flipped by this PR.


Addendum — commit 2 (contracts/OMN-15391.yaml)

The first push failed exactly two checks, both fail-closed and both for the same root cause:
occ-preflight / eligibility → {"reason":"missing_contract","missing_contracts":["OMN-15391"]}, and
verify / verify (Receipt Gate) downstream of it. This PR's own ticket had no contract in the pinned
OCC evidence, and the OMN-15334 self-companion guard correctly suppresses autobind for OCC PRs, so
the contract is authored in-PR (the same pattern OCC#5458 used for contracts/OMN-15382.yaml).

Its dod_evidence carries only public-repo checks — omnibase_infra#2537, omniclaude#1961,
omnimarket#1944 — each executed rc=0, ADMISSIBLE under both vocabularies, each with an absence
control at the merge commit's first parent. The private-repo omninode_infra checks are deliberately
not restated in this contract: the compliance runner executing it holds a repo-scoped token and would
report RED for an authorization reason rather than a product one. That limit is written into the
contract itself, not just here.

Self-authorship is a real limit and is named rather than hidden: the same lane authored the repair
and its contract. What that contract asserts, though, is not its own work — every check reads a
product repository at a pinned merge commit this lane did not write.

…end-only supersession

14 dod_evidence items across 11 OCC contracts carried a description that
narrates a product proof their command cannot produce: every one of them ran
`uv run pytest tests/test_evidence_admissibility.py -q`, which node_dod_verify
resolves into the OCC checkout and which runs OCC's own OMN-15309
admissibility-predicate suite (76 tests, ~0.1s). It passes identically whether
or not the fact it is filed under is true.

Repaired with the sanctioned append-only idiom (#4528,
`evidence_artifact: supersedes_dod_evidence:<id>`): originals are preserved
byte-for-byte (0 deletions in contracts/), each superseded by a new item whose
check binds the actual product fact at the merged commit, with a RED control at
the merge commit's first parent where one applies. All 26 new product checks
were EXECUTED (rc=0) and classify ADMISSIBLE under both the LIVE_PROBE and
LIVE_PROBE|EXECUTED_HERMETIC vocabularies; falsifiability proven by mutation
(marker, ref, and scope-list mutations each go RED).

Collateral (required to land): the 9 pre-existing OMN-15382 Rule B per-item
PR-binding violations inside the touched contracts are repaired by the same
idiom and removed from .onex_ratchets/omn_15382_rule_b_baseline.yaml — the
shrink-only direction the ratchet documents.

Contract repair only. Ticket flips wait on OMN-15390 (node_dod_verify has zero
contract-entry supersedes_dod_evidence handling, so the retired originals still
execute in its tally).

Refs: OMN-15391, OMN-15390, OMN-15382, OMN-15376, OMN-15309
@coderabbitai

coderabbitai Bot commented Jul 29, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 21 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0687c556-d530-4d51-b031-77176f552eee

📥 Commits

Reviewing files that changed from the base of the PR and between 0f61da4 and cd48d4e.

📒 Files selected for processing (16)
  • .onex_ratchets/omn_15382_rule_b_baseline.yaml
  • contracts/OMN-14979.yaml
  • contracts/OMN-14980.yaml
  • contracts/OMN-15299.yaml
  • contracts/OMN-15353.yaml
  • contracts/OMN-15362.yaml
  • contracts/OMN-15365.yaml
  • contracts/OMN-15366.yaml
  • contracts/OMN-15370.yaml
  • contracts/OMN-15375.yaml
  • contracts/OMN-15376.yaml
  • contracts/OMN-15383.yaml
  • contracts/OMN-15391.yaml
  • drift/dod_receipts/OMN-15391/dod-15391-infra2537-baselines-bound/command.yaml
  • drift/dod_receipts/OMN-15391/dod-15391-market1944-scope-bound/command.yaml
  • drift/dod_receipts/OMN-15391/dod-15391-omniclaude1961-bound/command.yaml

Comment @coderabbitai help to get the list of available commands.

…flight eligibility)

occ-preflight/eligibility failed closed with reason=missing_contract,
missing_contracts=["OMN-15391"], and the Receipt Gate failed for the same
reason: this PR's own ticket had no contract in the pinned OCC evidence. The
self-companion guard (OMN-15334) correctly suppresses autobind for OCC PRs, so
the contract is authored here.

Its dod_evidence carries only PUBLIC-repo checks (omnibase_infra#2537,
omniclaude#1961, omnimarket#1944), each executed rc=0 and ADMISSIBLE under both
predicate vocabularies, with an absence control at the merge commit's first
parent. The private-repo omninode_infra checks are deliberately NOT restated
here: they 404 under the compliance runner's repo-scoped github.token, and a
check that cannot evaluate on the runner executing this contract would report
RED for an authorization reason rather than a product one. That limit is stated
in the contract itself.

Refs: OMN-15391
@jonahgabriel
jonahgabriel force-pushed the jonah/omn-15391-retire-narrative-evidence branch from ce7beb6 to cd48d4e Compare July 29, 2026 19:02
@jonahgabriel
jonahgabriel merged commit 7a6e996 into dev Jul 29, 2026
58 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-15391-retire-narrative-evidence branch July 29, 2026 19:10
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