# brainstorm

> Parallel-specialist ideation → planned tasks. No code.

brainstorm turns a fuzzy “should we build X?” into a justified results document plus a set of concrete, coverage-audited implementation tasks — without writing a line of production code. Its centerpiece is a 6-specialist parallel analysis with a conflict-resolution loop. Every step runs in documentation mode by design.

```
protocol_start(protocol_name="brainstorm")
```

## Steps (5 steps)

1. **topic** — documentation — Define the topic in one sentence, why it’s being considered, which modules are affected. Compose the brainstorm task file with its scaffold (Decisions, Expert Analysis, Conflicts).
2. **discussion** — documentation — Deep discussion recording every accepted decision. Doubles as the conflict-resolution step — re-entered from analysis when specialists disagree.
3. **analysis** — documentation — The defining step: 6 specialist subagents fan out in a single parallel-dispatch message (plus AI providers when configured). Conflicts loop back to discussion.
4. **results** — documentation — Synthesize the analysis into a justified results document — the recommendation and its rationale.
5. **planning** — documentation — Turn the results into concrete, coverage-audited implementation tasks, handed off to separate task protocol runs.

## What makes it distinctive

### Six parallel specialists

Analysis launches six specialist subagents in one message — architecture, code-impact, critique, user-perspective, risks & security, scope & phasing — each in its own context window. When AI providers are configured they join in the same parallel dispatch.

### Conflict-resolution loop

When specialists disagree, the protocol loops back to discussion: it presents the competing viewpoints, you decide, resolutions are recorded as new decisions, and every open question must be cleared before analysis re-runs.

### No production code

The product is knowledge and a plan. Source edits are hook-blocked throughout; the actual build happens in a separate task run.

branch: `brainstorm/ — b-brainstorm-<name>`
