Skip to content

evidence(OMN-15379): OCC companion for omnibase_infra#2540 — lane-scoped fence release (ruling 15) - #5469

Merged
jonahgabriel merged 5 commits into
devfrom
jonah/omn-15379-occ-companion
Jul 29, 2026
Merged

jonahgabriel merged 5 commits into
devfrom
jonah/omn-15379-occ-companion

Conversation

@jonahgabriel

Copy link
Copy Markdown
Contributor

OCC companion for OmniNode-ai/omnibase_infra#2540 (operator ruling 15 — lane-scoped node-migration fence release, lab lane is the FORCE proving ground).

Net-new file only: contracts/OMN-15379.yaml. No Done flip.

Why this is hand-authored

The machine producer is stranded, not bypassed. occ-companion-effect / Publish occ-companion-effect command reported SUCCESS on #2540, but live readback of the .201 dev broker shows:

onex.cmd.omnimarket.occ-companion-effect-requested.v1   HIGH-WATERMARK 25
rpk group list                                          (empty — ZERO consumer groups)

25 companion commands published, none ever consumed. The consuming runtime is down — and it is down because of exactly the cold-bring-up failure #2540 fixes (0000 fenced, 0002 unfenced → relation "node_service_registry" does not exist → forward-migration exit 3). That circularity is why this companion is hand-authored. It is an instance of the OMN-15247 orphaned-mint class and is flagged as such, not papered over.

Every check_value was executed before commit

Round-tripped out of the committed YAML and run — not shape-only declarations. This caught two real defects in my own evidence, both fixed before commit:

item result note
dod-deploy-fence-parity-seven-ids exit 0 head SHA → 2 matches; origin/dev → 0. RED proven against the pre-change artifact.
dod-deploy-lane-indicator-not-in-base-compose exit 0 base compose → 0; dev-lane overlay → 2. Discriminates — not a file-presence check.
dod-deploy-force-rls-live-on-lab-lane exit 1 DECLARED acceptance, NOT satisfied. Lane is cold.
dod-deploy-non-dev-lanes-unchanged exit 0 asserts baseline 060, not zero.

Defect 1 caught: the FORCE probe was inadmissible as first written

The original used nested quotes that the local shell consumed before ssh, so the remote got a syntax error — it could never have gone GREEN, and its RED would have been vacuous. It also compared against t when boolean::text renders true. Rewritten and admissibility proven in both directions: the identical probe pointed at omnibase-infra-stability-test-postgres, where node_service_registry is forced, exits 0; against the cold dev lane it exits 1. So the current RED is a real state fact. Exact-match grep, so RLS-enabled-but-not-FORCED also reads RED — falsifiable against exists-but-wrong, not merely against absent.

Defect 2 caught: my blast-radius baseline was a false clean

The first capture rendered booleans via boolean || text (→ true/false) while the summary grepped for |t$, so it reported forced=0 on all three lanes. Re-read directly, the truth is:

prod             35 tables, 0 forced
stability-test   58 tables, 6 forced   <- delegation_budget_state, delegation_events,
                                          delegation_judge_verdict_events, node_service_registry,
                                          projection_delegation_inference_response_text, savings_estimates
judge            55 tables, 0 forced

Those six are the pre-existing OMN-15336 breach, deliberately not rolled back here (that disposition is OMN-15088). So the probe asserts the posture is UNCHANGED (060), not zero — a zero-expectation probe would have gone RED for a condition #2540 did not cause. RED control: a 000 expectation exits 1. Fail-closed by construction — an ssh failure yields an empty capture, which does not equal 060.

Deliberately not done

No Done flip, no status change, no receipt authored, no supersession (this is a net-new contract, not a rebind), and no change to the omninode_infra k8s staging fence.

@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: 51 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: 294e31b0-0438-4ba0-86a1-f4d468b37444

📥 Commits

Reviewing files that changed from the base of the PR and between a31b563 and a91ead3.

