From e118a98b1bc672624b0c683b953ceb3ca609b96f Mon Sep 17 00:00:00 2001 From: jonahgabriel Date: Thu, 7 May 2026 18:28:13 -0400 Subject: [PATCH 1/2] contract(OMN-10561): add reducer node receipt evidence --- contracts/OMN-10561.yaml | 46 +++++++++++++++++++ .../OMN-10561/dod-deploy-gate/command.yaml | 24 ++++++++++ .../OMN-10561/dod-mypy-strict/command.yaml | 20 ++++++++ .../OMN-10561/dod-ruff/command.yaml | 20 ++++++++ .../OMN-10561/dod-unit-tests/command.yaml | 21 +++++++++ 5 files changed, 131 insertions(+) create mode 100644 contracts/OMN-10561.yaml create mode 100644 drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml create mode 100644 drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml create mode 100644 drift/dod_receipts/OMN-10561/dod-ruff/command.yaml create mode 100644 drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml diff --git a/contracts/OMN-10561.yaml b/contracts/OMN-10561.yaml new file mode 100644 index 00000000000..2bc50fa1e3e --- /dev/null +++ b/contracts/OMN-10561.yaml @@ -0,0 +1,46 @@ +--- +schema_version: "1.0.0" +ticket_id: "OMN-10561" +title: "Generic contract-driven reducer node" +summary: > + Adds omnimarket node_contract_reducer as a pure COMPUTE node for contract-declared transition tables. + The node interprets current state, user response, and transition configuration without external I/O + or authoritative persistence. +is_seam_ticket: true +interface_change: true +interfaces_touched: + - "public_api" +emergency_bypass: + enabled: false + justification: "" + follow_up_ticket_id: "" +dod_evidence: + - id: "dod-mypy-strict" + description: "Reducer node type-checks under strict mypy." + source: "manual" + checks: + - check_type: "command" + check_value: >- + grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml" + - id: "dod-unit-tests" + description: "22 reducer unit tests pass." + source: "manual" + checks: + - check_type: "command" + check_value: >- + grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml" + - id: "dod-ruff" + description: "Reducer node sources pass ruff." + source: "manual" + checks: + - check_type: "command" + check_value: >- + grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml" + - id: "dod-deploy-gate" + description: "Repo-local deploy gate recognizes OMN-10561 deploy evidence for runtime-touching reducer + node paths." + source: "manual" + checks: + - check_type: "command" + check_value: >- + grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml" diff --git a/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml b/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml new file mode 100644 index 00000000000..02c7226ea24 --- /dev/null +++ b/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml @@ -0,0 +1,24 @@ +--- +schema_version: "1.0.0" +ticket_id: "OMN-10561" +evidence_item_id: "dod-deploy-gate" +check_type: "command" +check_value: "python /Users/jonah/Code/omni_home/omniclaude/scripts/validation/validate_pr_deploy_required.py + --changed-files \"$changed\" --pr-body \"$body\" --contracts-dir docs/work-tracking/contracts" +status: PASS +run_timestamp: "2026-05-07T22:25:55Z" +commit_sha: "02be25e6442d0f67ac7f2630adda99cb44613d5f" +runner: "local-macos" +verifier: "jonahgabriel" +probe_command: "changed=$(gh pr diff 550 --repo OmniNode-ai/omnimarket --name-only); body=$(gh pr view + 550 --repo OmniNode-ai/omnimarket --json body -q .body); python /Users/jonah/Code/omni_home/omniclaude/scripts/validation/validate_pr_deploy_required.py + --changed-files \"$changed\" --pr-body \"$body\" --contracts-dir docs/work-tracking/contracts" +probe_stdout: | + ::notice::DEPLOY GATE PASSED: OMN-10561 has deploy evidence. Runtime paths: ['src/omnimarket/nodes/node_contract_reducer/__init__.py', 'src/omnimarket/nodes/node_contract_reducer/contract.yaml', 'src/omnimarket/nodes/node_contract_reducer/handlers/__init__.py', 'src/omnimarket/nodes/node_contract_reducer/handlers/handler_contract_reducer.py', 'src/omnimarket/nodes/node_contract_reducer/models/__init__.py', 'src/omnimarket/nodes/node_contract_reducer/models/model_reducer_input.py', 'src/omnimarket/nodes/node_contract_reducer/models/model_reducer_result.py']. +actual_output: "PASS: repo-local OMN-10561 contract satisfies deploy gate for runtime-touching reducer + node paths." +exit_code: 0 +pr_number: 550 +contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" +branch: "jonah/feat-generic-contract-reducer-node" +working_dir: null diff --git a/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml b/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml new file mode 100644 index 00000000000..e0ad23121d8 --- /dev/null +++ b/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml @@ -0,0 +1,20 @@ +--- +schema_version: "1.0.0" +ticket_id: "OMN-10561" +evidence_item_id: "dod-mypy-strict" +check_type: "command" +check_value: "uv run mypy src/omnimarket/nodes/node_contract_reducer/ --strict" +status: PASS +run_timestamp: "2026-05-07T22:25:55Z" +commit_sha: "02be25e6442d0f67ac7f2630adda99cb44613d5f" +runner: "local-macos" +verifier: "jonahgabriel" +probe_command: "uv run mypy src/omnimarket/nodes/node_contract_reducer/ --strict" +probe_stdout: | + Success: no issues found in 6 source files +actual_output: "PASS: node_contract_reducer strict mypy completed with no issues." +exit_code: 0 +pr_number: 550 +contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" +branch: "jonah/feat-generic-contract-reducer-node" +working_dir: null diff --git a/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml b/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml new file mode 100644 index 00000000000..4a9456ac81d --- /dev/null +++ b/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml @@ -0,0 +1,20 @@ +--- +schema_version: "1.0.0" +ticket_id: "OMN-10561" +evidence_item_id: "dod-ruff" +check_type: "command" +check_value: "uv run ruff check src/omnimarket/nodes/node_contract_reducer tests/unit/nodes/node_contract_reducer" +status: PASS +run_timestamp: "2026-05-07T22:25:55Z" +commit_sha: "02be25e6442d0f67ac7f2630adda99cb44613d5f" +runner: "local-macos" +verifier: "jonahgabriel" +probe_command: "uv run ruff check src/omnimarket/nodes/node_contract_reducer tests/unit/nodes/node_contract_reducer" +probe_stdout: | + All checks passed! +actual_output: "PASS: ruff check passed for reducer node sources and tests." +exit_code: 0 +pr_number: 550 +contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" +branch: "jonah/feat-generic-contract-reducer-node" +working_dir: null diff --git a/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml b/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml new file mode 100644 index 00000000000..71261f08107 --- /dev/null +++ b/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml @@ -0,0 +1,21 @@ +--- +schema_version: "1.0.0" +ticket_id: "OMN-10561" +evidence_item_id: "dod-unit-tests" +check_type: "command" +check_value: "uv run pytest tests/unit/nodes/node_contract_reducer/ -q" +status: PASS +run_timestamp: "2026-05-07T22:25:55Z" +commit_sha: "02be25e6442d0f67ac7f2630adda99cb44613d5f" +runner: "local-macos" +verifier: "jonahgabriel" +probe_command: "uv run pytest tests/unit/nodes/node_contract_reducer/ -q" +probe_stdout: | + ...................... [100%] + 22 passed in 0.04s +actual_output: "PASS: 22 node_contract_reducer unit tests passed." +exit_code: 0 +pr_number: 550 +contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" +branch: "jonah/feat-generic-contract-reducer-node" +working_dir: null From 30bbb06e71bc812c0706b2032387bcde522d6e04 Mon Sep 17 00:00:00 2001 From: jonahgabriel Date: Thu, 7 May 2026 18:29:01 -0400 Subject: [PATCH 2/2] fix(OMN-10561): bind reducer receipts to OCC PR --- drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml | 2 +- drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml | 2 +- drift/dod_receipts/OMN-10561/dod-ruff/command.yaml | 2 +- drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml b/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml index 02c7226ea24..9f9b4a6dd88 100644 --- a/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml +++ b/drift/dod_receipts/OMN-10561/dod-deploy-gate/command.yaml @@ -18,7 +18,7 @@ probe_stdout: | actual_output: "PASS: repo-local OMN-10561 contract satisfies deploy gate for runtime-touching reducer node paths." exit_code: 0 -pr_number: 550 +pr_number: 787 contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" branch: "jonah/feat-generic-contract-reducer-node" working_dir: null diff --git a/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml b/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml index e0ad23121d8..3a426ba6c7c 100644 --- a/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml +++ b/drift/dod_receipts/OMN-10561/dod-mypy-strict/command.yaml @@ -14,7 +14,7 @@ probe_stdout: | Success: no issues found in 6 source files actual_output: "PASS: node_contract_reducer strict mypy completed with no issues." exit_code: 0 -pr_number: 550 +pr_number: 787 contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" branch: "jonah/feat-generic-contract-reducer-node" working_dir: null diff --git a/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml b/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml index 4a9456ac81d..866afedc03a 100644 --- a/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml +++ b/drift/dod_receipts/OMN-10561/dod-ruff/command.yaml @@ -14,7 +14,7 @@ probe_stdout: | All checks passed! actual_output: "PASS: ruff check passed for reducer node sources and tests." exit_code: 0 -pr_number: 550 +pr_number: 787 contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" branch: "jonah/feat-generic-contract-reducer-node" working_dir: null diff --git a/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml b/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml index 71261f08107..e113df36065 100644 --- a/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml +++ b/drift/dod_receipts/OMN-10561/dod-unit-tests/command.yaml @@ -15,7 +15,7 @@ probe_stdout: | 22 passed in 0.04s actual_output: "PASS: 22 node_contract_reducer unit tests passed." exit_code: 0 -pr_number: 550 +pr_number: 787 contract_sha256: "sha256:0369c645ac7cf39a81455b892dce4c98ad2c0ab3aeb1466b80429f846ed7c444" branch: "jonah/feat-generic-contract-reducer-node" working_dir: null