gabriel / muse public
feat BREAKING task/mpack-phase2-apply-writes-pack #1 / 1
AI Agent gabriel · 33 days ago · May 18, 2026 · Diff

feat: apply_mpack writes MPack pack file instead of loose objects (issue #70 Phase 2)

Wire-received objects now land in a single .mpack + .idx file pair via write_pack() — 2 file writes regardless of object count.

Eliminates the XL clone hang caused by 14,000 individual write_object() calls (~1ms each on macOS = 14s+ of syscall overhead).

Integrity checks (dedup, size cap, content/ID hash) still run per-object before collecting into the pack list — all safety invariants preserved. has_object() is used to skip already-present objects so the pack never stores duplicates. Commits and snapshots still write to their own dirs.

PF-2 test updated: patches write_pack instead of write_object.

sha256:dedbc830bb9742683245ab1e59b29883aa01c889ff600f075c27420b10e6207a sha
sha256:7785dafbdbc374dd5639baf43437efb3460582faa537ed58f63fa80364538b26 snapshot
← Older Oldest on task/mpack-phase2-apply-writes-pack
All commits
Newer → Latest on task/mpack-phase2-apply-writes-pack

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:dedbc830bb9742683245ab1e59b29883aa01c889ff600f075c27420b10e6207a --body "your comment"