- Separate orchestration from execution: one long-lived session coordinates and verifies while separate short-lived sessions implement; the coordinator writes briefs, verifies claims, and reads diffs, but does not code.
- Use a durable external state store (e.g., a board with an API) for task state, design documents, and lessons; conversation context is ephemeral and unreliable for long runs.
- Treat every agent report as evidence, not instruction: re-run commands to verify claims; exit codes are authoritative, summaries are intent.
- Write to durable channels (committed files, board cards) instead of relying on inter-session messages, which can be delayed, held, or expire.
- Timebox for surfacing, not for cutting: the interval decides how often to report, but work finishes the current task before reporting; never cut mid-task.
- Distrust your own instruments: checks that report success for work they did not do are the most expensive errors; require positive controls and explicit match counts.
- Follow a precise operating loop: pull task, read design, run verifier first (must fail), delegate, re-run claimed commands, read diff, resolve approval, ship with one commit per item.
- Use this pattern when work spans multiple sessions, parallelism is needed, correctness matters more than speed, or the project outlives a single session; avoid for simple one-shot tasks.