Problem
afx spawn --protocol maintain requires a clean worktree. When the worktree has uncommitted local state files (.codev/config.json, .mcp.json, etc.), it fails with "Uncommitted changes detected."
Using --force to skip the check fails with "—force requires an issue number (not needed for --task)". This forces the architect to either:
- Create a GitHub issue just to get an issue number (unnecessary ceremony for maintenance)
- Fall back to
afx spawn --task "..." which gives a random ID like task-NH8C instead of a clean name
Expected Behavior
afx spawn --protocol maintain --force should work without an issue number. Maintenance runs are operational, not feature work — they don't naturally have issues.
Ideally afx spawn --protocol maintain should also generate a sensible builder name like builder-maintain-NNNN (where NNNN is the next maintenance run number) instead of requiring an issue-derived name.
Current Workaround
Use afx spawn --task "Run MAINTAIN protocol" --force, which works but produces an opaque task ID.
Problem
afx spawn --protocol maintainrequires a clean worktree. When the worktree has uncommitted local state files (.codev/config.json,.mcp.json, etc.), it fails with "Uncommitted changes detected."Using
--forceto skip the check fails with "—force requires an issue number (not needed for --task)". This forces the architect to either:afx spawn --task "..."which gives a random ID liketask-NH8Cinstead of a clean nameExpected Behavior
afx spawn --protocol maintain --forceshould work without an issue number. Maintenance runs are operational, not feature work — they don't naturally have issues.Ideally
afx spawn --protocol maintainshould also generate a sensible builder name likebuilder-maintain-NNNN(where NNNN is the next maintenance run number) instead of requiring an issue-derived name.Current Workaround
Use
afx spawn --task "Run MAINTAIN protocol" --force, which works but produces an opaque task ID.