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
71 changes: 71 additions & 0 deletions contracts/OMN-14285.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-14285"
title: "feat(OMN-14285): RSD-1 -- pure node_occ_companion_compute (COMPUTE core + attestation oracle)"
summary: >-
omnimarket product PR #1706 (branch jonah/omn-14285-rsd1-occ-companion-compute, head bdd0681d54bece5bccd1ff3a322f2131e376b832)
adds node_occ_companion_compute, a pure/stateless/deterministic COMPUTE node that renders the exact
OCC companion (contract + downstream receipt + self-bind + OMN-14233 two-audiences supersede) from a
fully-populated ModelOccCompanionRequest with ZERO I/O, and doubles as the OMN-14055 attestation oracle
via deterministic_fingerprint. RSD-1 slice only: the read-EFFECT (node_occ_state_effect, RSD-2), write-EFFECT,
orchestrator wiring, and RSD-5 gate integration are explicit follow-slices, not in this PR. Sibling
PR #1704 (converge-adapters approach) is parked as a draft under the rev-2 reshape and is not superseded
by this contract.
is_seam_ticket: false
interface_change: false
interfaces_touched: []
emergency_bypass:
enabled: false
justification: ""
follow_up_ticket_id: ""
dod_evidence:
- id: "dod-001"
description: >-
Independent verification at product head bdd0681d54bece5bccd1ff3a322f2131e376b832, executed by an
agent that implemented neither #1706 nor #1704 (no-self-authored-evidence, OMN-14055). Re-ran the
claimed evidence rather than trusting the PR body: checked out the branch into a scratch worktree,
`uv sync`, then `uv run pytest tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py
-v` -> 18 passed in 0.15s, covering T1 determinism, T2 reproducibility/attestation-digest-stability
(byte-diff oracle: digest stable across observed-fact-only changes, digest changes on a tampered
deterministic field), T3 two-audiences net-new supersede, T6 net-new-only, the ported trivial-infra
fast-path + verifier!=runner checks, and TestZeroIoPurity (an AST walk over handler_occ_companion_compute.py
that fails on any subprocess/network/filesystem/datetime.now() import or call). Read the 571-line
handler directly: compute_companion_plan and HandlerOccCompanionCompute.handle perform genuinely
zero I/O; all observed facts (run_timestamp, probe stdout, PR/OCC contract state) are request fields,
never fetched. Also independently re-ran `ruff check` (clean), `ruff format --check` (8 files already
formatted), `mypy --strict` (clean, 7 source files), `scripts/ci/check_node_metadata_dependencies.py`
(PASS), and `python -m omnimarket.nodes.node_runtime_sweep --import-check` (status=clean, entry_points_checked=351);
pyproject.toml:228 registers `node_occ_companion_compute` as a package entry point.
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-14285/dod-001/command.yaml && grep -q '^pr_number:
1706$' drift/dod_receipts/OMN-14285/dod-001/command.yaml && grep -q 'bdd0681d54bece5bccd1ff3a322f2131e376b832'
drift/dod_receipts/OMN-14285/dod-001/command.yaml
- id: "dod-deploy-assessment"
description: >-
Deploy-surface assessment: product PR #1706 adds a wholly new, unwired node (net-new files only
-- contract.yaml, metadata.yaml, handlers/, models/ -- plus one added pyproject.toml entry-point
line and its unit test file). It is not registered into any orchestrator, dispatch table, or live
gate; RSD-2/RSD-3 wiring is a follow-slice. No live deploy, restart, .201 mutation, topic mutation,
or migration was performed by this OCC companion or by #1706 itself.
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-14285/dod-deploy-assessment/command.yaml &&
grep -qi 'no live deploy' drift/dod_receipts/OMN-14285/dod-deploy-assessment/command.yaml
- id: "dod-occ-self"
description: >-
OCC companion self-binding: this onex_change_control PR carries the net-new OMN-14285 central contract
and PASS receipts consumed by omnimarket#1706 through its Evidence-Source line. Self-binds via the
first commit's SHA for occ-preflight eligibility (no PR-number prediction).
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-14285/dod-occ-self/command.yaml
58 changes: 58 additions & 0 deletions drift/dod_receipts/OMN-14285/dod-001/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-14285"
evidence_item_id: "dod-001"
check_type: "command"
check_value: "uv run pytest tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py
-v"
status: PASS
run_timestamp: "2026-07-10T20:05:00Z"
commit_sha: bdd0681d54bece5bccd1ff3a322f2131e376b832
runner: "claude-sonnet-5"
verifier: "occ-independent-verify"
pr_number: 1706
probe_command: >-
cd omni_worktrees/OMN-14285-verify/omnimarket (checked out at PR #1706 head) && uv sync && uv run pytest
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py -v; uv run ruff check
src/omnimarket/nodes/node_occ_companion_compute tests/unit/nodes/node_occ_companion_compute; uv run
ruff format --check src/omnimarket/nodes/node_occ_companion_compute tests/unit/nodes/node_occ_companion_compute;
uv run mypy --strict src/omnimarket/nodes/node_occ_companion_compute; uv run python scripts/ci/check_node_metadata_dependencies.py;
uv run python -m omnimarket.nodes.node_runtime_sweep --import-check
probe_stdout: |
============================= test session starts ==============================
collecting ... collected 18 items
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT1Determinism::test_same_request_byte_identical_plan PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT1Determinism::test_authors_a_contract_and_downstream_receipt_for_cited_ticket PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT1Determinism::test_downstream_receipt_binds_product_head_sha PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT1Determinism::test_stamped_body_round_trips_when_occ_pr_known PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT1Determinism::test_no_ticket_is_no_op PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT1Determinism::test_already_bound_body_is_no_op PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT2ReproducibilityOracle::test_digest_stable_across_observed_fact_only_changes PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT2ReproducibilityOracle::test_tampered_deterministic_field_changes_digest PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT2ReproducibilityOracle::test_plan_digest_matches_fingerprint_of_its_files PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT3TwoAudiences::test_merged_second_consumer_emits_net_new_supersede PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT3TwoAudiences::test_no_merged_receipt_is_mutated PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT6NetNewOnly::test_fresh_contract_all_net_new PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestT6NetNewOnly::test_self_bind_included_when_occ_pr_known PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestPortedComputeChecks::test_trivial_infra_fast_path_skips_companion PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestPortedComputeChecks::test_runtime_edit_does_not_fast_path PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestPortedComputeChecks::test_verifier_equals_runner_is_rejected PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestPortedComputeChecks::test_skip_token_in_body_is_wedged PASSED
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py::TestZeroIoPurity::test_handler_module_has_no_io PASSED
============================== 18 passed in 0.15s ==============================
ruff check: All checks passed!
ruff format --check: 8 files already formatted
mypy --strict: Success: no issues found in 7 source files
check_node_metadata_dependencies.py: ONCP node metadata dependency scope: PASS
node_runtime_sweep --import-check: {"findings": [], "status": "clean", "entry_points_checked": 351}
actual_output: >-
PASS: at product head bdd0681d54bece5bccd1ff3a322f2131e376b832 all 18 claimed seam tests (T1 determinism,
T2 reproducibility/attestation-digest-stability, T3 two-audiences, T6 net-new-only, ported trivial-infra/verifier!=runner
checks, TestZeroIoPurity AST guard) pass, matching the PR body's claim exactly. Direct read of handler_occ_companion_compute.py
confirms compute_companion_plan and HandlerOccCompanionCompute.handle perform zero I/O -- no subprocess/network/filesystem/datetime.now()
in the handle path; all observed facts are request fields. ruff/ruff-format/mypy --strict/ check_node_metadata_dependencies.py/node_runtime_sweep
--import-check all independently re-run and clean. This receipt is authored by an independent verifier
who implemented neither #1706 nor sibling #1704 (no-self-authored-evidence, OMN-14055).
exit_code: 0
branch: "jonah/omn-14285-rsd1-occ-companion-compute"
contract_sha256: "sha256:965bcd61f406f1bf316df7b7c028c2b7e34aa1bfd6f10cafec094166416011fa"
37 changes: 37 additions & 0 deletions drift/dod_receipts/OMN-14285/dod-deploy-assessment/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-14285"
evidence_item_id: "dod-deploy-assessment"
check_type: "command"
check_value: >-
grep -q '^status: PASS$' drift/dod_receipts/OMN-14285/dod-deploy-assessment/command.yaml && grep -qi
'no live deploy' drift/dod_receipts/OMN-14285/dod-deploy-assessment/command.yaml
status: PASS
run_timestamp: "2026-07-10T20:05:00Z"
commit_sha: bdd0681d54bece5bccd1ff3a322f2131e376b832
runner: "claude-sonnet-5"
verifier: "occ-independent-verify"
pr_number: 1706
probe_command: >-
gh pr diff 1706 --repo OmniNode-ai/omnimarket --name-only
probe_stdout: |
pyproject.toml
src/omnimarket/nodes/node_occ_companion_compute/__init__.py
src/omnimarket/nodes/node_occ_companion_compute/contract.yaml
src/omnimarket/nodes/node_occ_companion_compute/handlers/__init__.py
src/omnimarket/nodes/node_occ_companion_compute/handlers/handler_occ_companion_compute.py
src/omnimarket/nodes/node_occ_companion_compute/metadata.yaml
src/omnimarket/nodes/node_occ_companion_compute/models/__init__.py
src/omnimarket/nodes/node_occ_companion_compute/models/enum_companion_file_kind.py
src/omnimarket/nodes/node_occ_companion_compute/models/model_occ_companion_plan.py
src/omnimarket/nodes/node_occ_companion_compute/models/model_occ_companion_request.py
tests/unit/nodes/node_occ_companion_compute/test_occ_companion_compute_seam.py
actual_output: >-
PASS: product PR #1706 adds a wholly new, unwired node (net-new files only) plus one added pyproject.toml
entry-point line and its unit test file. It is not registered into any orchestrator, dispatch table,
topic, or live gate -- RSD-2 (read-EFFECT), write-EFFECT, and orchestrator wiring are explicit follow-slices,
not in this PR. No live deploy, restart, .201 mutation, topic mutation, or migration was performed by
this OCC companion or by #1706 itself.
exit_code: 0
branch: "jonah/omn-14285-rsd1-occ-companion-compute"
contract_sha256: "sha256:965bcd61f406f1bf316df7b7c028c2b7e34aa1bfd6f10cafec094166416011fa"
23 changes: 23 additions & 0 deletions drift/dod_receipts/OMN-14285/dod-occ-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-14285"
evidence_item_id: "dod-occ-self"
check_type: "command"
check_value: "gh pr view --repo OmniNode-ai/onex_change_control --json number,state,headRefName,headRefOid,baseRefName,title,url"
status: PASS
run_timestamp: "2026-07-10T20:35:00Z"
commit_sha: f8576c828f8db11792d51104d5fe0e0ec1507ff3
runner: "claude-sonnet-5"
verifier: "occ-independent-verify"
probe_command: >-
git rev-parse HEAD
probe_stdout: |
f8576c828f8db11792d51104d5fe0e0ec1507ff3
actual_output: >-
PASS: this onex_change_control PR carries the net-new OMN-14285 central contract and PASS receipts consumed
by omnimarket#1706 via its Evidence-Source line. Self-binds deterministically via the first commit SHA
f8576c828f8db11792d51104d5fe0e0ec1507ff3 (a member of this OCC PR's commit set) so occ-preflight eligibility
holds without predicting the OCC PR number.
exit_code: 0
branch: "jonah/omn-14285-occ-market-1706"
contract_sha256: "sha256:965bcd61f406f1bf316df7b7c028c2b7e34aa1bfd6f10cafec094166416011fa"
Loading