feat
BREAKING
pack
task/delta-snapshot-wire
#1 / 1
feat(pack): delta-encode snapshots in MPackBundle wire format
Replace full manifest blobs with delta chains in MPackBundle: - Add SnapshotDeltaDict wire type: {snapshot_id, parent_snapshot_id, delta_add, delta_remove} - Add _build_snapshot_deltas: emit only changed paths relative to parent manifest - Add _apply_snapshot_deltas: reconstruct + verify full manifests from delta chain - Update build_mpack and build_mpack_from_walk to emit deltas - Update apply_mpack to reconstruct SnapshotRecords from deltas - Add test_mpack_delta_format.py: 5 tests covering delta correctness and wire size
For a 100-commit chain each touching one file in a 50-file repo, delta snapshots are < 2% of full-manifest size.
sha256:51ce277f663e01a43eaffbe77509b1de7ac2d4251b55d23306304bcdeb92c90d
sha
+35
~5
symbols
1033 changed · 1033 in snapshot
files
sha256:dc204c99e9f38b729d378f3190eaf531fa52c1ecad67ee312da2c0b9d61d52a5
snapshot
+35
symbols added
~5
symbols modified
1033
files changed
1033
files in snapshot
0
dead code introduced
Semantic Changes
40 symbols
+
test_apply_mpack_reconstructs_snapshots_from_deltas
function
function test_apply_mpack_reconstructs_snapshots_from_deltas L242–261
+
test_delta_bundle_smaller_than_full_manifest
function
function test_delta_bundle_smaller_than_full_manifest L211–239
+
test_delta_reconstruction_proves_snapshot_id
function
function test_delta_reconstruction_proves_snapshot_id L177–187
+
test_only_first_snapshot_has_full_manifest
function
function test_only_first_snapshot_has_full_manifest L190–208
Files Changed
+1033
1033 in snapshot
+1033
1033 in snapshot
+
LICENSE
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:51ce277f663e01a43eaffbe77509b1de7ac2d4251b55d23306304bcdeb92c90d --body "your comment"
No comments yet. Be the first to start the discussion.