# research

> Spikes, PoCs, evaluations. No branch, no code.

research is the protocol you reach for when you don’t yet know enough to write a task. It produces a knowledge artifact — findings plus a recommendation — rather than shippable code. There’s no commit/push/MR step and no git branch; the only writes are to the research task file.

```
protocol_start(protocol_name="research")
```

## Steps (4 steps)

1. **scoping** — discussion — Formulate a specific, answerable research question. Classify the type (spike / architecture / evaluation / exploration), bound the scope, set a time box, compose the task file.
2. **exploration** — discussion — Deep, read-only investigation — gather evidence, analyze code, run read-only experiments. code-explorer agents and AI providers do the heavy lifting.
3. **synthesis** — documentation — Distill the evidence into findings and a recommendation in the task file.
4. **conclusion** — discussion — You review; the engine archives the task. No branch to merge, no dispatcher menu.

## What makes it distinctive

### Four research types

Scoping classifies the work as a spike (feasibility → PoC), architecture (design analysis → ADR), evaluation (tool comparison → weighted matrix), or exploration (codebase understanding → documented patterns). Each gets a tailored investigation strategy.

### No branch by design

Research tasks declare branch: none. There’s no git_setup_branch in scoping and no completion dispatcher in conclusion — research output is knowledge, not a diff.

branch: `none — r-<name>, always branchless`
