---
name: build-waves
description: Parallelize implementation safely through dependency-ordered waves and disjoint ownership.
version: 1.0.0
updated: 2026-08-14
---

# Build Waves

Split only genuinely independent work. Every lane receives the plan, repository instructions, role, exact ownership, rubric, dependencies, and required tests. No two workers intentionally edit the same file.

Use Codex `gpt-5.6-sol` at low effort for build lanes. Anything flagged for review goes to an
independent clean-context max-effort twin; the orchestrator's own inspection is additional and
never substitutes for that twin.

Order waves by dependency: foundations and schema; services and contracts; UI and integrations; integration; E2E and evidence; fix waves. Keep the critical path moving while independent lanes run.

Workers must preserve concurrent changes and commits, coordinate contested files, test their own
behavior, and report changed files, checks, evidence, blockers, and deferred scope. The integrator
reviews all output and owns cross-boundary correctness. Twin findings create bounded fix waves
scoped to those findings, followed by fresh evidence and clean-context review.

Delivery is part of done: land a focused commit and synchronize it at the deploy source when that
repository is in scope. Do not publish or deploy without separate explicit authority. Verify
routes, assets, metadata, and middleware through the production start command and production
entrypoint because development servers can mask upstream interception.

Throttle concurrency to observed CPU, memory, disk, service, and browser limits. More workers are not progress if they destabilize the workspace.

## Coordination, leases, and receipts

Evidence receipts use the one canonical
[evidence receipt schema](../tutorial-verified-done/references/evidence-receipt-schema.md). Domain-
specific receipts may add detail, but must not copy, weaken, or fork its completion fields.

Use an append-only agent bus for identity, wave, exact file ownership, dependencies, `ready:<artifact>` handoffs, heartbeat deltas, claims, releases, and evidence. Model singleton devices, browsers, and heavy jobs as request/grant/done leases. Preserve the first evidence-supported `arrival_at`, last durable output, and safe resume point; reclaim only after age plus proof that no live owner remains or a resource emergency requires it.

On small machines, state the compute budget before broad work. Bound heavy processes, keep one browser tree, prefer focused checks and resumable limited batches, and checkpoint each item. Diagnose repeated port, bind, forwarding, or readiness failures instead of restart-looping. Never kill an unowned process.

End every worker and phase receipt with R/E/K/Ce: recoverability and verification, cheapest capable path, effect on user time and surprises, tradeoffs, and the single highest-value next item. Intake runners may prepare and verify a focused local commit, but push, publish, spending, production mutation, and outbound messaging remain separate current-authority gates.
