# 协议：design.md 盲测复述

对齐原帖建议 prompt；中文步骤 + 英文原句并存。

## 0. 准备

1. 把计划写成一份 `design.md`（或同等设计文档），路径固定、可只读打开。
2. **不要**在父会话里先口头摘要给即将复述的子 agent。
3. 准备两套对照（同一文档）：
   - **A · spawn-only**：全新子 agent / 新会话，零父上下文。
   - **B · fork 基线**（可选对照）：fork 当前会话，或把近期对话摘要一并塞给子 agent。

盲测 agent **不应**拿到 `expected-ambiguities.md`（那是评分人用的答案纸）。

## 1. Spawn 提示词（原帖英文，原样使用）

```
Spawn a new subagent, not a fork. Give it only the path to design.md, no summary. Have it:
1. Write two paragraphs in its own words (2-5 sentences each): what this doc proposes, and how the existing system works according to the doc.
2. Mark any part it can't explain back as a blocker.
3. List project-specific terms the doc never defines or links to, and setup steps the doc assumes the reader already knows but never writes down.
It's read-only and changes no files. Compare its version with the plan we agreed on. Wherever they don't match, fix the doc first, then write the code.
```

### 中文操作摘要（给执行人，不是塞给盲测 agent 的摘要）

1. **Spawn 新子 agent，不要 fork。**
2. **只给** `design.md` 路径，**不给**摘要、不给「我们刚才说好的」。
3. 要求它：
   - 用自己的话写两段（各 2–5 句）：文档提议做什么；按文档描述，现有系统如何工作。
   - 解释不回去的标成 **blocker**。
   - 列出文档从未定义/链接的项目术语，以及文档默认读者已知、却从未写明的 setup 步骤。
4. 只读，不改文件。
5. 把复述与「你们已达成的计划」对照；不一致处 **先改文档，再写代码**。

## 2. Fork 基线（对照，不是推荐默认）

故意让对照 agent 带着父会话上下文（fork，或粘贴近期讨论）。用**同一份** `design.md` 与**同一套**复述问题。记录：它是否更少标 blocker、是否「复述完美」。

## 3. 对照表：spawn-only vs fork

| 判据 | Spawn-only（目标模式） | Fork 基线 |
|------|------------------------|-----------|
| 可见上下文 | 仅 design.md（+ 只读打开权限） | 父会话历史 / 摘要 + design.md |
| 复述「看起来完美」 | 往往否——含糊会暴露 | 往往是——上下文补洞 |
| Blocker / 未定义术语 | 应能标出 fixtures 里埋的歧义 | 常漏标或直接脑补 |
| 文档行动 | 对不上 → 先改文档 | 容易误判「文档够清楚」 |
| 本 Lab 期望 | **主信号** | **对照信号**（证明 fork 测不出含糊） |

## 4. 最小可跑步骤（本机 / 任意 harness）

1. 打开本目录 `fixtures/design-ambiguous.md` 当作被测 design.md。
2. Spawn 新会话，只给该文件路径，粘贴上面英文 prompt 的「Have it:」三段要求。
3. 保存复述输出到 `results/`（例如 `results/spawn-ambiguous.md`）。
4. （可选）Fork 或带上下文再跑一遍 → `results/fork-ambiguous.md`。
5. 评分人对照 `fixtures/expected-ambiguities.md` 与 `criteria.md` 打分；**不要**把 expected 文件给盲测 agent。
6. 可选冒烟：`python3 rubric/score_restatement.py fixtures/sample-restatement-miss.md`（检查手写漏抓样例是否被规则标出）。

## 5. 本轮诚实状态

本轮交付 = 协议 + fixtures + 占位。**真实 spawn vs fork 盲测尚未执行**（见 `results/PLACEHOLDER.md`、`run.json` 的 `results_status: pending_live_run`）。
