Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions contracts/OMN-12809.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-12809"
title: "Retire /api/dispatch + node_dispatch_request_handler (router-hop anti-pattern)"
summary: >-
Removes the generic /api/dispatch endpoint (omnidash) and node_dispatch_request_handler node (omnimarket)
identified as the router-hop anti-pattern in audit F3 (docs/audits/2026-06-07-demo-path-contract-native-audit.md).
Migrates all UI callers (DispatchButton, CommandPalette) to the canonical /api/renderer/emit thin-publisher
path. #magic___^_^___line
is_seam_ticket: false
interface_change: true
interfaces_touched:
- "topics"
- "public_api"

evidence_requirements:
- kind: ci
description: "omnimarket PR #1485 all checks pass"
command: "gh pr checks 1485 --repo OmniNode-ai/omnimarket"
- kind: ci
description: "omnidash PR #245 all checks pass"
command: "gh pr checks 245 --repo OmniNode-ai/omnidash"

emergency_bypass:
enabled: false
justification: ""
follow_up_ticket_id: ""

dod_evidence:
- id: "dod-001"
description: >-
omnimarket: node_dispatch_request_handler directory deleted, entry-point removed from pyproject.toml,
all 4618 unit tests pass, ruff/mypy/pre-commit clean.
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-12809/dod-001/command.yaml && grep -q '^pr_number:
1485$' drift/dod_receipts/OMN-12809/dod-001/command.yaml
- id: "dod-002"
description: >-
omnidash: POST /api/dispatch removed from server/routes.ts, dispatch-api.ts deleted, useDispatch.ts
migrated to emitRendererAction, all 1472 tests pass, TypeScript/ESLint clean.
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-12809/dod-002/command.yaml && grep -q '^pr_number:
245$' drift/dod_receipts/OMN-12809/dod-002/command.yaml
- id: "dod-occ-pr-self"
description: >-
Self-binding OCC eligibility receipt for onex_change_control OCC PR.
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-12809/dod-occ-pr-self/command.yaml
24 changes: 24 additions & 0 deletions drift/dod_receipts/OMN-12809/dod-001/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-12809"
evidence_item_id: "dod-001"
check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-12809/dod-001/command.yaml && grep -q '^pr_number: 1485$'
drift/dod_receipts/OMN-12809/dod-001/command.yaml
contract_sha256: "sha256:5ba84f5161682a390bf39723d609c4373de249092551653125b161e7cfaead8b"
status: PASS
run_timestamp: "2026-06-28T11:00:00Z"
commit_sha: "07960cb4031881060c1d12cefe47eb02de66e30a"
branch: "jonah/omn-12809-retire-dispatch-router-hop"
pr_number: 1485
runner: "agent"
verifier: "jonahgabriel"
probe_command: >-
gh pr view 1485 --repo OmniNode-ai/omnimarket --json files --jq '.files[].path' | grep 'node_dispatch_request_handler'
probe_stdout: |
src/omnimarket/nodes/node_dispatch_request_handler/__init__.py
actual_output: >-
PASS: omnimarket PR #1485 deletes node_dispatch_request_handler. All 4618 unit tests pass locally, ruff/mypy/pre-commit
all clean. Verifier jonahgabriel != runner agent.
exit_code: 0
31 changes: 31 additions & 0 deletions drift/dod_receipts/OMN-12809/dod-002/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-12809"
evidence_item_id: "dod-002"
check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-12809/dod-002/command.yaml && grep -q '^pr_number: 245$'
drift/dod_receipts/OMN-12809/dod-002/command.yaml
contract_sha256: "sha256:5ba84f5161682a390bf39723d609c4373de249092551653125b161e7cfaead8b"
status: PASS
run_timestamp: "2026-06-28T11:00:00Z"
commit_sha: "b456336c344a8cbe6998e9682d444d1b1668c8cd"
branch: "jonah/omn-12809-retire-dispatch-router-hop-omnidash"
pr_number: 245
runner: "agent"
verifier: "jonahgabriel"
probe_command: >-
gh pr view 245 --repo OmniNode-ai/omnidash --json files --jq '.files[].path' | grep 'dispatch'
probe_stdout: |
server/__tests__/dispatch.test.ts
server/routes.ts
src/components/dashboard/command-dispatch/CommandPalette.test.tsx
src/components/dashboard/command-dispatch/CommandPalette.tsx
src/components/dashboard/command-dispatch/DispatchButton.tsx
src/components/dashboard/command-dispatch/useDispatch.ts
src/services/dispatch-api.ts
actual_output: >-
PASS: omnidash PR #245 removes /api/dispatch route, deletes dispatch-api.ts, migrates useDispatch.ts
to emitRendererAction. All 1472 tests pass, TypeScript/ESLint clean. Verifier jonahgabriel != runner
agent.
exit_code: 0
23 changes: 23 additions & 0 deletions drift/dod_receipts/OMN-12809/dod-occ-pr-self/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-12809"
evidence_item_id: "dod-occ-pr-self"
check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-12809/dod-occ-pr-self/command.yaml
contract_sha256: "sha256:5ba84f5161682a390bf39723d609c4373de249092551653125b161e7cfaead8b"
status: PASS
run_timestamp: "2026-06-28T11:00:00Z"
commit_sha: "662a8a1c3612bd29aa0d7066f7bcb82bd8d3a046"
branch: "jonah/omn-12809-occ-receipt"
pr_number: 3256
runner: "agent"
verifier: "jonahgabriel"
probe_command: >-
gh pr view 3256 --repo OmniNode-ai/onex_change_control --json number,headRefName,baseRefName,state,headRefOid
probe_stdout: |
{"baseRefName":"dev","headRefName":"jonah/omn-12809-occ-receipt","headRefOid":"662a8a1c3612bd29aa0d7066f7bcb82bd8d3a046","number":3256,"state":"OPEN"}
actual_output: >-
PASS: Self-binding OCC eligibility receipt. onex_change_control PR #3256 is open on dev with the OMN-12809
OCC branch and live PR headRefOid 662a8a1c3612bd29aa0d7066f7bcb82bd8d3a046.
exit_code: 0
Loading