📒 Files selected for processing (6)
  • contracts/OMN-15379.yaml
  • drift/dod_receipts/OMN-15379/dod-OmniNode-ai-omnibase_infra-pr-2540/command.yaml
  • drift/dod_receipts/OMN-15379/dod-deploy-fence-parity-seven-ids/command.yaml
  • drift/dod_receipts/OMN-15379/dod-deploy-lane-indicator-not-in-base-compose/command.yaml
  • drift/dod_receipts/OMN-15379/occ-self-bind-pr-5469-r2/command.yaml
  • drift/dod_receipts/OMN-15379/occ-self-bind-pr-5469/command.yaml

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

@jonahgabriel
jonahgabriel force-pushed the jonah/omn-15379-occ-companion branch from 75ebf50 to 9205e4e Compare July 29, 2026 15:39
Hand-authored because the machine mint is STRANDED, not bypassed: the
occ-companion-effect publisher SUCCEEDED on #2540, but live readback of the
.201 dev broker shows onex.cmd.omnimarket.occ-companion-effect-requested.v1 at
HIGH-WATERMARK 25 with ZERO consumer groups. The consuming runtime is down, and
it is down because of the cold-bring-up failure #2540 fixes. OMN-15247 class.

Five dod_evidence items. Every check_value was round-tripped out of the YAML
and EXECUTED before this commit; none is a shape-only declaration.

  fence carries registration 0002 (pinned head SHA): head 2 / origin-dev 0
    -> RED proven against the pre-change artifact
  indicator absent from base compose: base 0 / dev-lane overlay 2
    -> discriminates; it is not a file-presence check
  FORCE RLS live on the lab lane: exit 1 (table absent, cold lane)
    -> DECLARED acceptance, NOT satisfied. Admissibility proven both ways:
       the identical probe against stability-test, where node_service_registry
       IS forced, exits 0. So the RED is a state fact, not a broken command.
  non-dev lanes unchanged: exit 0 against the true baseline 060
    -> asserts UNCHANGED, not zero. stability-test's six forced tables are the
       pre-existing OMN-15336 breach, deliberately not rolled back here; a
       zero-expectation probe would go RED for a condition this PR did not
       cause. A 000 expectation exits 1 (RED control).

No Done flip. Net-new file only.
…e-free

Three gates fired and all three were right; this commit obeys them rather than
working around them.

OMN-14051 (hermeticity): two check_values invoked ssh. A CI runner has no ssh
and no route to .201, so they could never pass there. Both removed.

OMN-12791 (receipt honesty) + OMN-13060 (receipt hardening): the sanctioned
substitute for a live probe is a committed receipt that the contract greps. I
wrote one - and the gates correctly rejected it: SELF_ATTESTATION, because
runner and verifier were the same single lane, and missing contract_entry_sha256
because receipts must be tool-generated. Inventing a second verifier identity or
hand-forging the hash would be exactly the self-authored evidence those gates
exist to stop, so the receipt is deleted, not patched.

What remains are three items, all hermetic, all executed before commit, none
reading anything this PR authors:
  - PR bind for omnibase_infra#2540
  - fence carries registration 0002 at the pinned head SHA (head 2 / dev 0)
  - lane indicator absent from the base compose (base 0 / dev overlay 2)

The two live measurements are now recorded as PROSE OBSERVATIONS in the
contract summary, not as evidence claims:
  - blast radius 0/6/0 (prod/stability-test/judge), unchanged from baseline
  - the ruling-15 FORCE readback, NOT yet satisfied (lab lane is cold)
Both land as append-only dod_evidence with tool-generated, independently
verified receipts once the lab bring-up is done.
@jonahgabriel
jonahgabriel force-pushed the jonah/omn-15379-occ-companion branch from 9205e4e to 2c100dc Compare July 29, 2026 15:43
@jonahgabriel
jonahgabriel merged commit 91d24ab into dev Jul 29, 2026
58 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-15379-occ-companion branch July 29, 2026 15:51
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