Repository navigation
feat(OMN-14820): regenerate node_checkpoint_validate_compute to canonical def-B - #2368
Merged
jonahgabriel merged 6 commits intoJul 20, 2026
Merged
Conversation
…ical def-B Hand-flip of node_checkpoint_validate_compute to canonical definition B under the canonical-handler-shape ratchet epic. Mirrors the two merged sibling projection-compute def-B flips (same hand-flip proof path). - Add typed def-B entrypoint handle(request: ModelCheckpointValidateInput); the pure validate() business logic is preserved byte-identical base_ref<->HEAD (AST-normalized, git-re-derived by the ratchet). Legacy execute() envelope-dict path retained for existing callers. - Remove node from NON_CANONICAL (canonical_handler_shape_baseline.py) and known_entrypointless (handler_dispatch_entrypoint_baseline.yaml) baselines. - Add adequacy + hand-flip receipts under scripts/ci/adequacy_receipts/, bound to one selected_input_hashes set; verify_flip_bundle passes all six assertions. - RED->GREEN parity test proves the def-B handle output equals both the pure validate() and the legacy execute() over a deterministic valid-checkpoint corpus.
📝 WalkthroughWalkthroughThe checkpoint validation node now exposes a typed def-B ChangesCheckpoint validation dispatch
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
added 3 commits
July 20, 2026 09:23
…heckpoint_validate_compute-defb
…heckpoint_validate_compute-defb
added 2 commits
July 20, 2026 10:12
…heckpoint_validate_compute-defb # Conflicts: # config/validation/handler_dispatch_entrypoint_baseline.yaml
jonahgabriel
deleted the
jonah/omn-14820-node_checkpoint_validate_compute-defb
branch
July 20, 2026 18:59
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.
OMN-14820 — canonical def-B flip:
node_checkpoint_validate_computeHand-flip of
HandlerCheckpointValidateto canonical definition B under thecanonical-handler-shape ratchet epic canonical-handler-shape ratchet (hand-flip proof path hand-flip proof).
Mirrors the two merged sibling projection-compute flips OMN-14826
(
node_pr_state_projection_compute) and OMN-14823 (node_ledger_projection_compute).Burns down 1 baselined non-canonical node.
Why it was non-canonical
Pre-flip
HandlerCheckpointValidateexposed onlyexecute()/validate()operationmethods and no
handle— the canonical-shape ratchet classified itop_method(baselined in
NON_CANONICAL), and it was listed in theknown_entrypointlessdispatch-entrypoint baseline.
What changed (6 files)
handler_checkpoint_validate.py): add the canonical def-B typedentrypoint
handle(self, request: ModelCheckpointValidateInput) -> ModelHandlerOutput[...](the shared runtime adapter
_resolve_def_b_input_model_typerecoversModelCheckpointValidateInputfrom the signature). The purevalidate()businesslogic is preserved byte-identical base_ref↔HEAD (AST-normalized, re-derived from
git by the ratchet). The module never referenced
ModelEventEnvelope(C-core clean).The legacy
execute()envelope-dict ProtocolHandler path is retained for existingcallers.
scripts/ci/canonical_handler_shape_baseline.py): remove the nodefrom
NON_CANONICAL(receipt-proven shrink-only).config/validation/handler_dispatch_entrypoint_baseline.yaml):remove the now-entrypointed handler (the ratchet FAILs on a stale still-listed entry).
scripts/ci/adequacy_receipts/…json+…handflip.json): adequacy receipt +hand-flip proof, bound to one
selected_input_hashesset.test_checkpoint_validate_dispatch_entrypoint_omn14820.py): RED→GREEN parityproof over the selected corpus.
dod_evidence
Generated vs hand-flip: HAND-FLIP. This is a byte-identical
equivalence flip of an existing pure-compute handler —
validate()is unchanged, so nonew RSD body was authored; the flip only adds the typed def-B entrypoint boundary.
verify_flip_bundlePASS (all six assertions) —omnibase_core#1472seam gate runagainst the node:
verify_flip_bundle OK — omnibase_infra.nodes.node_checkpoint_validate_compute: all six flip-bundle assertions hold.(typed-adequacy invariants, real consuming-gate verdict, full-node canonicality,
twin-baseline shrink, receipt-minted-post-format sha, hand-flip verbatim-preservation.)
new=0 unproven_flips=0, the nodeflipped canonical WITH a valid adequacy + hand-flip proof, no baseline growth.
handle)and on an EXISTS-but-WRONG
handle(self, envelope: dict)the runtime resolver returnsNoneand the shape test goes RED; on the flip it resolvesModelCheckpointValidateInputand all 18 tests pass GREEN. Equivalence:
handle(request).resultis assertedbyte-equal to both the pure
validate()and the legacyexecute()over a deterministicvalid-checkpoint corpus. Full node test dir: 27 passed (9 existing + 18 new). The
entrypoint-gate coverage test still passes with the node removed from
known_entrypointless.validate()'s error branches (absolute path, invalid SHA,phase mismatch, attempt<1) are pre-empted by
ModelCheckpoint's own field/modelvalidators, so a validly-constructed
ModelCheckpointValidateInput— the only thing thecanonical def-B adapter path can hand the handler — never reaches them; those branches
stay covered by the legacy envelope-dict suite and are waived (not re-driven) in the
adequacy receipt.
Expected transient red
occ-preflight(and the hosteddeploy-gate) will be red until the OCC autobind mintsthis ticket's evidence companion on
onex_change_controland adds itsEvidence-Sourceto this PR body — expected for a fresh flip ticket; no companion is fabricated here.
Do not arm auto-merge — Codex owns the merge queue.
Closes OMN-14820
Evidence-Ticket: OMN-14820
Summary by CodeRabbit
New Features
Bug Fixes
Tests
Evidence-Source: OCC#4495