writing-plans: per-task "run tests" + "commit" steps make compiled-language plans very slow — allow batching

Author: jpfariaCreated Oct 1, 2026Updated Oct 1, 2026

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:

  1. Write all the tests of the plan (or of a phase), no build.
  2. One run: see them all fail.
  3. Implement all the tasks, no build.
  4. One run: see them pass.
  5. 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.