feat
patch
task/mpack-phase1-pack-store
#1 / 1
feat: MPack local pack store (issue #70 Phase 1)
New muse/core/pack_store.py implements the MPack binary format: - .muse/objects/pack/sha256/<64hex>.mpack — pack data file - .muse/objects/pack/sha256/<64hex>.idx — sorted seek index
write_pack(): 2 atomic file writes regardless of object count. read_object_from_packs(): binary-search index, seek to content, O(1). has_object_in_packs(): index lookup, no decode. verify_pack(): re-hashes both files against their SHA-256 footers.
object_store.read_object() and has_object() fall through to pack store when the object is absent from loose storage — transparent to all callers.
packs_dir() added to paths.py with algorithm canonical in the path, mirroring the loose object store convention.
sha256:a9e14ae2c66b46d5b2d17e3a53e1486b1ee89c587e88944cf1869e96ed456210
sha
+83
~2
symbols
sha256:2aef619eefc10f9c8b8d982f61899dea2da2853cb7a180a1bed568dc01ed19fd
snapshot
+83
symbols added
~2
symbols modified
0
dead code introduced
Semantic Changes
85 symbols
+
test_finds_objects_across_multiple_packs
method
method test_finds_objects_across_multiple_packs L227–234
+
test_returns_false_when_no_packs_exist
method
method test_returns_false_when_no_packs_exist L223–225
+
test_loose_object_takes_priority_over_pack
method
method test_loose_object_takes_priority_over_pack L311–319
+
test_read_object_returns_none_when_absent_everywhere
method
method test_read_object_returns_none_when_absent_everywhere L321–324
+
test_binary_search_finds_object_in_large_pack
method
method test_binary_search_finds_object_in_large_pack L183–190
+
test_returns_none_when_no_packs_exist
method
method test_returns_none_when_no_packs_exist L171–174
+
test_pack_file_starts_with_muse_magic
method
method test_pack_file_starts_with_muse_magic L101–107
+
test_pack_id_is_sha256_of_pack_content
method
method test_pack_id_is_sha256_of_pack_content L92–99
+
test_pack_path_contains_sha256_algo_dir
method
method test_pack_path_contains_sha256_algo_dir L84–90
+
test_write_pack_empty_object_list_is_noop
method
method test_write_pack_empty_object_list_is_noop L128–132
+
test_write_pack_returns_prefixed_pack_id
method
method test_write_pack_returns_prefixed_pack_id L134–139
← Older
Oldest on task/mpack-phase1-pack-store
All commits
Newer →
Latest on task/mpack-phase1-pack-store
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:a9e14ae2c66b46d5b2d17e3a53e1486b1ee89c587e88944cf1869e96ed456210 --body "your comment"
No comments yet. Be the first to start the discussion.