Repository navigation
fix(OMN-18978): name the stage cancelled by the delegation budget - #3390
Conversation
|
| Rule | Description |
|---|---|
| ARCH-TOPIC-001 | No hardcoded Kafka topic strings in handler code |
| ARCH-DI-001 | No event_bus=None bypass |
| ARCH-DI-002 | No direct Handler instantiation outside workflow_runner/adapters |
| ARCH-DI-003 | No reinvented DI containers |
| ARCH-TOPIC-002 | contract.yaml topics follow `onex.{cmd |
ARCH-DI-002: Direct Handler instantiation (warning)\n\n```\nsrc/omnimarket/nodes/node_delegate_skill_orchestrator/ports/port_local_delegation_dispatch.py:976: self._effect_handler = effect_handler or HandlerLlmDelegationCall()
src/omnimarket/nodes/node_delegate_skill_orchestrator/ports/port_local_delegation_dispatch.py:977: self._projection_handler = projection_handler or HandlerProjectionDelegation(
src/omnimarket/nodes/node_delegate_skill_orchestrator/ports/port_local_delegation_dispatch.py:3367: HandlerProjectionLlmCost().project(call_event, self._evidence_db)\n```\n\nHandler classes should be wired only in workflow_runner.py or adapter modules. Direct instantiation elsewhere bypasses the contract system.\n\n
Static architectural lint — no model inference (OMN-14176).
✅ Hostile Reviewer — PASSEDBlocking findings (critical/error): 0 Gate semantics
Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8524) |
…nimarket#3390 The declared checks were executed for real in the OmniNode-ai/omnimarket checkout at the PR head by the product-repo OCC receipt runner, and the results written append-only into this companion. Producer-minted PENDING receipts are superseded by a net-new record; no existing receipt was edited. Ticket: OMN-16859 (AC3b) Onex-Workflow: OCC Receipt Runner Onex-Run: https://github.com/OmniNode-ai/omnimarket/actions/runs/37239568135
) * evidence(OMN-18978): author OCC companion for OmniNode-ai/omnimarket#3390 OCC companion by node_pr_lifecycle_fix_effect (OMN-13317 F1 / OMN-13990 / OMN-14285). Product PR head 3946c1598ca1e08c2412712c39b4926e1ce362b9. * evidence(OMN-18978): self-bind OCC#12840 + rebind contract_sha256 * evidence(OMN-16859): executed test_passes receipts for OmniNode-ai/omnimarket#3390 The declared checks were executed for real in the OmniNode-ai/omnimarket checkout at the PR head by the product-repo OCC receipt runner, and the results written append-only into this companion. Producer-minted PENDING receipts are superseded by a net-new record; no existing receipt was edited. Ticket: OMN-16859 (AC3b) Onex-Workflow: OCC Receipt Runner Onex-Run: https://github.com/OmniNode-ai/omnimarket/actions/runs/37239568135 --------- Co-authored-by: omnimarket-bot <bot@omninode.ai> Co-authored-by: onexbot-occ-writer[bot] <307849072+onexbot-occ-writer[bot]@users.noreply.github.com>
The check "repo-evidence / dod-verify" on omnimarket PR #3390 at head 06e7efe failed due to the missing contracts/OMN-18978.yaml. This failure also caused Repo Evidence Dependency, Coverage Sweep Gate, and CI Summary to fail. This commit adds contracts/OMN-18978.yaml with one acceptance AC3 and one dod_evidence item, dod-timeout-stage-ac3. The dod_evidence item includes a test_passes check running tests/unit/nodes/node_delegate_skill_orchestrator/test_timeout_stage_omn18978.py.
…-row The branch sat on #3368's head d7153cf, 21 commits behind dev. Dev changed port_local_delegation_dispatch.py (#3390, #3382) and the projection read handler (#3364, #3363), both of which this change uses; the merge is textually clean, and the metering, dispatch and projection-read suites were re-run on the merged tree. #3368 is still unmerged, so its six files stay on this branch unchanged.
The live OMN-18978 ticket corrects the original diagnosis: “The real cause is a duplicated rule name that made the terminal itself unconstructible.” AC1, AC2, and AC4 are already checked off; this change addresses the remaining AC3 by naming the observed stage when the handler budget cancels dispatch.
Request-local typed progress follows the handler's child task through bus subscription, publication, terminal waiting and cleanup, and through local child boot, inference and quality-gate evaluation. The innermost cancelled stage survives cleanup and appears in the existing timeout error message. Concurrent requests keep separate progress, and the context resets after dispatch. The bus path reports the caller's observed stage without inferring the remote workflow's stage. Budgets and the accepting path are preserved.
Validation on h201, head
3946c1598ca1e08c2412712c39b4926e1ce362b9, exit 0:test_timeout_stage_omn18978.py: 9 passed, including concurrent cancellations, cleanup preservation, local boot/inference/gate cancellation, and accepting control. Before the boot case was added, the regression file produced 7 failures and 1 passing control against unchanged production code.test_handler_delegate_skill_budget_omn15504.py: 13 passed.PR/CI state at the last permitted read:
unreadable-from-snapshot. The watcher copy's tick,2026-10-04T21:52:42Z, is outside its eight-minute freshness limit. No deployment or ticket-status change was performed. The launching host owns the landing-controller handoff after this remote lane ends.Text drafting: deployed delegation run
c23ef03c-ec2b-4d04-a3e7-2ab5e61bf884returnedprovider_quota_exhaustedwith no draft and was disposed asignored/engine_failed. GLM drafting was routed through lab placement: bus placement exited 69 because its dispatch environment was unavailable; the required SSH fallback selected h200. The final placed attempt at the pushed head above exited 20 because the host could not writeFETCH_HEADon its read-only filesystem. No GLM answer was produced; the lane wrote this body from the verified facts.Evidence-Ticket: OMN-18978
Evidence-Source: OCC#12840