# T013 — Wizard script steps (speakers include lead)

> Status: `done`
> Completed: 2026-07-09  
> Milestone: `M5`  
> Est. change: `~180 lines`

## Goal

步驟 3 劇本：root 固定 lead；reply 每步帳號下拉 = **lead ∪ cast**（**含 lead**）。

## Depends on

- T012

## Inputs

- Spec §2 Speakers、§4.3 步驟 3、驗收 root→cast→lead

## Outputs

### 程式變更

| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/pages/studio/steps/ScriptStep.tsx` | add | 步驟列表 |
| `apps/web/src/domain/speakers.ts` | add/edit | speakersOf(play)、validate |

### 行為變更

- 新增/刪除 reply 步（root 不可刪）  
- 每步文案 textarea  
- reply 可選 lead  
- 校驗：reply.account_id ∈ Speakers

## Out of scope

- 預覽與提交（T014）

## Acceptance

- [ ] 可建 root(A) reply(B) reply(A)  
- [ ] 不在 Speakers 的選項不出現  
- [ ] `npm run build` 通過

```bash
cd apps/web && npm run build
```
