Repository navigation
feat(OMN-15169): steel dispatch golden chain — topic to event_ledger row - #2484
Conversation
Infra-side golden-chain fixture + live-runtime test (pattern B) proving topic -> dispatch -> event_ledger row for onex.evt.steel-onslaught.match- terminal.v1 on the stability-test lane, scoped to what omnibase_infra can own (hostile finding #1 — does not claim steel-side coverage). Includes the OMN-15002-precedent negative case as durable, structured evidence: event_ledger held zero rows for this topic while the deployed stability-test contract predated the OMN-15168 paired allowlist diff, even though the topic already carried 14 real events (offsets 0-13) from steel's own OMN-15170 live-driver runs. A sanctioned stability-lane warm refresh (refresh_stability_lane.sh --ref origin/dev --execute) was run this session; its health-gate passed and the deployed contract now includes the steel topic. The live positive assertion still fails against current infra — filed as OMN-15215 (node_ledger_ projection_compute never attaches a live consumer group for this topic, or any of the 18 other topics added since OMN-15006, on the stability-test lane) — the test is written to the correct, intended behavior and will pass once that clears.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 55 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
| Verdict | Meaning | Blocks merge? |
|---|---|---|
passed |
No critical findings | No |
blocked |
CRITICAL findings found | Yes |
degraded |
All models unavailable (infra) | No (pilot) |
Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8468/OMN-8524)
…ibase_infra#2484 (#5046) * evidence(OMN-15169): author OCC companion for OmniNode-ai/omnibase_infra#2484 OCC companion by node_pr_lifecycle_fix_effect (OMN-13317 F1 / OMN-13990 / OMN-14285). Product PR head 34515aa4f17b8de7a55c007b98ae47d9e7541dec. * evidence(OMN-15169): self-bind OCC#5046 + rebind contract_sha256 --------- Co-authored-by: omnimarket-bot <bot@omninode.ai>
Summary
Infra-side golden chain:
onex.evt.steel-onslaught.match-terminal.v1→ dispatch →event_ledgerrow, on the stability-test lane. Scoped to whatomnibase_infraowns (hostile finding #1 — does not claim steel-side coverage; the steel-side driver test issteel_onslaught/tests/live/test_omn15170_live_driver.py, OMN-15170, which already passed live 2026-07-26: correlation_idad230e9e-b336-4599-b870-f6746033be47, consumed back at offset 5).tests/fixtures/golden_chains/steel_dispatch_ledger_success.json— checkpoint spec (pattern fromdynamic_registration_success.json).tests/fixtures/golden_chains/steel_dispatch_ledger_negative_evidence.json— structured, durable record of the OMN-15002-precedent negative case (see below).tests/integration/runtime/test_steel_dispatch_golden_chain_live_runtime.py— pattern-B live-runtime test (test_golden_chain_live_runtime.pystyle): negative-case evidence-consistency check (no live infra needed) + a live positive case that publishes a synthetic event with a mintedcorrelation_idto real stability-test Kafka and asserts a realevent_ledgerrow via direct SQL (never bare "producer.flush() succeeded").Deployed-contract preflight (this ticket, live, 2026-07-26)
The DEPLOYED
node_ledger_projection_computecontract on the stability-test lane predated PR #2469 (OMN-15168's pairedsubscribe_topics+handler_routingdiff):Natural-experiment proof (the steel topic already carried 14 real events — offsets 0-13, from steel's own OMN-15170 live-driver runs — while this old contract ran):
This is the OMN-15002-class allowlist-gate proof (zero rows ≠ automatic dispatch), recorded durably in
tests/fixtures/golden_chains/steel_dispatch_ledger_negative_evidence.jsonand asserted self-consistent byTestSteelDispatchGoldenChainNegativeCase(passes without live infra).Refresh action taken
Ran the sanctioned, pre-authorized, restart-scoped stability-lane warm refresh, per
omnibase_infra/scripts/runtime_build/refresh_stability_lane.sh(health-gated, rollback-on-failure; recreates onlyomninode-runtime/runtime-effects/runtime-worker/projection-api):Post-refresh contract re-verified to include the steel topic (comment +
subscribe_topics+handler_routingentry, 3 matches viagrep -c).Positive case: BLOCKED (new issue filed, not this PR's scope)
Two independent synthetic publishes to the real topic (one before, one after an additional targeted restart of just
omninode-stability-test-runtimeto rule out a cold-start race — the first boot logged aNOT-READY: topic metadata did not convergeskip, the second did not) each got confirmed Kafka delivery but zeroevent_ledgerrows within a 60s poll.rpk group listshows zero live consumer groups fornode_ledger_projection_computeon the steel topic or any of the 18 other topics added since OMN-15006 (ruling out an OMN-15168-specific cause — other nodes' consumers on those same topics, e.g.node_build_loop_write_effect,node_dlq_replay_effect, showStablegroups, so this is scoped tonode_ledger_projection_computespecifically).Filed as OMN-15215 (blocks OMN-15169): https://linear.app/omninode/issue/OMN-15215
test_golden_chain_positive_topic_to_ledger_rowis written to the correct, intended behavior. Run live today it correctly FAILS (not skipped) with a message citing OMN-15215:It is
pytest.mark.skipif-gated on live reachability (Kafka TCP + aSTABILITY_TEST_POSTGRES_DSNenv var), so it skips structurally in CI (no route to the private.201/Tailscale network) — same pattern as the existingtest_golden_chain_live_runtime.py. It is expected to pass once OMN-15215 clears; no code change in this PR can make it pass sooner (the gap is in the deployed runtime's dispatch wiring for this contract, not in this PR's contract/test).CI state (occ-separated)
.200):ruff check/ruff format --check/ SPDX header check / fullpre-commit runon changed files — all green.mypynot run ontests/(matches repo convention: CI only runsuv run mypy src/omnibase_infra; the existingtest_golden_chain_live_runtime.pyprecedent file also fails strict mypy on the same generic-dictclass of finding).--auto/draft state.Not in scope for this PR
Fixing OMN-15215 itself (the runtime dispatch-attach defect) — that's real infra/runtime work, independently ticketed and blocking this ticket's positive leg, not something a test-only PR should silently absorb.
Evidence-Ticket: OMN-15169
Evidence-Source: OCC#5046
Evidence-Commit: eb91a9e6ccae6fa0c02f255aac2064e71c115201