| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-03-12 | 1.3 kB | |
| v0.7.0 -- KeyResolver protocol + injectable trust resolution source code.tar.gz | 2026-03-12 | 424.9 kB | |
| v0.7.0 -- KeyResolver protocol + injectable trust resolution source code.zip | 2026-03-12 | 476.3 kB | |
| Totals: 3 Items | 902.5 kB | 0 | |
[0.7.0] - 2026-03-12
Added
KeyResolverprotocol — injectable, sync-only interface for trust key resolution.get_key(key_id) -> Optional[bytes]andkey_status(key_id) -> KeyStatus.StaticKeyRingResolver— zero-I/O resolver backed by a pre-loadedTrustedKeyRing.PipelineOptions.key_resolver— threads custom resolver through the shared pipeline intoEvidenceSystem.KeyResolverandStaticKeyRingResolverexported frompic_standardpublic API.tests/test_key_resolver.py— 7 tests covering resolver protocol, injection, lazy default semantics, and pipeline threading.
Changed
- Evidence hot path fix:
EvidenceSystemno longer reloads the keyring per signature item. Default trust resolution is lazy (loaded on first signature verification only). EvidenceSystem.__init__accepts optionalkey_resolverparameter. When omitted, the default resolver is constructed lazily viaTrustedKeyRing.load_default()on first use — hash-only evidence never triggers keyring loading.- Deleted
_load_public_key_from_keyring()module-level function; replaced byEvidenceSystem._resolve_public_key()instance method using the resolver protocol.
Fixed
- Hash-only evidence verification no longer triggers unnecessary keyring file I/O.