gabriel / muse public
refactor BREAKING shelf dev
AI Agent gabriel · 46 days ago · Apr 26, 2026 · Diff

refactor(shelf): migrate storage from shelf.json to per-entry msgpack layout

- Add shelf_dir() path helper to muse.core.paths (single source of truth for .muse/shelf/ location; shelf_json_path() marked deprecated) - Add shelf_entry_path(), write_shelf_entry(), read_shelf_entry(), list_shelf_entries(), delete_shelf_entry() to muse.core.store mirroring commit/snapshot layout: .muse/shelf/<algo>/<hex>.msgpack - write_shelf_entry: symlink-swap attack guard on .muse/shelf/ dir; atomic temp-rename write via _write_msgpack_atomic - list_shelf_entries: newest-first sort, skips corrupt/oversized files - Rewrite shelf.py _load_shelf/_save_shelf: _load_shelf now delegates to list_shelf_entries; _save_shelf removed entirely; all callers updated - GC _collect_shelf_objects: glob */*.msgpack instead of reading shelf.json - Update test_cmd_shelf.py: replace all _save_shelf / shelf.json references with write_shelf_entry / _load_shelf; 154 tests pass - Add test_shelf_msgpack_storage.py: 68 tests across 8 tiers (unit, integration, e2e, stress, state, integrity, performance, security)

sha256:8834372cf47334de37bf920bdca52290b6816f0f3a2d8b67f27ba717ee1418b0 sha
sha256:d063fe93c3e86bf203ae98dc7f2e22920bbeab5ab0073d5dd2ac0a416d588d43 snapshot
← Older Oldest on dev
All commits
Newer → Latest on dev

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