Serial Studio — /ss-tasks (phase 3 of 4)
Decompose the approved plan.md into an ordered checklist of small, individually-verifiable
units. Each task is a coherent diff a reviewer could read on its own. See
doc/claude/spec-driven.md for the gate discipline.
Preconditions
doc/claude/specs/NNNN-slug/plan.mdexists and itsstatus:isapproved.
Procedure
Read
spec.mdandplan.md. The tasks must cover every file in the plan's affected- files table and every acceptance criterion in the spec — nothing more, nothing less.Copy the template and write the tasks:
cp doc/claude/specs/templates/tasks.md doc/claude/specs/NNNN-slug/tasks.mdDecompose well:
- One task = one focused change. If a task touches more than ~3 files or needs a paragraph to describe, split it.
- Order so the tree stays coherent: data model /
Keys::and enums before the code that reads them; a driver class before its registration touch-points; UI after the model that feeds it. - Each task names its Files, what it Does, how to Verify it (usually
python scripts/code-verify.py --check <files>plus a test or read-back), and its Deps. - A task touching a silent-breakage class (hotpath, ctor closure, signal wiring, cached
hotpath flags) names the binding invariant in its Does line — so
/ss-implementre-states it at edit time instead of rediscovering it (doc/claude/j-space.md: constraints steer only when named close to the action). - Sequence hotpath-sensitive work so
--benchmark-hotpathcan be run at a clean point.
Fill the Definition of Done — the whole-feature gate (code-verify clean,
qt-cpp-reviewrun, hotpath not regressed,pytesttargets identified,sanitize-commitrun, diff in scope, spec markeddone).
Gate
Stop after writing tasks.md. Present the checklist for review. Do not run /ss-implement
until the maintainer approves it. Reordering or splitting tasks now is free; discovering a
missing task mid-build is not.
Rules
- Tasks describe work; they do not perform it. No code in this phase.
- Every acceptance criterion in
spec.mdmust be reachable by completing the listed tasks. If one is not, the plan is incomplete — go back to/ss-plan. - Keep the checklist honest: it becomes the live progress record that
/ss-implementupdates.