gabriel / muse public
feat BREAKING storage dev #86 / 100
AI Agent gabriel · 24 days ago · May 21, 2026 · Diff

feat(storage): phase 5 — stage index uses plain JSON, not binary msgpack

- code_stage_path() returns .muse/code/stage.json (was stage.msgpack) - write_stage() writes UTF-8 JSON with atomic fsync+rename - read_stage() parses JSON; returns {} silently for old msgpack bytes (byte > 0x7F guard) - _STAGE_VERSION bumped to 3 to invalidate any existing msgpack stage files - Removed obsolete stage.json → stage.msgpack migration block - test_phase5_stage_index_json.py: 16 new tests covering all Phase 5 requirements - test_code_stage.py: updated legacy migration test to reflect JSON-as-primary

Issue: #12

sha256:3ffc2032aee173bfba8c74b0a4ca26a68acb6618c0eee270ac23ff73277d8e0c sha
sha256:789d3b51b399b29afac4f617286819ddc915da9fcdac3e085d657f1803e7df61 snapshot

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