# 期望盲测应抓住的歧义

**评分人可见。盲测 agent 不应拿到本文件。**

对应 fixture：`design-ambiguous.md`（主题：用户通知开关）。

## 必须抓住（Must catch）

1. **默认值未定义**：新用户 / 未设置过的用户，开关默认开还是关？文档未写。
2. **存储位置未定义**：「记得持久化」——存在哪？user preferences 表、本地 only、还是某配置服务？键名是什么？
3. **通知范围未定义**：「通知」覆盖哪些通道（站内信 / 邮件 / 推送 / 短信）？关开关是全关还是只关一类？
4. **可见范围 / 谁可改**：仅本人？管理员可否代改？多设备是否同步？文档未写「谁可见、谁可改」。
5. **回滚 / 失败路径缺失**：写入 preference 失败时 UI 怎么表现？是否有重试、是否允许乐观更新后回滚？
6. **与「现有 preference」的关系含糊**：「和现有 preference 保持一致」——现有是哪份 schema / 哪条 API？无链接、无字段名。
7. **「关掉以后就不要再烦用户」边界**：是否含已在途的推送？是否含事务型/安全类强通知（账单、验证码）？未区分。
8. **项目术语未定义**：`消息中心`、`通知服务`、`preference` 在本文中无定义、无链接到代码或 wiki。
9. **Setup / 前置假设未写明**：前端挂在哪个页面/路由？需要什么 feature flag？谁有权限改通知服务配置？文档假定读者已知却未写。

## 可加分（Nice to catch）

- 「这期先做开关」没有验收标准（如何算做完）。
- 「别把旧数据搞坏」没有迁移 / 兼容策略。
- 「有问题再同步」把开放问题推成空集，等于没有决策记录。

## 评分提示

Spawn 复述把上列 Must 写进 **blocker** 或 **未定义术语 / 未写明 setup** 任一列表，即算抓住该项。若复述编造了「默认关闭、存在 users.settings.notify」等文档未出现的事实，记 **臆造边界** fail。
