fix(status): untracked files now set clean=False, matching git behaviour
Previously clean=True even with untracked files on disk. This silently misled agents into thinking a working tree was fully committed when it wasn't — the bug that caused the architecture doc to go unnoticed.
Git contract: 'nothing added to commit but untracked files present' is NOT a clean tree. Muse now matches this.
- status.py: `clean = not staged and not unstaged and not untracked` - _StatusJson docstring updated - agent-guide.md: corrected clean/dirty/untracked key-rules section and the git muscle-memory traps table - test_cmd_status.py: new test_untracked_file_makes_repo_not_clean (was RED) - docs/protocol/musewire-architecture.md: staged (was untracked, never committed)
sha256:2148d03925bdee980ca42fad1223c056bb83aaba3ea381d6529f8c77fea9aaff
sha
+141
~3
symbols
sha256:46f87db16f3e6950f5447b66ac6759317b4fce73cb0a4859899044615f74bf82
snapshot
+141
symbols added
~3
symbols modified
0
dead code introduced
Semantic Changes
144 symbols
+
Code Intelligence — Replace Your Reflexes
section Code Intelligence — Replace Your Reflexes L580–988
+
Eight questions, eight commands — do not confuse them
section Eight questions, eight commands — do not confuse them L916–927
+
Layered intel — three altitudes, one repo
section Layered intel — three altitudes, one repo L584–596
+
muse cat vs muse code cat — two different commands
section muse cat vs muse code cat — two different commands L976–988
+
muse read --json — what the output contains
section muse read --json — what the output contains L959–976
+
Deletion muscle memory — git rm → muse rm
section Deletion muscle memory — git rm → muse rm L1014–1034
+
Hub command shape — noun then verb, not verb-noun
section Hub command shape — noun then verb, not verb-noun L1084–1137
+
muse status --json — always the same shape
section muse status --json — always the same shape L1034–1084
+
muse push — check remotes exist before pushing
section muse push — check remotes exist before pushing L78–96
+
Comparison Grid: Git Smart HTTP vs MWP Today vs MWP Target
section Comparison Grid: Git Smart HTTP vs MWP Today vs MWP Target L8–31
+
Current Protocol State (Accurate as of 2026-04-24)
section Current Protocol State (Accurate as of 2026-04-24) L216–235
+
Phase 1 — Advertise worker endpoint in /refs response
section Phase 1 — Advertise worker endpoint in /refs response L110–135
+
Phase 2 — MWP object-pack POST (all objects, no presign)
section Phase 2 — MWP object-pack POST (all objects, no presign) L135–165
+
Phase 3 — Eliminate presign for production; keep for local
section Phase 3 — Eliminate presign for production; keep for local L165–179
+
Phase 5 — Remove presign sidecar from CLI (production only)
section Phase 5 — Remove presign sidecar from CLI (production only) L207–216
+
The Right Answer: Cloudflare Worker Pack Receiver
section The Right Answer: Cloudflare Worker Pack Receiver L64–106
+
test_untracked_file_makes_repo_not_clean
method
method test_untracked_file_makes_repo_not_clean L677–697
← Older
Oldest on task/mwp-cleanup
All commits
Newer
docs(wire): update architecture doc — server cleanup complete, s…
sha256:ba5ebcfb68f06765dfe432fad2b830a4479f6ab500dc07be703d06b5e0eff00f
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:2148d03925bdee980ca42fad1223c056bb83aaba3ea381d6529f8c77fea9aaff --body "your comment"
No comments yet. Be the first to start the discussion.