gabriel / muse public
feat BREAKING feat/directory-tracking #11 / 13
AI Agent gabriel · 12 days ago · May 28, 2026 · Diff

feat: staged directory renames shown as renamed in muse status

- stage.py: add dir_renames field to StageIndex; add read_stage_dir_renames(); write_stage() accepts optional dir_renames param (preserves existing when None) - mv.py: record rename pair in stage when moving a directory; collapse rename chains (A→B then B→C becomes A→C in the stored map) - plugin.py: read and validate staged dir renames in stage_status; expose as staged_renamed in DirStatus; exclude renamed dirs from staged_added/deleted - domain.py: add staged_renamed field to DirStatus TypedDict - status.py: fold staged_renamed into renamed (JSON), staged.renamed, and text output ('renamed directory: foobar/ → test/')

sha256:8c872e4dffa2db45a9629956256fa1c99a3d2ff33b80c055252e58d94a0e8d1b sha
+3 ~15 symbols
sha256:0182de99c06f4ecb11d17df63d142a325c9207cd18bc68d85feb20aadaad4c6b snapshot
+3
symbols added
~15
symbols modified
0
dead code introduced
Semantic Changes 18 symbols
~ muse/cli/commands/mv.py .py 1 symbol added, 5 symbols modified
+ read_stage_dir_renames import import read_stage_dir_renames L65–65
~ run
~ muse/domain.py .py 1 symbol modified
~ muse/plugins/code/plugin.py .py 1 symbol added, 6 symbols modified
+ read_stage_dir_renames import import read_stage_dir_renames L128–128
~ muse/plugins/code/stage.py .py 1 symbol added, 2 symbols modified
+ read_stage_dir_renames function function read_stage_dir_renames L122–140

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