Dogfood 指南
入口:
spec-dogfood·spec-dogfood· 契约见spec-dogfood
spec-dogfood 是对活动分支或 PR 做 diff 范围内自主浏览器 QA 的入口。它在 review 或 shipping 之前,自动映射本次改动影响到的用户流,驱动 agent-browser 逐个走查,修复过程中发现的小故障并补回归测试,记录需要人工决策的阻塞,最后写出可留存的 dogfood 报告。它不是协作式 UI 打磨,也不是全 App 探索。
什么时候使用
| 场景 | 推荐 |
|---|---|
| 分支在 review 或 shipping 前需要自主走查受影响用户流 | 使用 dogfood |
| 需要按 diff 映射改动影响面并在浏览器中验证 | 使用 dogfood |
| 需要边看页面边协作打磨视觉与交互 | 不使用,走 spec-polish |
| 只想跑一次普通浏览器 smoke test | 不使用,走对应测试 |
| 需要代码评审、实现规划或全 App 广度探索 | 不使用,走 code review / plan |
输入
text
spec-dogfood
spec-dogfood 123
spec-dogfood feature/checkout-flow可以传当前分支、PR 号或 branch 名称;空参数时使用当前分支。它只覆盖 diff 触及的用户流,不做无边界的全站遍历。
执行逻辑图
text
用户运行 spec-dogfood
|
v
解析目标 branch / PR,计算 diff 范围
|
v
映射受影响的用户流(changed flows)
|
v
启动或连接 dev server,驱动 agent-browser 逐个走查
|
+-- 发现小故障
| |
| v
| 小步修复 + 补回归测试
|
+-- 遇到需人工决策的问题
| |
| v
| 记录为 human-decision blocker,不擅自扩大范围
|
v
写出可留存的 dogfood 报告(docs/dogfood-reports/)产物
spec-dogfood 会把走查结论写成可留存报告,通常位于:
text
docs/dogfood-reports/YYYY-MM-DD-<branch-or-pr>-dogfood.md报告包含:映射到的用户流、走查结果、已修复的小故障与回归测试、以及需要人工决策的阻塞项。
Browser helper 边界
dogfood 依赖 agent-browser 驱动浏览器走查。如果 helper 不可用,应显式说明缺失并降级,而不是伪造走查证据。修复浏览器自动化能力,先重新运行当前宿主的 setup:
text
spec-runtime-setup不适合用它做什么
- 不做协作式 UI polish(走
spec-polish)。 - 不做普通一次性浏览器 smoke test。
- 不替代 code review、实现规划或全 App 广度探索。
- 不在用户未确认的情况下把小故障修复扩大为功能改动。
- 不把“走查没报错”当作唯一验收;关键行为仍需回归测试或截图证据。
