# Waves and streams — the shape of fanned-out work

**Activate this layer when** work fans out: more than one stream
or agent working under one plan. A solo repo executing small plans
by hand does not need this machinery — and installing it early is
ceremony, not rigor.

**What broke without it:** two agents editing one file; research
quietly turning into decisions nobody made; verification by the
same eyes that authored; findings that evaporated because nobody
owned them. Fan-out without structure doesn't just fail — it
fails *illegibly*, which is worse.

## The wave pipeline

Plans in this framework share a proven six-stage shape. Adapt the
stages to the work; keep the order and the gates:

1. **W0 — housekeeping.** Conventions for the wave: findings
   homes, version markers, scaffolding. Small; commit it.
2. **W1 — research** (R-streams, parallel, evidence-only).
   Research agents organize evidence under the decision questions
   they feed and **never decide**. Time-sensitive findings live in
   dated state-of-the-world blocks with retrieval stamps (see the
   versioning layer). Recall dressed as retrieval is prohibited —
   an agent that couldn't verify says so.
3. **W2 — decisions** (the primary agent, personally). The
   decision-record batch, informed by W1. Doctrine-touching
   questions route to an owner checkpoint; the rest are decided
   on the evidence with rationale recorded. Exit gate: every
   question decided, parked, or at the checkpoint.
4. **W3 — authoring** (A-streams, parallel, disjoint ownership).
   Embody the decisions. Exit gate: all gates green.
5. **W4 — integration** (primary + at most one I-stream). The
   cross-cutting truth-ups no parallel stream could own: shared
   indices, cross-references, escalation adjudication.
6. **W5 — verification** and **W6 — repair.** Below.

Close every wave with a boundary commit whose message states what
the wave did. Close the plan with honest actuals against its
estimate — an estimate never reconciled is an estimate nobody
will believe next time.

## Briefs

A brief is **pointer-based**: the agent is told what to read, in
what order (conventions and rules first, then its inputs), and
what it owns — never handed restated content that can drift from
the source. Every brief carries: the scoped file ownership
(exact files; nothing else), the escalation rule, the identifier
rule (mint fresh; grep the existing maxima first), the gates it
must leave green, and the required form of its final report —
**raw data for the primary agent, not prose for the owner.**

## Disjoint ownership

No two parallel agents may write the same file. Ever. Shared,
cross-cutting files — indices, registries — are **reserved for
the primary agent's integration pass**: the cheapest
deconfliction in existence is a file nobody else may touch. Where
two streams' work genuinely meets in one file, pre-split it in
the brief — which stream owns which section, or which lands
first — and record the split. The framework makes parallel work
safe by making it legible, not by locking anything.

## Verification is a first-class wave

Verification agents are **independent of the authors** and
**adversarial by brief**: attack the text as written; a
countermeasure that works only if you read the author's mind is a
gap. They produce findings in a shared format — ID, severity from
a fixed scale, class, location, the defect stated, evidence with
citations, a proposed disposition, and a status the repair wave
will set.

Run **distinct lenses**, not redundant passes: completeness,
adversarial, fidelity-to-source, cold-reader. Different lenses
catch different failure classes; identical passes catch the same
ones twice. And when two independent streams land on the same
defect, that is confirmation, not duplication — triage them
together and say so.

## Repair, dispositions, and the roll-up

Repair agents close findings **per the findings' proposed
dispositions plus the decided decision records — never deciding
anew.** Every repair stream writes a dispositions file: one line
per assigned finding — fixed (and where), no-change (and why),
escalated, or parked. The primary agent closes the plan with a
**roll-up proving every finding is terminally dispositioned** —
mechanically counted, not asserted. A finding nobody owned is the
failure mode the roll-up exists to catch: in the fog, the most
dangerous defect is the one everyone assumed someone else was
holding.
