writing-plans: per-task "run tests" + "commit" steps make compiled-language plans very slow — allow batching
Problem
The writing-plans task template ends every task with "Run test to verify it fails", "Run test to verify it passes" and "Commit". executing-plans / subagent-driven-development follow it literally, so every task becomes its own build + test run + commit.
In a large compiled workspace (e.g. Rust) each run is a multi-minute compile. A 20-task plan spends hours compiling and a large share of its tokens on build output, and the history fills with one commit per micro-step.
Test-first is not the issue; the per-task frequency is.
Proposal
Offer (or default to, for compiled languages) a batched shape:
- Write all the tests of the plan (or of a phase), no build.
- One run: see them all fail.
- Implement all the tasks, no build.
- One run: see them pass.
- One commit at the end of the plan/phase.
Concretely: drop the per-task "Commit" step from the template (commit per phase instead) and let the plan declare test runs per phase rather than per task.
Why it costs so much
Each per-step commit is usually pushed right away, and every push triggers a full CI build. A task done in 800 micro-commits compiles 800 times. One commit and one push per delivery (or per phase) is the fix.
Source: obra/superpowers