diff --git a/contracts/OMN-18530.yaml b/contracts/OMN-18530.yaml index afc36b5c9c4..3b38f39c376 100644 --- a/contracts/OMN-18530.yaml +++ b/contracts/OMN-18530.yaml @@ -313,3 +313,108 @@ dod_evidence: checks: - check_type: "command" check_value: "gh pr view 10718 --repo OmniNode-ai/onex_change_control --json number,state" + - id: "dod-accept-1045z-18530-ac1" + description: "AC1 binding proposed by lane dod-closeout-bind-2026-10-12T1045Z-c2 and accepted by a + different lane, dod-closeout-accept-2026-10-12T1045Z-c2, after an independent re-run on 2026-10-12 + at omniclaude origin/dev 0c7a1d577e6d: a tree carrying an undeclared exit-2 script makes validate_hook_inventory.py + exit 1 and name the script and UNDECLARED_GATE_SCRIPT on stderr. With the dev test file at the parent + of merge c124c41ea (#2295) the test fails (the validator reports OK and exits 0), so the pass is + owed to that change." + source: "manual" + execution_scope: "local_done_gate" + checks: + - check_type: "test_passes" + check_value: "env -u PYTHONPATH uv run pytest -q -p no:cacheprovider \"tests/hooks/test_hook_inventory_undeclared_gate.py::test_the_gate_refuses_rather_than_printing_and_passing\"" + cwd: "${OMNI_HOME}/omniclaude" + binds_ac: + - "AC1" + ac_bindings: + - label: "AC1" + criterion_hash: "cbeffe5fb9225687fe0da548ade513614ef4d477af381e3a25fe534a5b62c7e8" + proposed_by: "lane=dod-closeout-bind-2026-10-12T1045Z-c2" + accepted_by: "lane=dod-closeout-accept-2026-10-12T1045Z-c2" + accepted_at: "2026-10-12T11:08:33Z" + - id: "dod-accept-1045z-18530-ac2" + description: "AC2 binding proposed by lane dod-closeout-bind-2026-10-12T1045Z-c2 and accepted by a + different lane, dod-closeout-accept-2026-10-12T1045Z-c2, after an independent re-run on 2026-10-12 + at omniclaude origin/dev 0c7a1d577e6d: the reachable set computed from hooks.json is non-empty, + includes the named library, and none of it is reported as UNDECLARED_GATE_SCRIPT. At the parent + of merge c124c41ea (#2295) the test fails (no scripts_reachable_from_registered)." + source: "manual" + execution_scope: "local_done_gate" + checks: + - check_type: "test_passes" + check_value: "env -u PYTHONPATH uv run pytest -q -p no:cacheprovider \"tests/hooks/test_hook_inventory_undeclared_gate.py::test_no_script_reachable_from_a_registered_hook_is_reported\"" + cwd: "${OMNI_HOME}/omniclaude" + binds_ac: + - "AC2" + ac_bindings: + - label: "AC2" + criterion_hash: "7f3501a704367ac2d93b557de7faa4e0e3442def8e6a218107fa19c965930efd" + proposed_by: "lane=dod-closeout-bind-2026-10-12T1045Z-c2" + accepted_by: "lane=dod-closeout-accept-2026-10-12T1045Z-c2" + accepted_at: "2026-10-12T11:08:33Z" + - id: "dod-accept-1045z-18530-ac4" + description: "AC4 binding proposed by lane dod-closeout-bind-2026-10-12T1045Z-c2 and accepted by a + different lane, dod-closeout-accept-2026-10-12T1045Z-c2, after an independent re-run on 2026-10-12 + at omniclaude origin/dev 0c7a1d577e6d: with the Stop key removed and stop_quality_gate.sh declared + expected under Stop, exactly one EVENT_KEY_ABSENT finding names that script and Stop. At the parent + of merge c124c41ea (#2295) the test fails." + source: "manual" + execution_scope: "local_done_gate" + checks: + - check_type: "test_passes" + check_value: "env -u PYTHONPATH uv run pytest -q -p no:cacheprovider \"tests/hooks/test_hook_inventory_undeclared_gate.py::test_a_stop_shaped_expected_hook_is_reported_while_no_stop_key_exists\"" + cwd: "${OMNI_HOME}/omniclaude" + binds_ac: + - "AC4" + ac_bindings: + - label: "AC4" + criterion_hash: "647bc1bd6eda1f44b4550fce68f0f1dd3be2e9c811871f5e911a1c1a0d811c91" + proposed_by: "lane=dod-closeout-bind-2026-10-12T1045Z-c2" + accepted_by: "lane=dod-closeout-accept-2026-10-12T1045Z-c2" + accepted_at: "2026-10-12T11:08:33Z" + - id: "dod-accept-1045z-18530-ac6" + description: "AC6 binding proposed by lane dod-closeout-bind-2026-10-12T1045Z-c2 and accepted by a + different lane, dod-closeout-accept-2026-10-12T1045Z-c2, after an independent re-run on 2026-10-12 + at omniclaude origin/dev 0c7a1d577e6d: the dev validator, which carries the UNDECLARED_GATE_SCRIPT + kind, exits 0 on the merged dev tree. The test also passes at the parent of c124c41ea, where the + kind does not exist; the criterion is a property of the merged tree with the kind active, which + only the dev run shows." + source: "manual" + execution_scope: "local_done_gate" + checks: + - check_type: "test_passes" + check_value: "env -u PYTHONPATH uv run pytest -q -p no:cacheprovider \"tests/hooks/test_hook_inventory_undeclared_gate.py::test_the_live_tree_is_green\"" + cwd: "${OMNI_HOME}/omniclaude" + binds_ac: + - "AC6" + ac_bindings: + - label: "AC6" + criterion_hash: "1ec9191eededb98517ffa94264a19ac896b483a2b9eb7b1772be4769953f42e8" + proposed_by: "lane=dod-closeout-bind-2026-10-12T1045Z-c2" + accepted_by: "lane=dod-closeout-accept-2026-10-12T1045Z-c2" + accepted_at: "2026-10-12T11:08:33Z" + - id: "dod-accept-1045z-18530-ac8" + description: "AC8 binding proposed by lane dod-closeout-bind-2026-10-12T1045Z-c2 and accepted by a + different lane, dod-closeout-accept-2026-10-12T1045Z-c2, after an independent re-run on 2026-10-12 + at omniclaude origin/dev 0c7a1d577e6d: the CI Summary gate module on dev carries Hook Inventory + Gate in EXPECTED_EXTERNAL_CONTEXTS and not in EXTERNAL_SWEEP_EXCLUSIONS; at the parent of 107da64bb + (#2298) the name is absent from that module." + source: "manual" + execution_scope: "local_done_gate" + checks: + - check_type: "command" + check_value: "uv run python -c \"\nimport importlib.util,sys\ns=importlib.util.spec_from_file_location('g','scripts/ci/ci_summary_gate.py');m=importlib.util.module_from_spec(s);sys.modules['g']=m;s.loader.exec_module(m)\nn='Hook + Inventory Gate';print('in_EXPECTED_EXTERNAL_CONTEXTS=',n in m.EXPECTED_EXTERNAL_CONTEXTS,'in_EXCLUSIONS=',n + in m.EXTERNAL_SWEEP_EXCLUSIONS);sys.exit(0 if n in m.EXPECTED_EXTERNAL_CONTEXTS and n not in + m.EXTERNAL_SWEEP_EXCLUSIONS else 1)\"" + cwd: "${OMNI_HOME}/omniclaude" + binds_ac: + - "AC8" + ac_bindings: + - label: "AC8" + criterion_hash: "989c0b0b54ed6e53471d7953633d910fff75d385e58e59d1bb6ab24cad6bbb7d" + proposed_by: "lane=dod-closeout-bind-2026-10-12T1045Z-c2" + accepted_by: "lane=dod-closeout-accept-2026-10-12T1045Z-c2" + accepted_at: "2026-10-12T11:08:33Z" diff --git a/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac1/test_passes.yaml b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac1/test_passes.yaml new file mode 100644 index 00000000000..4a3113b675e --- /dev/null +++ b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac1/test_passes.yaml @@ -0,0 +1,29 @@ +--- +schema_version: 1.0.0 +ticket_id: OMN-18530 +evidence_item_id: dod-accept-1045z-18530-ac1 +check_type: test_passes +check_value: env -u PYTHONPATH uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_the_gate_refuses_rather_than_printing_and_passing" +contract_sha256: sha256:d47a3cc208b71c8ff0e566e43b53a7dfba554bea3b223e1187fffd285e89dd19 +contract_entry_sha256: sha256:fdbf2fc761a91f8bf975916c6e0a143877d10ecc9d0166a175f018f2cb0eeb09 +status: PASS +commit_sha: 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b +runner: dod-closeout-accept-2026-10-12T1045Z-c2@omninode-pc +verifier: occ-probe-capture-v1 +probe_command: gh api repos/OmniNode-ai/omniclaude/commits/0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b --jq + .sha && test "$(git rev-parse HEAD)" = "0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b" && env -u PYTHONPATH + uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_the_gate_refuses_rather_than_printing_and_passing" +actual_output: 'PASS: dod-accept-1045z-18530-ac1 for OMN-18530 AC1 - binding accepted by lane dod-closeout-accept-2026-10-12T1045Z-c2 + after an independent re-run on lab host omninode-pc.' +pr_number: 13736 +branch: automation/omn-18530-accepted-ac-bindings-1045z +probe_stdout: |- + 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b + . [100%] + 1 passed in 1.23s +exit_code: 0 +run_timestamp: '2026-10-12T11:11:20Z' +duration_ms: 5832 +artifact_sha256: + - sha256:91f8df3412a9cfde28c8095d818653415f9b917c4f7c72f970aac0b70ea0cf6e + - sha256:21cd66731540f94627f40d4abd5f9c3e1289b369b202a986e36d60887b677a7c diff --git a/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac2/test_passes.yaml b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac2/test_passes.yaml new file mode 100644 index 00000000000..1c83219ae52 --- /dev/null +++ b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac2/test_passes.yaml @@ -0,0 +1,29 @@ +--- +schema_version: 1.0.0 +ticket_id: OMN-18530 +evidence_item_id: dod-accept-1045z-18530-ac2 +check_type: test_passes +check_value: env -u PYTHONPATH uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_no_script_reachable_from_a_registered_hook_is_reported" +contract_sha256: sha256:d47a3cc208b71c8ff0e566e43b53a7dfba554bea3b223e1187fffd285e89dd19 +contract_entry_sha256: sha256:720033a8b6a88237700e198db782de570cafdb3136fbbe7cf87ecd45a863f4e9 +status: PASS +commit_sha: 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b +runner: dod-closeout-accept-2026-10-12T1045Z-c2@omninode-pc +verifier: occ-probe-capture-v1 +probe_command: gh api repos/OmniNode-ai/omniclaude/commits/0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b --jq + .sha && test "$(git rev-parse HEAD)" = "0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b" && env -u PYTHONPATH + uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_no_script_reachable_from_a_registered_hook_is_reported" +actual_output: 'PASS: dod-accept-1045z-18530-ac2 for OMN-18530 AC2 - binding accepted by lane dod-closeout-accept-2026-10-12T1045Z-c2 + after an independent re-run on lab host omninode-pc.' +pr_number: 13736 +branch: automation/omn-18530-accepted-ac-bindings-1045z +probe_stdout: |- + 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b + . [100%] + 1 passed in 0.88s +exit_code: 0 +run_timestamp: '2026-10-12T11:11:26Z' +duration_ms: 1804 +artifact_sha256: + - sha256:80b040420671830ee71931793c208c13171491b10f613edc1f20df978136b359 + - sha256:245463ca6905821172a664f377f113ace02c111ef1023629ccef3c5e7c59bd49 diff --git a/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac4/test_passes.yaml b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac4/test_passes.yaml new file mode 100644 index 00000000000..17a34188fe8 --- /dev/null +++ b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac4/test_passes.yaml @@ -0,0 +1,29 @@ +--- +schema_version: 1.0.0 +ticket_id: OMN-18530 +evidence_item_id: dod-accept-1045z-18530-ac4 +check_type: test_passes +check_value: env -u PYTHONPATH uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_a_stop_shaped_expected_hook_is_reported_while_no_stop_key_exists" +contract_sha256: sha256:d47a3cc208b71c8ff0e566e43b53a7dfba554bea3b223e1187fffd285e89dd19 +contract_entry_sha256: sha256:79f5dec0ab37dd264b008ed3b21736f7db01b2a3195fb9396bb500446725187c +status: PASS +commit_sha: 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b +runner: dod-closeout-accept-2026-10-12T1045Z-c2@omninode-pc +verifier: occ-probe-capture-v1 +probe_command: gh api repos/OmniNode-ai/omniclaude/commits/0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b --jq + .sha && test "$(git rev-parse HEAD)" = "0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b" && env -u PYTHONPATH + uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_a_stop_shaped_expected_hook_is_reported_while_no_stop_key_exists" +actual_output: 'PASS: dod-accept-1045z-18530-ac4 for OMN-18530 AC4 - binding accepted by lane dod-closeout-accept-2026-10-12T1045Z-c2 + after an independent re-run on lab host omninode-pc.' +pr_number: 13736 +branch: automation/omn-18530-accepted-ac-bindings-1045z +probe_stdout: |- + 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b + . [100%] + 1 passed in 0.95s +exit_code: 0 +run_timestamp: '2026-10-12T11:11:28Z' +duration_ms: 1885 +artifact_sha256: + - sha256:ff9c26426656700eb6dae32addee412b7f37558a67b6902322dc0806bf0977a3 + - sha256:a9f5c563d8907eb73c6ced281074d395968f8486319fe8e47195b541a4f1e8d8 diff --git a/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac6/test_passes.yaml b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac6/test_passes.yaml new file mode 100644 index 00000000000..27dd85bfe8e --- /dev/null +++ b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac6/test_passes.yaml @@ -0,0 +1,29 @@ +--- +schema_version: 1.0.0 +ticket_id: OMN-18530 +evidence_item_id: dod-accept-1045z-18530-ac6 +check_type: test_passes +check_value: env -u PYTHONPATH uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_the_live_tree_is_green" +contract_sha256: sha256:d47a3cc208b71c8ff0e566e43b53a7dfba554bea3b223e1187fffd285e89dd19 +contract_entry_sha256: sha256:502f0895432a93eab01c6f8aee9bbdd14ca9b819294c3311be76f30a7c14d2fc +status: PASS +commit_sha: 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b +runner: dod-closeout-accept-2026-10-12T1045Z-c2@omninode-pc +verifier: occ-probe-capture-v1 +probe_command: gh api repos/OmniNode-ai/omniclaude/commits/0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b --jq + .sha && test "$(git rev-parse HEAD)" = "0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b" && env -u PYTHONPATH + uv run pytest -q -p no:cacheprovider "tests/hooks/test_hook_inventory_undeclared_gate.py::test_the_live_tree_is_green" +actual_output: 'PASS: dod-accept-1045z-18530-ac6 for OMN-18530 AC6 - binding accepted by lane dod-closeout-accept-2026-10-12T1045Z-c2 + after an independent re-run on lab host omninode-pc.' +pr_number: 13736 +branch: automation/omn-18530-accepted-ac-bindings-1045z +probe_stdout: |- + 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b + . [100%] + 1 passed in 0.88s +exit_code: 0 +run_timestamp: '2026-10-12T11:11:31Z' +duration_ms: 1783 +artifact_sha256: + - sha256:80b040420671830ee71931793c208c13171491b10f613edc1f20df978136b359 + - sha256:e1bda0c0a1d5770175924273379a8c350a675d4052e93363fcc63b76ba366445 diff --git a/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac8/command.yaml b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac8/command.yaml new file mode 100644 index 00000000000..f751ead0477 --- /dev/null +++ b/drift/dod_receipts/OMN-18530/dod-accept-1045z-18530-ac8/command.yaml @@ -0,0 +1,34 @@ +--- +schema_version: 1.0.0 +ticket_id: OMN-18530 +evidence_item_id: dod-accept-1045z-18530-ac8 +check_type: command +check_value: |- + uv run python -c " + import importlib.util,sys + s=importlib.util.spec_from_file_location('g','scripts/ci/ci_summary_gate.py');m=importlib.util.module_from_spec(s);sys.modules['g']=m;s.loader.exec_module(m) + n='Hook Inventory Gate';print('in_EXPECTED_EXTERNAL_CONTEXTS=',n in m.EXPECTED_EXTERNAL_CONTEXTS,'in_EXCLUSIONS=',n in m.EXTERNAL_SWEEP_EXCLUSIONS);sys.exit(0 if n in m.EXPECTED_EXTERNAL_CONTEXTS and n not in m.EXTERNAL_SWEEP_EXCLUSIONS else 1)" +contract_sha256: sha256:d47a3cc208b71c8ff0e566e43b53a7dfba554bea3b223e1187fffd285e89dd19 +contract_entry_sha256: sha256:aabc5cce04a3f453ca057ad11ce0d3ef6dad077698867ab7dd08d7b99ef981bf +status: PASS +commit_sha: 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b +runner: dod-closeout-accept-2026-10-12T1045Z-c2@omninode-pc +verifier: occ-probe-capture-v1 +probe_command: |- + gh api repos/OmniNode-ai/omniclaude/commits/0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b --jq .sha && test "$(git rev-parse HEAD)" = "0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b" && uv run python -c " + import importlib.util,sys + s=importlib.util.spec_from_file_location('g','scripts/ci/ci_summary_gate.py');m=importlib.util.module_from_spec(s);sys.modules['g']=m;s.loader.exec_module(m) + n='Hook Inventory Gate';print('in_EXPECTED_EXTERNAL_CONTEXTS=',n in m.EXPECTED_EXTERNAL_CONTEXTS,'in_EXCLUSIONS=',n in m.EXTERNAL_SWEEP_EXCLUSIONS);sys.exit(0 if n in m.EXPECTED_EXTERNAL_CONTEXTS and n not in m.EXTERNAL_SWEEP_EXCLUSIONS else 1)" +actual_output: 'PASS: dod-accept-1045z-18530-ac8 for OMN-18530 AC8 - binding accepted by lane dod-closeout-accept-2026-10-12T1045Z-c2 + after an independent re-run on lab host omninode-pc.' +pr_number: 13736 +branch: automation/omn-18530-accepted-ac-bindings-1045z +probe_stdout: |- + 0c7a1d577e6d5dc089a1fd8ee4d0721c053dfa3b + in_EXPECTED_EXTERNAL_CONTEXTS= True in_EXCLUSIONS= False +exit_code: 0 +run_timestamp: '2026-10-12T11:11:33Z' +duration_ms: 772 +artifact_sha256: + - sha256:57f78dfd48513838e6407b5e85ed4749264d6ad25a412a7e867d46162e0d834c + - sha256:3db4b94fd604506e53240353b5fac449f4f693d7c177da58f396fc179044169f