docs: add local source-of-truth for muse#104 -- empty-dir-sentinel comprehensive fix roadmap
Parent/roadmap ticket linking #101, #102, #103 (and the already-shipped 0.2.1rc8 clobber fix) as four symptoms of one root design flaw: the 0.2.1 refactor that replaced the old non-colliding 'dir:' sentinel string with EMPTY_DIR_OID = blob_id(b'') reintroduced ambiguity between 'this is a tracked empty directory' and 'this is a genuinely empty file' -- both hash identically, and object_id equality is the only discriminator used anywhere in the codebase.
Documents the full blast radius (19 call sites across 6 files trusting object_id == EMPTY_DIR_OID, plus 8 files independently constructing directories= values), presents two design options (revert to a non-colliding sentinel vs. an explicit kind discriminator field) with a recommendation, and lays out a 6-phase TDD roadmap with an explicit multi-part acceptance gate -- not closeable until all four child symptoms are fixed, verified with regression tests, and confirmed resolved in all three real-world repos that surfaced this session (~/thoughts, ~/ecosystem/presentations/build-with-muse, ~/ecosystem/musehub).
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Semantic Changes
9 symbols
Files Changed
+1
1206 in snapshot
0 comments
muse hub commit comment sha256:09d4b6592647086ae8fe7356c0369b867aba50c718c3ae0b9622088c0490db3a --body "your comment"
No comments yet. Be the first to start the discussion.