Skip to content

evidence(OMN-15637): append-only OCC companion for omninode_infra#795 head binding - #5894

Merged
jonahgabriel merged 1 commit into
devfrom
jonah/omn-15637-occ-companion-pr795
Aug 1, 2026
Merged

jonahgabriel merged 1 commit into
devfrom
jonah/omn-15637-occ-companion-pr795

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

OMN-15637 — discriminating head binding for omninode_infra#795

Net-new, append-only evidence companion binding OMN-15637 to omninode_infra PR #795
(head e5a1929b7dc11dd7da8575d224286f04b3894dbb, base dev).

Three files, all add-only. 112 insertions, 0 deletions. No merged receipt edited, no supersession
record minted, no .supersede.*.yaml in this diff.

Scope changed mid-flight — read this first

This PR was opened as the replacement for the hard-red autobind companion OCC#5889. While it was
being authored, #5889 was hand-repaired to an append-only diff and merged as dd8002664, and
#795 went CLEAN on all four required contexts. So this PR is no longer unblocking anything —
it is now a strictly additive upgrade of already-merged evidence, and it is kept for one reason:

The evidence that merged for #795 does not actually bind anything.

dod-OmniNode-ai-omninode_infra-pr-795, as merged by #5889, checks:

gh pr view 795 --repo OmniNode-ai/omninode_infra --json number,state
gh pr view 795 --repo OmniNode-ai/omninode_infra --json files

That is the OMN-14443 vacuous class: both pass whenever the PR merely exists, regardless of head
OID, base branch, or the outcome being claimed. occ-self-bind-pr-5889 and the earlier
occ-self-bind-pr-5880 carry the same shape. Nothing in the merged evidence ties OMN-15637 to the
tree #795 actually pins — and #795 is the PR that moves the onex-dev runtime + migrate images from
omnibase_infra d42cbe70 to 72d27efa, 29 merged-but-undeployed commits, including the
OMN-15621 strict boot-time wiring bijection restore.

This PR strengthens that merged item rather than superseding it — the OMN-15459 repair primitive
is a stronger net-new sibling, never a rewrite.

The two probes are discriminating, and distinct from each other

Head binding for the product PR (compound headRefOid + baseRefName):

bind="$(gh pr view 795 --repo OmniNode-ai/omninode_infra --json headRefOid,baseRefName --jq '.headRefOid + " " + .baseRefName')" && test "$bind" = "e5a1929b7dc11dd7da8575d224286f04b3894dbb dev"

Self-bind for this companion (compound number + headRefName):

bind="$(gh pr view 5894 --repo OmniNode-ai/onex_change_control --json number,headRefName --jq '(.number|tostring) + " " + .headRefName')" && test "$bind" = "5894 jonah/omn-15637-occ-companion-pr795"

A re-pushed head, a retargeted base, or a different PR each yield a mismatch. The two check_values
target different repos and different fields, so the OMN-15459 S1 distinctness property holds by
construction
, not by convention.

Both were run live before minting; each receipt's probe_stdout is the real captured output:

$ gh pr view 795 --repo OmniNode-ai/omninode_infra --json headRefOid,baseRefName --jq '.headRefOid + " " + .baseRefName'
e5a1929b7dc11dd7da8575d224286f04b3894dbb dev

These are binding items, not correctness claims. #795's substantive proof is its own verification
matrix, in that PR's body: tests/k8s 288 passed / 2 skipped, pre-commit green, kubectl kustomize
rendering exactly one distinct digest across 10 image references, and both pinned digests
dual-read from the GHA push receipts (30718901467, 30718906707) and an independent
aws ecr describe-images against the live registry.

What #5889 did wrong (recorded here because it is a live producer bug, not a one-off)

Trigger is falsifiable: the regression fires on the 2nd autobind companion per ticket, never the
1st. OMN-15637 already had OCC#5880 merged 27 minutes earlier.

Gate Failure Job Producer bug
OCC Append-Only Gate mutated the merged receipt drift/dod_receipts/OMN-15637/dod-occ-evidence-admissibility-validator/command.yaml (M, 7+/7−) 91420368934 OMN-15485
Supersession Binding Ratchet (OMN-15459) three command.supersede.795.yaml records over three DISTINCT evidence items, all sharing one generic gh pr view 795 … replacement.check_value — S1 + S2 violated on all three 91420369014 / 91420414597 OMN-15477

