用途:e2e-verify 用于在合并前对 PR 执行端到端验证,核心原则是“视觉验证不可省略”——每张截图都必须被读取并对照 PR/issue 规格进行视觉检查,DOM 检查(控制台错误、网络请求)只作为补充,不能替代视觉验证。
主要能力:解析参数中的 PR 编号与模式;解析 PR 编号(未提供时用 gh pr view 获取当前分支 PR);通过 loop-state.md 初始化与恢复循环状态;执行 rebase 与构建验证(代码生成、go build、go test、golangci-lint、生成文件漂移检查);按模式可选地处理评审反馈或调查 issue 与实现的差距;执行 E2E 测试(检查 MCP 可用性、检测/启动开发服务器、迁移、登录流程、逐路由导航→稳定→截图→读取截图→对照规格→记录发现→清理);发布结构化 PR 评论;按模式执行收尾动作。
模式与步骤:verify(默认)执行 1-2、5-6 步并报告结果;fix-and-verify 执行 1-2、3、5-6 并添加 run-full-ci 标签;investigate 执行 1-2、4、5-6 并报告发现(不加标签);ship-prep 执行 1-2、5-6 并添加 run-full-ci 标签;ship 执行 1-2、5-6、7 并运行 $ship;fix-and-ship 执行 1-2、3、5-6、7,添加 run-full-ci 标签→观察 CI→$ship。
完成条件:循环以 <done>…</done> 哨兵结束。UI 可见的 diff 必须 E2E 通过才输出 <done>VERIFIED</done>;E2E 失败、部分、跳过、服务器失败、缺少浏览器工具或截图未检查时,先发评论再输出 <done>E2E_FAIL</done>,不加标签、不 ship。非 UI diff 在 E2E 跳过时可输出 <done>VERIFIED</done>。
限制:若 15 次以上迭代仍未成功,需记录阻塞并询问用户;E2E 门禁不可协商,UI 可见 PR 失败必须退出。具体命令与流程细节见 rebase-and-build.md、e2e-test-execution.md、pr-results-comment.md、loop-state.md、mode-finish.md。