用途:verify 是 Forge 工作流中在用户合并 PR 之后运行的合并后健康检查阶段,用于确认合并确实落到 master、系统运行正常,并做收尾清理。它不检查文档(文档检查由 /ship 和 /review 中的合并前门禁处理)。
主要能力与步骤:
- 切换并拉取:git checkout master、git pull,确认合并已落到 master;若 PR 尚未合并则停止并提示先合并。
- 确认 PR 已合并:用 gh pr list --state merged --base master --search "$(git rev-parse HEAD)" --limit 1 --json number,state,mergedAt,mergedBy 定位产生当前 HEAD 的 PR,state 应为 MERGED;找不到或找错时可用 gh pr view <number> --json state,mergedAt,mergedBy。
- 检查 master 上的 CI:gh run list --branch master --limit 5,应全部通过或进行中;失败需定位工作流并考虑 hotfix。
- 检查部署(如适用):查看最新 run 与 gh pr view <number> --json statusCheckRollup,确认部署成功、URL 可响应。
- 报告状态:健康时输出合并 PR、CI、部署结果并提示运行 /status;有问题时列出失败工作流与所需动作。
- 清理:仅在 CI 健康后执行,用 gh pr view <number> --json headRefName --jq '.headRefName' 取分支名,通过 git worktree list --porcelain 定位并 git worktree remove <path> --force,再用 git branch -d <branch> 安全删除本地分支;找不到 worktree 时跳过并说明。
- 发现问题时创建跟踪 issue:forge create --title="Post-merge: <描述>" --type=bug --priority=1。
- 健康时关闭已解决 issue:从 PR 正文与分支名提取 issue ID,经 forge show 校验后用 forge close <id> --reason="Merged and verified on master (PR #<number>)" 关闭;关闭失败则 verify 不算完成。
使用方式:命令为 /verify,在用户确认合并后运行。
限制与规则:不提交代码、不创建 PR(需要修复则走新的 /dev 周期);必须展示真实命令输出而非“应该没问题”;存在硬性门禁,未确认 CI 输出、未处理 issue 关闭或创建、未清理 worktree(或明确说明因 CI 不健康而推迟清理)前不得声明完成。链式关系上,合并后流程中 verify 之后没有后续阶段,仅文档流程会复用 verify → ship 作为发布前内容检查,因此链式编排需按变更分类判断,不能盲目跟随 next。