Fingerprint model outputs and harden composite loader integrity - #12
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.
Summary
grid_hashgeometry-only.Details
Fingerprints record the exact weight artifact, revision and SHA-256, preprocessing, pooling and output dimension, resolved execution precision, loader-constructor contract, and composite dependencies. Slide fingerprints also bind to the selected patch-output fingerprint.
Feature-array fingerprints are written only after every row succeeds, so they act as completion markers. Replacing an invalid model preserves the shared grid and unrelated model arrays while invalidating dependent slide embeddings. Multi-device runs must resolve to one common output contract before the store is touched, and standalone slide encoding now validates the complete patch input before using it.
raw2features verifyfails closed for unregistered model names rather than trusting a contract read back from the target store. Programmatic custom-model runs continue to supply their current contract through injected embedders or factories.SEAL now verifies the pinned adapter before deserialisation, validates complete LoRA coverage, and uses a frozen constructor configuration. GigaPath verifies its downloaded checkpoint before passing it to the model factory. SEAL remains experimental for v0.1.1 because its base encoders are not yet locally pinned.
Testing
ruff check .— passedpytest -m "not slow and not network" -q— 442 passed, 9 skipped, 90 deselectedpytest -q -m network tests/test_registry_revisions_network.py— 40 passedRefs #6