Import static ONNX contracts without executing models - #5
Merged
Conversation
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.
What changed
onnx==1.22.0adapternumpy==2.4.2across Python 3.11–3.14unitsentinel.onnx-contract/v1metadata document with complete value and node bindingsunitsentinel import-onnxtext and JSON pathsunitsentinel.onnx-import/v1receiptunitsentinel[onnx]extra from a built wheel in a clean virtual environmentFail-closed boundary
The adapter rejects initializers and external tensor data, sparse initializers, dynamic or unspecified dimensions, attributes, custom domains, functions, training graphs, quantization annotations, control flow, unreviewed element types/operators, partial metadata, invalid topology, and dead subgraphs.
Import success is translation, not dimensional verification. The CLI writes the canonical graph first; callers then run the existing verifier. The receipt is unsigned and does not attest exporter identity, deployment state, scientific correctness, model quality, broadcasting, or matrix-shape correctness.
Reproducible evidence
onnx.helperPow, and initializer casesmodel_executedandexternal_datafrom the production receipt and states only that network access is not requiredModel SHA-256:
46be48f85a9ce2c45449fc887f38310d005f13af9878642cb209dc9a5c1401fbLowered graph SHA-256:
09472bff769c5bef10ff0b525f0c117295e57e16aaa2e1446f6927dd3e54584dValidation
098eec0c0ad59bad3f3f3c729d823190fde0f7e4The repository intentionally remains unlicensed pending Omar's decision.