Swarm
Fan out N independent parallel workers. They may cover separate slices, race the same brief, or mix both. The parent waits, aggregates, and returns one report.
Start
Open a todolist with one entry per phase before launching anything.
- Frame
- Fan out
- Aggregate
- Report
Phase A: Frame
- State the done predicate and the artifact or report the swarm must return.
- Choose the shape. Partition into slices, race N workers on identical briefs, or mix both. For a race or mixed shape, declare
first pass, rank all, or best-of before spawning.
- Set N from the user or derive it from the shape. N is total workers, not the delegation capacity.
- Follow the delegation instructions in
AGENTS.md. Use the current environment's configured worker roles and available delegation interface. Inherit supported defaults when no override is configured; report unsupported configuration rather than inventing identifiers. Use only supported execution settings. For a race, name each arm's role and setup up front. Shared role configuration is managed separately.
- Give each worker its own writable output when it writes. Keep reports and temporary artifacts under the project's intermediate-work directory (
.agents-state/ here). Name writable file or directory ownership in each editing brief so workers do not overwrite one another's work. When workers verify or measure commits, each brief names the exact SHAs. A measurement brief also names the method (sample count, what one sample is, order). The worker records both in its result.
Phase B: Fan out
Launch all N workers through the available delegation interface, concurrently within its capacity or in batches when necessary. Choose execution environments with the source, tools and data access their briefs require.
Provide the requested branch or starting revision through the environment's supported checkout mechanism; ensure it matches the brief rather than relying on an implicit default.
Every brief stands alone. Include the goal, scope, exact slice or race arm, how to verify, and what to report. Reports use PASS, ISSUES, or BLOCKED with evidence. A worker that can prove a defect reports ISSUES and lists every issue it can prove, not only the first.
If a worker drops out, proceed with N-1 and note it.
Phase C: Aggregate
Read the terminal results. Drop a result that does not record the SHAs and method its brief names, and respawn that worker once. After a second miss, record a gap. A gap does not count as a pass. For coverage, every required slice needs a result. For a race, apply the selection rule declared up front. Use first pass, rank all, or best-of. Do not paste raw worker dumps.
Keep a compact result table, one-line evidenced issues, and explicit gaps or dropouts.
Phase D: Report
Return one consolidated in-chat report with the table, issue one-liners, gaps or dropouts, and the race rule when used.