Repository navigation
test: format-1.1 cross-SDK fixture + coverage/scopes/digest tests; mem inspect shows 1.1 fields - #15
Merged
Merged
Conversation
…m inspect shows 1.1 fields - Conformance/fixtures/sample-1.1.mem (+ generate_sample_1_1.py): a format-1.1 bundle with every manifest field (specURL, coverage, scopes, bundleDigest) and three scoped contexts; both SDKs validate it (recomputing the digest), import it, and re-export byte-identical streams + CHECKSUMS. sample.mem stays at 1.0 as the backward-compatibility fixture. - tests/test_fixture_1_1.py: validates, hash-checks, imports/re-exports, and guards the fixture against drift by rebuilding it from the generator. - tests/test_manifest_v11.py: evidence-pack digest, incremental scopes (delta episodes ∪ all contexts), forward compatibility with unknown manifest keys, seeded property test (coverage == min/max eventTime, scopes sorted+unique incl. a non-ASCII id, digest == sha256(CHECKSUMS)). - cli: 'mem inspect' prints spec / coverage / scopes / digest; CLI test incl. a tampered CHECKSUMS caught via bundleDigest. 89 passed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
okmnchk
approved these changes
Sep 14, 2026
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.
Post-merge hardening of format 1.1 (everything on
mainwas already green: 80/80, CI ✅).New cross-SDK fixture
Conformance/fixtures/sample-1.1.mem(+generate_sample_1_1.py): a format-1.1 bundle carrying every manifest field —specURL,coverage,scopes,bundleDigest— and three scopedcontextrecords soscopesproves the episode-contextID ∪ context-record union (ctx_rootappears only via a context record). Written by Python; the Swift suite validates it (recomputing the Python-written digest), imports it, and re-exports byte-identical streams + CHECKSUMS — the first cross-implementation check of the 1.1 fields on real bytes.sample.memstays at 1.0 as the backward-compat fixture.New tests (+9 → 89)
test_fixture_1_1.py: validate + declared fields · per-file hashes · import/re-export byte-identity · drift guard (rebuilding the generator's store must reproduce the fixture bytes).test_manifest_v11.py: evidence-pack manifest carriesbundleDigest(no coverage/scopes) · incrementalscopes= delta episodes ∪ all contexts · forward compatibility — unknown manifest keys from a hypothetical 1.2 bundle are ignored by validator and importer · seeded property test (coverage == min/max eventTime; scopes sorted+unique incl. a non-ASCII id; digest == sha256(CHECKSUMS)).test_cli.py:mem inspectshows the 1.1 fields;mem validateexits 1 on a smuggled CHECKSUMS line viabundleDigest.CLI
mem inspectnow printsspec,coverage,scopes,digest— the 'what does this archive cover and is it whole?' answer at the terminal.Pairs with the Swift PR (same fixture bytes).
🤖 Generated with Claude Code