Repository navigation
chore(OMN-20074): remove the change-control evidence mode from receipt-gate - #1974
Merged
Merged
Conversation
…t-gate receipt-gate.yml runs caller evidence only; inputs are evidence-source (default caller), verifier-version, compare-with-occ (must be false) and shadow; verify is a one-step success no-op. Deleted: occ-preflight.yml, scripts/ci/occ_preflight_wait.py, scripts/ci/check_occ_companion_merged.py, their tests, and the two contracts that bound only those tests. resolve_evidence_root removed; receipt CLI defaults no longer name onex_change_control; REGISTRY_PACKAGES drops it. New structural test tests/ci/test_receipt_gate_occ_mode_removed_omn20074.py bound as AC47. omninode_infra's call-receipt-gate.yml@main must be removed or repinned before an omnibase_core main release carries this.
|
|
||
|
|
||
| def test_evidence_root_resolver_is_removed() -> None: | ||
| import omnibase_core.utils as utils |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
OMN-20074: per the operator ruling of 2026-10-14T18:17:14Z, onex_change_control is retired completely. receipt-gate.yml, the shared reusable workflow, now runs caller evidence only. Its inputs are exactly
evidence-source(defaultcaller),verifier-version,compare-with-occandshadow; dod-verify fails unlessevidence-sourceiscallerandcompare-with-occis false.In contracts/OMN-20074.yaml, the AC1 and AC2 statements are rewritten to the new behaviour, and the new requirement
req-omn20074-s11-occ-mode-removedadds AC47, bound to tests/ci/test_receipt_gate_occ_mode_removed_omn20074.py. AC47's requirement records that it supersedes AC45's clause that receipt-gate.yml, occ_preflight_wait.py and check_occ_companion_merged.py are still present. The contract edits sit outside the regions omnibase_core#1971 changes; a three-way merge of the file with #1971's version reported 0 conflicts. This PR does not touch any file of omnibase_core#1971 except contracts/OMN-20074.yaml, and none of #1972's files.What is removed
occ-context,occ-wait-seconds,contracts-dir,receipts-dir,branch-policy-mode,core-ref.<job> / verifystill gets a concluded context.occ_differencefield.resolve_evidence_rootis removed from omnibase_core.utils.util_omni_home_paths and fromomnibase_core.utils.__all__; it returned$OMNI_HOME/onex_change_control/evidence.validator_receipt_gate_cli--contracts-dirdefaults tocontractsand--receipts-dirtodrift/dod_receipts;validator_receipt_reprobeandvalidator_receipt_honesty--receipts-dirdefaults todrift/dod_receipts.Follow-up in omniclaude, not in this PR: plugins/onex/skills/_lib/dod-evidence-runner/dod_evidence_runner.py imports
resolve_evidence_rootinside try/except ImportError; on a core release carrying this PR the import falls back toNoneand receipts land at<working_dir>/.evidence/<ticket>. The pre_tool_use_dod_completion_guard.sh reader in omniclaude still reads the old evidence root and needs the same move.What stays and why
files_scannedin ci_golden.json does not collide with ci(OMN-20074): drop the remaining onex_change_control references nothing needs (S10) #1971.Release order (omninode_infra)
omnibase_core must not release to main before omninode_infra's call-receipt-gate is handled. omninode_infra's .github/workflows/call-receipt-gate.yml calls OmniNode-ai/omnibase_core/.github/workflows/receipt-gate.yml@main with branch-policy-mode and the default evidence-source. Once an omnibase_core main release carries this PR, that call fails: branch-policy-mode is no longer an input and the change-control mode is gone. omninode_infra's call-receipt-gate must be removed or repinned first, by lane omn20074-ninf; its carrier today is omninode_infra#1894 (draft). Do not cut an omnibase_core main release carrying this PR until that lands.
Every other caller — omnibase_compat, omnibase_infra, omnibase_spi, omniclaude, omnidash, omniintelligence, omnimarket, omnimemory, omninode_infra's call-repo-evidence-gate.yml and omnibase_core itself — pins receipt-gate.yml by full SHA and passes only
evidence-source: caller,verifier-version,compare-with-occ: "false"andshadow, which stay valid.Tests
TDD: tests/ci/test_receipt_gate_occ_mode_removed_omn20074.py — 12 failed at the base before the change, 12 passed after.
Focused runs on lab host h202: 28 affected test files, each run separately on the pre-rebase commit 1e9d27ede5, all passed; after the rebase onto dev c1f8e8f, 4 of them (the new structural test, the repo-evidence caller test, the boundary-parity handler test and the contract-home test) were re-run at head 7bb3ffa and passed. Test files: 1 added, 13 modified, 15 deleted; the rewrites of 10 of the modified files came from a Codex draft that the lane reviewed and re-ran.
Lab
Lab: host=h202 lane=omn20074-core4 — command
uv run pytest <file> -q -p no:randomly -n0per affected file, observed 28 of 28 files passed on 1e9d27ede5 and 4 of 4 re-run files passed at 7bb3ffa.The broader run
onex_lab_run.py --via bus --lane omn20074-core4 --repo omnibase_core --ref omn20074-core4-remove-occ-mode -- uv run pytest tests/ci tests/unit/validation tests/unit/utils tests/unit/nodes/node_boundary_import_check_compute tests/unit/scripts/ci tests/unit/validatorsexited 75 (placement refused over_capacity: h200 all unit slots busy, h201 load/core 0.99, h202 load/core 0.89) and was not run anywhere; hosted CI runs the full suite. This change is a CI workflow and validator-default change with no runtime surface, so there is no runtime slot to exercise.