gabriel / muse public
feat BREAKING task/status-working-tree-rename-detection #1 / 1
AI Agent gabriel · 14 days ago · May 26, 2026 · Diff

feat: working-tree rename detection in muse status

When a tracked file disappears and an untracked file with the same content_id appears, muse status now classifies the pair as a rename (renamed: {old → new}) rather than deleted + untracked.

- StageStatus TypedDict gains a renamed field (Manifest, old → new) - stage_status() in code plugin detects renames by content_id matching; greedy first-alphabetical match when multiple candidates share content - Staged deletes (explicit muse rm) are excluded from rename detection - status.py _render_stage_status() surfaces renamed in JSON flat view and in long/short text output (cyan R label) - total_changes counts renames; clean/dirty account for renames - 10 new TDD tests covering R1–R10 scenarios

sha256:ee366d04d54321bdfe98cf940d1fb2f5c543580410a95124b075530e94184643 sha
4 changed · 1083 in snapshot files
sha256:416867a831b16d675334bb4a4a85e99bfb5646652278762c44638526da8dcca2 snapshot
4
files changed
1083
files in snapshot
Files Changed
+1 ~3
1083 in snapshot
← Older Oldest on task/status-working-tree-rename-detection
All commits
Newer → Latest on task/status-working-tree-rename-detection

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