# Case: `council-start-dispatches-three-reviewers`

## 用例意义

验证 `council start` 会创建一个新的 council run，并立即分派固定的三位 reviewer：`architecture-reviewer`、`implementation-reviewer`、`risk-reviewer`。

## 前置条件

- 使用隔离的临时目录 `TMPDIR`
- 目标数据库 `TMPDIR/coord.db` 尚不存在

## 输入

```bash
orch --db TMPDIR/coord.db --json council start \
  --run council_blog_001 \
  --target "Review the current blog architecture and propose optimizations." \
  --target-type mixed \
  --output both

orch --db TMPDIR/coord.db --json status --run council_blog_001
```

## 预期输出

- `council start` 退出码为 `0`
- `start.data.run_id == "council_blog_001"`
- `start.data.mode == "brainstorm"`
- `start.data.target_type == "mixed"`
- `start.data.output == "both"`
- `start.data.only_unanimous == false`
- `start.data.reviewers` 长度为 `3`
- 三个 reviewer 的 `reviewer_role` 分别为 `architecture-reviewer`、`implementation-reviewer`、`risk-reviewer`
- 三个 reviewer 的 `status` 都是 `dispatched`
- 后续 `status` 返回 `3` 个 task，run 处于活动中而不是终态

## 断言结论

- `council start` 不只是创建 run 元数据，还会直接完成 reviewer task 的创建与分派
- v1 reviewer 集合是固定的三角色集合，而不是由用户动态指定

## 补充约束

- 未显式传入 `--mode` 时，默认回退到 `brainstorm`
- 未显式传入 `--only-unanimous` 时，默认值是 `false`
- council reviewer task 在当前实现里不应自动申请 code worktree
