Skip to content

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 广度探索。
  • 不在用户未确认的情况下把小故障修复扩大为功能改动。
  • 不把“走查没报错”当作唯一验收;关键行为仍需回归测试或截图证据。

阅读下一步