Both were cleared by hand-stripping the supersede files and reverting the merged-receipt edit before
#5889 merged; the vacuous-probe defect was not, which is what this PR addresses.

Authorship disclosure

Authored by session fable-drain-0801's OPUS repair lane, which did not implement PR #795 —
the implementer must not author their own companion (feedback_no_self_authored_evidence), and the
Self-companion guard (OMN-15334) is satisfied.

Gates

Full pre-commit hook chain ran clean in-worktree on commit — all Passed/Skipped, including
Receipt Honesty Gate (OMN-12791), Contract Substance Floor (OMN-14409), Receipt Hardening Gate (OMN-13060 / retro A-5 / OMN-15459), Evidence-Commit SHA Existence Gate (OMN-15111), Validate ticket contract YAML (OMN-8808), yamlfmt contamination ratchet (OMN-15479), and
normalization-symmetry.

Rule 11a exception, stated: gates ran on this Mac rather than .200. Reason — this is a
two-receipt YAML-only companion with no Python/test-suite gate path (the entire local gate surface is
the pre-commit hook chain, which completed in seconds and is re-run unconditionally by CI as
Pre-commit), and it was authored against a blocked critical-path PR. No heavy or contended gate run
was skipped or narrowed.

Contract bytes were stabilized before hashing (yamlfmt reflows contract YAML on first commit, per
this repo's CLAUDE.md): hooks were run to fixpoint, then contract_sha256 /
contract_entry_sha256 were computed with omnibase_core.validation.validator_receipt_gate against
the post-reflow bytes. Appending these items leaves every prior entry's contract_entry_sha256
untouched (OMN-13888 / OMN-14411 per-entry hash model), so all merged receipts on this ticket stay
valid.

Evidence-Source

Evidence-Source: this PR (in-repo OCC companion; OCC PRs validate contracts + receipts from their own
in-tree checkout, invariant I3)
Evidence-Ticket: OMN-15637

OMN-15637

@coderabbitai

coderabbitai Bot commented Aug 1, 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: 11 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: ff6c671a-621c-49f2-821b-b75da72355e0

📥 Commits

Reviewing files that changed from the base of the PR and between 7e78b7e and b4fee35.

📒 Files selected for processing (3)
  • contracts/OMN-15637.yaml
  • drift/dod_receipts/OMN-15637/dod-omn15637-infra-pr-795-head-binding/command.yaml
  • drift/dod_receipts/OMN-15637/occ-self-bind-pr-5894/command.yaml

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

@jonahgabriel
jonahgabriel enabled auto-merge (squash) August 1, 2026 21:57
Appends two dod_evidence items and their receipts. Zero deletions, no merged
receipt edited, no supersession record minted.

- dod-omn15637-infra-pr-795-head-binding: asserts omninode_infra #795's
  headRefOid AND baseRefName together in one equality
  (e5a1929b7dc11dd7da8575d224286f04b3894dbb / dev).
- occ-self-bind-pr-5894: asserts this companion's number AND head branch
  together. Different repo, different fields -> distinct from the item above by
  construction (OMN-15459 S1).

This STRENGTHENS rather than supersedes the dod-OmniNode-ai-omninode_infra-pr-795
item merged by OCC#5889 (dd80026). That item's probes are
`gh pr view 795 --json number,state` and `--json files` - the OMN-14443 vacuous
class, which passes whenever the PR merely exists regardless of head, base, or
the outcome claimed. Nothing in the merged evidence binds OMN-15637 to the tree
#795 actually pins.

Authored by session fable-drain-0801's OPUS repair lane, which did not implement
#795 (Self-companion guard OMN-15334 / no-self-authored-evidence).

OMN-15637
@jonahgabriel
jonahgabriel force-pushed the jonah/omn-15637-occ-companion-pr795 branch from 3aa7430 to b4fee35 Compare August 1, 2026 22:00
@jonahgabriel
jonahgabriel merged commit 55992cc into dev Aug 1, 2026
66 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-15637-occ-companion-pr795 branch August 1, 2026 22:05
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