跳到主要内容

Reader Testing Protocol

状态:Active / 治理知识库 reader testing 协议 最后更新:2026-05-15 用途:把 reader testing 从作者自检升级为多视角独立测试,作为治理库重构 / 内容验收 / closeout 的强制证据来源

1. 目标

本协议解决的问题是:

治理知识库的作者(人或 Agent)不能可靠地当自己的 reader。把作者自检的"链路自洽检查"误认作"reader 体验测试",会导致重构 closeout 与真实读者体感持续脱节。

本协议把 reader testing 从单视角 spec-conformance 升级为多视角独立 reader experience,并定义证据归档规范。

本协议不替代:

2. 基本原则

  1. 作者无法当自己的 reader:任何文档作者(人或 Agent)的自检结果不能作为该文档的 reader-testing 唯一证据。
  2. 独立视角:至少 2 个独立视角,每个视角不共享 prompt、不读对方的中间产出。
  3. 真实路径:reader 必须按文档体系自身的入口路径走,不允许 reader 已知最终结论后倒推路径。
  4. 可追溯:每个发现必须给出 file:line 引用 + 可重复观察步骤。
  5. 降权规则:单视角观察未被独立佐证的部分不能进入 P0 R3 lane(最多 P1 候选,由用户最终裁决)。
  6. 不可替代:published-site 链接验证、build success、scope guard 通过都不是 reader testing 证据。

3. Reader 视角分类

视角 ID名称适用场景不适用
R-self作者自检链路自洽检查、构建验证、scope 合规不能作为唯一 reader-testing 证据
R-agent-low-context独立 Agent 低上下文人类读者模拟入口可读性、文档叙事、首屏体感、路径冲突工程可实施性
R-agent-engineer独立 Agent 工程师视角schema/JSON sample/state machine/prompt template/eval case 完备性文档叙事、UX 体感
R-agent-controller独立 Agent Controller 视角(模拟某个项目 Controller 第一次接手)项目层文档体系、pickup vs rewrite 区分、回写路径通用入口可读性
R-human真人新成员(非作者团队)测试一切

4. Reader Test 强度等级

等级视角组合触发条件
L0 自检R-self日常小改、单文件 typo / link fix
L1 单独立R-self + 1 独立视角单 lane 重构(如某文档重写)
L2 双独立R-self + 2 独立视角(异质:低上下文 + 工程师 / 或 + Controller)公共入口重构、项目层 audit、closeout 验收
L3 三独立 + 真人R-self + 2 独立视角 + 真人重大里程碑、向团队成员发布、生态层重大重构

强制门控

  • 任何 closeout 标"satisfied"必须至少经过 L1
  • 公共入口(README / CONTEXT-MAP / ACCESS_GUIDE / INDEX / registry/project-registry.md / llms.txt / docs-manifest.json / sidebars.js)的重构必须经过 L2
  • "团队成员反馈逐条解决"标 satisfied 必须经过 L3

5. 调度方式

/Users/mlabs/Programs/CurvatureLabs/personal-domain-admin/docs/09-cross-agent-dispatch.md 执行。Cursor 主调度推荐:

视角推荐 Agent调度方式
R-agent-low-contextCodex(claude-opus-4.5 / gpt-5 也可)shell codex exec --sandbox read-only --json --output-last-message <file>(MCP 同步阻塞不适合 deep mode)
R-agent-engineerOOSO sisyphus-junior + kimi-for-coding 或 codex-app-server with claude-sonnetshell oh-my-opencode run --json --agent sisyphus-junior --model kimi-for-coding/kimi-for-coding
R-agent-controllerCodex with project-controller skill 或 OOSO with controller-aware prompt视项目 Controller 偏好选

6. Prompt 模板

6.1 通用约束(所有视角共用)

- READ-ONLY. 不修改任何文件
- 不读 packets/, controllers/checkpoints/ 下的 audit / closeout / acceptance 文档(那是作者自我评估)
- 每个发现必须 file:line 引用
- 单方观察,不要参考其他视角的中间产出
- Brutally honest. 看不懂就说看不懂,看得懂也说看得懂

6.2 视角专属 prompt 骨架

详见 evidence/reader-tests/<DATE>-<TAG>/ 下的实际归档示例(首批参考 evidence/reader-tests/2026-05-15-tri-perspective/;FinClaw canonical 首屏 L1 跟进见 evidence/reader-tests/2026-05-15-finclaw-canonical-l1/)。

每个 reader test 必须独立写 prompt,不允许复用前一轮的 prompt(防止 prompt 同化导致 reader 自动绕开同一类盲点)。

7. 归档规范

每次 reader test 必须归档到:

evidence/reader-tests/<YYYY-MM-DD>-<TAG>/
├── README.md # 触发根因、视角分工、调度协议、共识矩阵、限制
├── <视角名>-audit.md # 每个视角一份原始报告
├── prompts/ # 实际使用的 prompt(每视角一份)
└── _meta.yaml # 调度命令、agent/模型版本、耗时、token 用量(如可获取)

强制要求

  1. 不允许只归档汇总报告而不归档原始视角报告
  2. 不允许把 reader test 评论"满意 / 不满意"写在归档之外(必须落到归档 README)
  3. 任何后续 closeout 引用 reader test 必须引用归档目录路径,不允许引用临时 /tmp/ 或私下 share 的版本

8. 共识规则

reader testing 完成后,按以下规则汇总:

共识级别条件处理
三方一致 P0/P1全部独立视角 + 自检都标该 FR 未解决必须进 R3 P0 lane
两方一致 P0/P12 个独立视角一致,第三方不在范围必须进 R3 P1 lane
单方独立 P0/P1仅 1 个独立视角发现(非作者自检)进 R3 P1 候选,由用户裁决
仅作者自检发现自检发现,无独立佐证最多 P2 候选,必须降权
三方不一致视角间冲突必须由用户裁决,不能 silently 跳过

9. 与现有协议的关系

  • document-change-scope-policy.md:reader testing 是 closeout 强制证据之一,但不替代 scope 合规检查
  • program-controller-operating-model.md:Controller 自己的 audit 也必须按本协议至少 L1
  • knowledge-update-closure-protocol.md:closure 阶段必须明确列出本次 closure 的 reader test 等级与 evidence path

10. 不在本协议范围

  • reader test 的写法 / 模板细节(每次应根据被测对象 freshly 设计)
  • Agent 选型理由(详见 cross-agent-dispatch.md
  • 真人 reader 招募流程(待团队层另立)

11. 边界承诺

  • 本协议不替代 Controller / Owner 的产品判断
  • 不要求每次小改都跑 reader test(L0 自检即可)
  • 不允许把 reader test 当作"再产 packet"的借口(FR-016 / RC-B 元根因纠偏:reader test 的目的是验证已有产出,不是产出本身)

12. 首批 evidence

evidence/reader-tests/2026-05-15-tri-perspective/ — Cursor R1+R2 重构后的三方独立 audit(Cursor 自审 + Codex 低上下文读者 + OOSO 工程师视角)。