Summary
Git operations (git status, git diff, git stash, git push) are significantly slow on the current NTFS-mounted path (/mnt/d/dev/p/agent-almanac/). With ~850 tracked .webp icon files, every git status requires ~850 stat() calls across the WSL2 9P bridge, causing multi-minute hangs. Moving the repo to the native WSL2 ext4 filesystem (~/dev/ or similar) would provide 10-50x faster I/O for all git operations.
This is a filesystem-level change that requires careful investigation before execution. Data loss or broken symlinks are real risks.
Findings
- [HIGH]
git status takes 30-60+ seconds on NTFS due to stat() overhead across 850+ icon files
- [HIGH]
git stash / git checkout hang for minutes because they write binary files to NTFS
- [MEDIUM]
git push with large changesets (100+ files) is unpredictably slow
- [LOW] Git LFS was considered but would only help stash/push, not the core stat() bottleneck
Investigation Items (do before any migration)
Acceptance Criteria
Risk Assessment
| Risk |
Severity |
Mitigation |
| Broken global symlinks (~267 skill + agent symlinks) |
HIGH |
Audit and rebuild script ready before migration |
| Broken MCP server paths |
HIGH |
Update configs in ~/.claude/settings.json and claude_desktop_config.json |
| Lost uncommitted work |
CRITICAL |
Ensure clean working tree, full backup before any move |
| Parent CLAUDE.md references break |
MEDIUM |
Update /mnt/d/dev/p/CLAUDE.md paths |
| Windows-side tool access lost |
LOW |
Evaluate if any Windows tools need direct NTFS access |
| WSL2 vhdx disk space |
MEDIUM |
Check available space first |
Context
Discovered during icon pipeline audit and team-based bugfix session on 2026-04-01. Multiple git operations ran to background or hung during the session. The repo has grown from a docs-only project to include ~850 rendered icon files across 9 palettes.
Related: #168 (renv hangs on WSL/NTFS — same root cause)
Summary
Git operations (
git status,git diff,git stash,git push) are significantly slow on the current NTFS-mounted path (/mnt/d/dev/p/agent-almanac/). With ~850 tracked.webpicon files, everygit statusrequires ~850stat()calls across the WSL2 9P bridge, causing multi-minute hangs. Moving the repo to the native WSL2 ext4 filesystem (~/dev/or similar) would provide 10-50x faster I/O for all git operations.This is a filesystem-level change that requires careful investigation before execution. Data loss or broken symlinks are real risks.
Findings
git statustakes 30-60+ seconds on NTFS due to stat() overhead across 850+ icon filesgit stash/git checkouthang for minutes because they write binary files to NTFSgit pushwith large changesets (100+ files) is unpredictably slowInvestigation Items (do before any migration)
/mnt/d/dev/p/agent-almanac/— CLAUDE.md files, symlinks, scripts, hooks, MCP server configs/mnt/d/dev/p/directory (20+ sibling projects may reference agent-almanac)~/.claude/agents/and~/.claude/skills/*currently point to/mnt/d/dev/p/agent-almanac/...r-mcptoolsandhf-mcp-serverconfigs may reference NTFS paths/mnt/d/dev/p/agent-almanacfor compatibilityAcceptance Criteria
git statuscompletes in <2 seconds, all symlinks work, all MCP servers connect, all hooks fireRisk Assessment
~/.claude/settings.jsonandclaude_desktop_config.json/mnt/d/dev/p/CLAUDE.mdpathsContext
Discovered during icon pipeline audit and team-based bugfix session on 2026-04-01. Multiple git operations ran to background or hung during the session. The repo has grown from a docs-only project to include ~850 rendered icon files across 9 palettes.
Related: #168 (renv hangs on WSL/NTFS — same root cause)