Repository navigation
fix(OMN-12637): repoint ship_dirty_canonical skill to working in-process dispatch - #1723
Conversation
…ess dispatch
The /onex:ship_dirty_canonical SKILL.md documented dispatch via
`uv run onex run-node node_dirty_canonical_sweep --input "${INPUT_JSON}"`,
which never resolves:
- `onex run-node` (omnibase_core) dispatches over Kafka and waits for a
terminal event; node_dirty_canonical_sweep has no live bus consumer, so it
fails with SkillRoutingError "Timeout after 30s waiting for response".
- The local `onex node`/`onex run` alias is pinned to --project omnibase_infra,
whose installed omnimarket dist metadata does not register the node's
onex.nodes entry point -> "Unknown node".
- `--input` is a file path on every onex CLI, not a JSON string.
The handler is fully synchronous in-process git/gh subprocess work and runs
correctly via its packaged module entrypoint
`python -m omnimarket.nodes.node_dirty_canonical_sweep` (argparse flags).
Repoint the Dispatch section to that working entrypoint (Option B in the
ticket), remove the dead Kafka/JSON instructions, and correct the misleading
dispatch-only/routing-enforced framing (this skill runs an in-process node, not
a bus dispatch). No handler dirty-file logic touched (owned by OMN-12635/12636).
Adds tests/unit/skills/test_ship_dirty_canonical_dispatch.py asserting the
documented surface uses the working entrypoint and forbids the dead path
(TDD: failed against the prior SKILL.md, passes after the fix).
|
Warning Review limit reached
More reviews will be available in 19 minutes and 44 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ 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/error findings | No |
blocked |
CRITICAL or ERROR findings found | Yes |
degraded |
All models unavailable (infra) | No (pilot) |
Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8524)
validate-pr-contracts (Layer 1 gate) requires contracts/OMN-12637.yaml in the omniclaude repo with non-empty dod_evidence. Mirrors the OMN-7466 contract style; docs/test-only change, backing handler logic untouched (OMN-12635/12636).
Summary
Fixes the dead
onex run-node node_dirty_canonical_sweepdispatch path documented in the/onex:ship_dirty_canonicalskill (OMN-12637, epic OMN-7466).The SKILL.md "## Dispatch" section documented a Kafka
onex run-node ... --input "${INPUT_JSON}"invocation that never resolves:onex run-node(omnibase_core) dispatches over Kafka and waits for a terminal event. The node has no live bus consumer ->SkillRoutingError "Timeout after 30s waiting for response".onex node/onex runalias is pinned to--project omnibase_infra, whose installed omnimarket distribution metadata does not register the node'sonex.nodesentry point ->Unknown node.--inputis a file path on every onex CLI, not a JSON string.The backing handler is fully synchronous in-process
git/ghsubprocess work and needs no bus. The only working path is the packaged module entrypointpython -m omnimarket.nodes.node_dirty_canonical_sweep(argparse flags).Fix (Option B in the ticket)
onex run-node+ JSON--inputinstructions.No backing-node handler dirty-file logic touched (owned by the sibling handler-fix PRs). This PR changes only the skill markdown and a new test.
Tests (TDD)
Added
tests/unit/skills/test_ship_dirty_canonical_dispatch.py(asserts the documented entrypoint is present, forbids the dead Kafka path, forbids the JSON--inputform). Red: 3 of 4 failed against the prior SKILL.md. Green: all 4 pass after the fix.dod_evidence (OMN-12637)
Evidence-Source: OCC#2120
Evidence-Ticket: OMN-12637
Verified from the omni_home repo root on 2026-06-03 (acceptance #1/#2 — documented command runs and returns valid
ModelDirtyCanonicalSweepResult):uv run pytest tests/ -m "not integration"(no-k): 11018 passed; 3 pre-existing failures unrelated to this change (tests/delegation/test_runner.pybifrost_delegation.yaml GEMINI_API_KEY drift;tests/hooks/test_sweep_preflight.py) — neither file touched (git diff origin/dev= SKILL.md + new test only).Central OCC evidence: OmniNode-ai/onex_change_control PR #2120 (
contracts/OMN-12637.yaml+drift/dod_receipts/OMN-12637/...).Ticket: OMN-12637. Epic: OMN-7466.