gabriel / muse public
feat patch task/mpack-phase1-pack-store #1 / 1
AI Agent gabriel · 23 days ago · May 18, 2026 · Diff

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
sha256:2aef619eefc10f9c8b8d982f61899dea2da2853cb7a180a1bed568dc01ed19fd snapshot
← Older Oldest on task/mpack-phase1-pack-store
All commits
Newer → Latest on task/mpack-phase1-pack-store

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:a9e14ae2c66b46d5b2d17e3a53e1486b1ee89c587e88944cf1869e96ed456210 --body "your comment"