Skip to content

ci(OMN-20943): omnimemory's imperative contract guard calls omnibase_core's reusable with its own shrink-only allowlist - #611

Merged
jonahgabriel merged 1 commit into
devfrom
ci/OMN-20943-imperative-contract-guard-occ-ret-memguard-i1-8e80
Oct 11, 2026
Merged

jonahgabriel merged 1 commit into
devfrom
ci/OMN-20943-imperative-contract-guard-occ-ret-memguard-i1-8e80

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

OMN-20943, under parent OMN-20074, moves omnimemory's imperative guard caller to core's reusable at 031148215620031436cba30619bbae67c0bb38ad. The caller passes imperative-contract-allowlist.yaml, moved byte-identically from the historical guard at 725d2967b031d7065efd41d0751f903638202cc1, with its four paths and metadata unchanged.

The job id imperative-contract-guard and context imperative-contract-guard / Imperative Contract Guard are unchanged.

The canonical-file-shape hook and CI job use the same core pin, which reads the caller's shrink-only allowlist declaration. The lifecycle validator sharing that hook block is byte-identical across the revision change. The application dependencies and lock are unchanged; tests use isolated core 0.47.41 because locked core 0.47.39 lacks the ratchet handler. contracts/OMN-20943.yaml binds all three criteria to executable test_passes commands.

Lab: host=h201 lane=occ-ret-memguard-i1-8e80 command=uv run pytest tests/ci/test_imperative_contract_guard_caller_omn20943.py -q -n 0 observed=5 passed; merge-base control 5 failed; pinned core/OCC clean exits 0/0 and planted exits 1/1 with identical findings; canonical-file-shape new pin passed and old pin refused the same allowlist; candidate DoD 3/3 verified and merge-base 0/3 verified.

AC3 used the pinned core CLI and historical OCC CLI on isolated copies of omnimemory's tree with freestanding scanning enabled. Adding raw httpx.get to the live retrieval handler produced one live blocker in both; the clean tree had zero. Complete JSON findings matched after normalizing the allowlist location. The source was scanned without executing the planted request.

Ruff format/check, focused mypy and pre-commit on all six changed files passed. No new suppression annotation or baseline entry was added.

Evidence-Ticket: OMN-20943
Evidence-Source: OCC#13694

…owlist

Move the historical omnimemory allowlist unchanged and pin the reusable and
canonical-file-shape hook/job to the core commit that reads its declaration.
Bind all three criteria to focused executable tests, including refusal controls.
onexbot-occ-writer Bot pushed a commit to OmniNode-ai/onex_change_control that referenced this pull request Oct 11, 2026
…omnimemory#611

OCC companion by node_pr_lifecycle_fix_effect (OMN-13317 F1 / OMN-13990 / OMN-14285). Product PR head 1a839b9d091c46a9017e3bc133113e5585cd2380.
jonahgabriel pushed a commit to OmniNode-ai/onex_change_control that referenced this pull request Oct 11, 2026
…memory (#13694)

* evidence(OMN-20943, OMN-20940): author OCC companion for OmniNode-ai/omnimemory#611

OCC companion by node_pr_lifecycle_fix_effect (OMN-13317 F1 / OMN-13990 / OMN-14285). Product PR head 1a839b9d091c46a9017e3bc133113e5585cd2380.

* evidence(OMN-20943, OMN-20940): self-bind OCC#13694 + rebind contract_sha256

---------

Co-authored-by: omnimarket-bot <bot@omninode.ai>
@jonahgabriel
jonahgabriel merged commit 768722b into dev Oct 11, 2026
63 of 64 checks passed
@jonahgabriel
jonahgabriel deleted the ci/OMN-20943-imperative-contract-guard-occ-ret-memguard-i1-8e80 branch October 11, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant