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
83 changes: 83 additions & 0 deletions contracts/OMN-20290.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-20290"
title: "Autobind OCC evidence for OMN-20290"
summary: "OCC Evidence-Source autobind companion (OMN-13317 F1) for PR #3186."
is_seam_ticket: false
interface_change: false
interfaces_touched: []
requirements:
- id: "req-transcribed-acceptance-criteria"
statement: |-
The acceptance criteria this ticket's author declared, transcribed from the ticket body at autobind time by occ-autobind. The ticket body is the source and this block is the copy; each criterion's id is the label the sibling binds_ac entry claims.
acceptance:
- id: "AC1"
statement: |-
AC1: the orchestrator handler, driven by fake ports, refuses a write outside the declared paths, refuses an undeclared check, stops with no_progress on two identical check fingerprints and with budget_exhausted at the turn cap, and writes exactly one loop receipt per correlation id -- falsifier: uv run pytest tests/unit/nodes/node_delegated_code_edit_orchestrator fails any of these cases
- id: "AC2"
statement: |-
AC2: every model turn of a run appears as an onex delegate run id in the loop receipt, and the receipt carries the final diff, each check result and a tool_use rubric verdict -- falsifier: onex code-edit run on a lab worktree produces a receipt with a turn lacking a run id or with no rubric verdict
- id: "AC3"
statement: |-
AC3: a lab run on a real small change ends accepted with its declared check passing -- falsifier: the lab run cited in the PR body ends in any status other than accepted
evidence_requirements:
- kind: "ci"
description: "PR #3186 product diff scope present"
command: "gh pr view ${PR_NUMBER} --repo ${REPO} --json files"
- kind: "tests"
description: |-
Behavior proof for PR #3186 on OmniNode-ai/omnimarket, derived from the PR's own diff: the test target(s) it adds or changes. Bound as dod_evidence item `dod-occ-diff-derived-behavior-proof`, executed at cwd `${OMNI_HOME}/omnimarket`.
command: |-
uv run pytest tests/nodes/node_delegated_code_edit_orchestrator/test_handler_delegated_code_edit_orchestrator.py tests/unit/cli/test_cli_code_edit.py tests/unit/delegated_code_edit/test_loop_ports.py -q
emergency_bypass:
enabled: false
justification: ""
follow_up_ticket_id: ""
dod_evidence:
- id: "dod-OmniNode-ai-omnimarket-pr-3186"
description: "PR #3186 on OmniNode-ai/omnimarket — Evidence-Source autobind."
source: "generated"
checks:
- check_type: "command"
check_value: |-
gh api repos/OmniNode-ai/omnimarket/contents/src/omnimarket/cli/cli_code_edit.py?ref=df3aa834dbce191434ec5b7807270d9c3156f1bb --jq '.content' | base64 -d | grep -c 'def delegate_runner'
binds_ac:
- "AC1"
- "AC2"
- "AC3"
ac_bindings:
- label: "AC1"
criterion_hash: "c215e3462168fc96e239b1e10eeae2251120278b3343b4cba6f2f2070868170f"
proposed_by: "occ-autobind"
accepted_by: "7a850ce1-f95e-431f-b4e3-62f7449f04c0"
accepted_at: "2026-10-01T11:41:58Z"
- label: "AC2"
criterion_hash: "996a44f00126b6dc886acf272a3f7e62d5ed6a31b0ab532c0798b779b9e4bc33"
proposed_by: "occ-autobind"
accepted_by: "7a850ce1-f95e-431f-b4e3-62f7449f04c0"
accepted_at: "2026-10-01T11:41:58Z"
- label: "AC3"
criterion_hash: "4b64ff45c95fca1ee04e1087fe57ec2329d649cf42e99c30eae4bb4853e70e50"
proposed_by: "occ-autobind"
accepted_by: "7a850ce1-f95e-431f-b4e3-62f7449f04c0"
accepted_at: "2026-10-01T11:41:58Z"
- id: "occ-self-bind-pr-12143"
description: "OCC companion PR #12143 — self-bind for OMN-20290 (OMN-14650)."
source: "generated"
checks:
- check_type: "command"
check_value: "gh pr view 12143 --repo OmniNode-ai/onex_change_control --json number,state"
- id: "dod-OmniNode-ai-omnimarket-pr-3186-ci"
description: "PR #3186 on OmniNode-ai/omnimarket — product diff scope check (OMN-14425)."
source: "generated"
checks:
- check_type: "command"
check_value: "gh pr view 3186 --repo OmniNode-ai/omnimarket --json files"
- id: "dod-occ-diff-derived-behavior-proof-pr-3186"
description: "PR #3186 on OmniNode-ai/omnimarket — diff-derived behavior proof (OMN-16434)."
source: "generated"
checks:
- check_type: "test_passes"
check_value: |-
uv run pytest tests/nodes/node_delegated_code_edit_orchestrator/test_handler_delegated_code_edit_orchestrator.py tests/unit/cli/test_cli_code_edit.py tests/unit/delegated_code_edit/test_loop_ports.py -q
cwd: "${OMNI_HOME}/omnimarket"
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-20290"
evidence_item_id: "dod-OmniNode-ai-omnimarket-pr-3186-ci"
check_type: "command"
check_value: "gh pr view 3186 --repo OmniNode-ai/omnimarket --json files"
contract_sha256: "sha256:5df132a0ee018c0c392e1e8093c8a36166984f71827bbacf3e39482c29d2237d"
contract_entry_sha256: "sha256:c2353830bc362ece5fb59c64301f98c18a4f0ab8dd0edea4d99adc200e5d57cc"
status: PASS
run_timestamp: "2026-10-01T12:51:35Z"
commit_sha: "df3aa834dbce191434ec5b7807270d9c3156f1bb"
runner: "node_pr_lifecycle_fix_effect"
verifier: "occ-evidence-source-autobind"
probe_command: "gh pr view 3186 --repo OmniNode-ai/omnimarket --json files"
probe_stdout: |
{"files":[{"additions":5,"deletions":0,"path":"pyproject.toml"},{"additions":254,"deletions":0,"path":"src/omnimarket/cli/cli_code_edit.py"},{"additions":3,"deletions":0,"path":"src/omnimarket/delegated_code_edit/__init__.py"},{"additions":527,"deletions":0,"path":"src/omnimarket/delegated_code_edit/loop_ports.py"},{"additions":31,"deletions":0,"path":"src/omnimarket/delegation/rubric/tool_use_transcript.py"},{"additions":66,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/__init__.py"},{"additions":92,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/contract.yaml"},{"additions":9,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/handlers/__init__.py"},{"additions":667,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/handlers/handler_delegated_code_edit_orchestrator.py"},{"additions":239,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/handlers/turn_protocol.py"},{"additions":22,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/metadata.yaml"},{"additions":3,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/models/__init__.py"},{"additions":246,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/models/model_delegated_code_edit.py"},{"additions":3,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/protocols/__init__.py"},{"additions":103,"deletions":0,"path":"src/omnimarket/nodes/node_delegated_code_edit_orchestrator/protocols/protocol_delegated_code_edit_ports.py"},{"additions":482,"deletions":0,"path":"tests/nodes/node_delegated_code_edit_orchestrator/test_handler_delegated_code_edit_orchestrator.py"},{"additions":174,"deletions":0,"path":"tests/unit/cli/test_cli_code_edit.py"},{"additions":0,"deletions":0,"path":"tests/unit/delegated_code_edit/__init__.py"},{"additions":361,"deletions":0,"path":"tests/unit/delegated_code_edit/test_loop_ports.py"}]}
actual_output: "PASS: product-diff-scope for OMN-20290 from OmniNode-ai/omnimarket#3186."
exit_code: 0
pr_number: 3186
branch: "auto/window-omninode-ai-omnimarket-occ-autobind"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-20290"
evidence_item_id: "dod-OmniNode-ai-omnimarket-pr-3186"
check_type: "command"
check_value: |-
gh api repos/OmniNode-ai/omnimarket/contents/src/omnimarket/cli/cli_code_edit.py?ref=df3aa834dbce191434ec5b7807270d9c3156f1bb --jq '.content' | base64 -d | grep -c 'def delegate_runner'
contract_sha256: "sha256:5df132a0ee018c0c392e1e8093c8a36166984f71827bbacf3e39482c29d2237d"
contract_entry_sha256: "sha256:d5ccd5329345ccaa235e7f161105f2444580fad74c429f803a6fa7812ff0cf2e"
status: PASS
run_timestamp: "2026-10-01T12:51:35Z"
commit_sha: "df3aa834dbce191434ec5b7807270d9c3156f1bb"
runner: "node_pr_lifecycle_fix_effect"
verifier: "occ-evidence-source-autobind"
probe_command: |-
gh api repos/OmniNode-ai/omnimarket/contents/src/omnimarket/cli/cli_code_edit.py?ref=df3aa834dbce191434ec5b7807270d9c3156f1bb --jq '.content' | base64 -d | grep -c 'def delegate_runner'
probe_stdout: |
{"evidence_ref":"df3aa834dbce191434ec5b7807270d9c3156f1bb","green_exit":0,"red_exit":1,"red_ref":"c603479d93e4a1c76463dc2c6f874b96ec75930a"}
actual_output: |-
PASS: content-bound probe GREEN at df3aa834dbce191434ec5b7807270d9c3156f1bb, RED at merge-base c603479d93e4a1c76463dc2c6f874b96ec75930a (exit 1).
exit_code: 0
pr_number: 3186
branch: "auto/window-omninode-ai-omnimarket-occ-autobind"
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
check_type: test_passes
created_at: '2026-10-01T12:52:45Z'
evidence_item_id: dod-occ-diff-derived-behavior-proof-pr-3186
reason: 'The base receipt records status PENDING: the check was declared but not executed, because the
minting producer runs in the effects runtime with no product-repo checkout (OMN-16859). This record
rebinds the key to a receipt produced by executing the declared check for real in the product checkout
at PR #3186 head.'
replacement:
actual_output: 'PASS: declared check executed in the OmniNode-ai/omnimarket checkout at PR #3186 head;
exit status 0. Run: https://github.com/OmniNode-ai/omnimarket/actions/runs/36864577685'
branch: jonah/omn-20290-delegated-code-edit-node
check_type: test_passes
check_value: |-
repos/OmniNode-ai/omnimarket/commits/df3aa834dbce191434ec5b7807270d9c3156f1bb
uv run pytest tests/nodes/node_delegated_code_edit_orchestrator/test_handler_delegated_code_edit_orchestrator.py tests/unit/cli/test_cli_code_edit.py tests/unit/delegated_code_edit/test_loop_ports.py -q
commit_sha: df3aa834dbce191434ec5b7807270d9c3156f1bb
contract_entry_sha256: sha256:aeb32e9de3a25f226cbb9d6eb76ce0b3a79d0832e0d7abd15c45ed7d204f7848
duration_ms: 10788
evidence_item_id: dod-occ-diff-derived-behavior-proof-pr-3186
exit_code: 0
pr_number: 3186
probe_command: |-
repos/OmniNode-ai/omnimarket/commits/df3aa834dbce191434ec5b7807270d9c3156f1bb
uv run pytest tests/nodes/node_delegated_code_edit_orchestrator/test_handler_delegated_code_edit_orchestrator.py tests/unit/cli/test_cli_code_edit.py tests/unit/delegated_code_edit/test_loop_ports.py -q
probe_stdout: |-
............................................... [100%]
47 passed in 2.31s
run_timestamp: '2026-10-01T12:52:45Z'
runner: omnimarket-ci occ-receipt-runner
schema_version: 1.0.0
status: PASS
ticket_id: OMN-20290
verifier: github-actions product-repo test execution
working_dir: null
schema_version: 1.0.0
superseder: omnimarket-ci occ-receipt-runner
supersedes: drift/dod_receipts/OMN-20290/dod-occ-diff-derived-behavior-proof-pr-3186/test_passes.yaml
ticket_id: OMN-20290
tombstone: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-20290"
evidence_item_id: "dod-occ-diff-derived-behavior-proof-pr-3186"
check_type: "test_passes"
check_value: |-
uv run pytest tests/nodes/node_delegated_code_edit_orchestrator/test_handler_delegated_code_edit_orchestrator.py tests/unit/cli/test_cli_code_edit.py tests/unit/delegated_code_edit/test_loop_ports.py -q
contract_sha256: "sha256:5df132a0ee018c0c392e1e8093c8a36166984f71827bbacf3e39482c29d2237d"
contract_entry_sha256: "sha256:aeb32e9de3a25f226cbb9d6eb76ce0b3a79d0832e0d7abd15c45ed7d204f7848"
status: PENDING
run_timestamp: "2026-10-01T12:51:35Z"
commit_sha: "df3aa834dbce191434ec5b7807270d9c3156f1bb"
runner: "node_pr_lifecycle_fix_effect"
verifier: "occ-evidence-source-autobind"
probe_command: |-
gh api repos/OmniNode-ai/omnimarket/contents/src/omnimarket/cli/cli_code_edit.py?ref=df3aa834dbce191434ec5b7807270d9c3156f1bb --jq '.content' | base64 -d | grep -c 'def delegate_runner'
probe_stdout: |
{"evidence_ref":"df3aa834dbce191434ec5b7807270d9c3156f1bb","green_exit":0,"red_exit":1,"red_ref":"c603479d93e4a1c76463dc2c6f874b96ec75930a"}
actual_output: |-
PENDING: the declared test run is owed by occ-receipt-runner in the product repo's CI, which executes it in a real checkout and supersedes this receipt with the result; probe is the live PR read.
exit_code: 0
pr_number: 3186
branch: "auto/window-omninode-ai-omnimarket-occ-autobind"
20 changes: 20 additions & 0 deletions drift/dod_receipts/OMN-20290/occ-self-bind-pr-12143/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-20290"
evidence_item_id: "occ-self-bind-pr-12143"
check_type: "command"
check_value: "gh pr view 12143 --repo OmniNode-ai/onex_change_control --json number,state,headRefName"
contract_sha256: "sha256:5df132a0ee018c0c392e1e8093c8a36166984f71827bbacf3e39482c29d2237d"
contract_entry_sha256: "sha256:ad8d7a70dd79be0dda220079c36c89dd8ce89aa9c7d16069ddefded37b56ba40"
status: PASS
run_timestamp: "2026-10-01T12:51:35Z"
commit_sha: "df5217b3fa45dc6099e43da68ab0b1306bb6b2b0"
runner: "node_pr_lifecycle_fix_effect"
verifier: "occ-evidence-source-autobind"
probe_command: "gh api repos/OmniNode-ai/onex_change_control/pulls/12143/files --paginate --jq '.[].sha'"
probe_stdout: |
dec16d6f2872ae1156c026d84a0d8a1bbde4ddf7 ba45172b6912e8627364d3b54d2e1ddfba9b5cd7 4254630ed86243f3f3ab652b290fcbc359d03576 2a7875246eaf39c546f99252fa4e25adda4a12f0
actual_output: "PASS: OCC self-bind for OMN-20290 (OCC#12143)."
exit_code: 0
pr_number: 12143
branch: "auto/window-omninode-ai-omnimarket-occ-autobind"
Loading