用途:在确定性校验通过后,合并已准备好的 PR。输入为 PR 编号或 URL;缺失时使用 PR worktree 中的 .local/prep.env。
主要能力:脚本优先的确定性 squash 合并;严格必需检查门禁;head-SHA 固定;署名与评论处理;合并后校验共同作者 trailer;评论重试并提取评论 URL;确认 MERGED 后清理。
使用方式:先校验合并就绪:scripts/pr-merge verify <PR>,兼容形式 scripts/pr-merge <PR>。再执行一次性确定性合并:scripts/pr-merge run <PR>。输出需报告 merge_sha=<sha>、merge_author_email=<email>、comment_url=<url>。步骤包括校验 .local/review.md、.local/review.json、.local/prep.md、.local/prep.env 等产物;校验检查与分支状态;由 wrapper 管理合并。run 会执行固定到 PREP_HEAD_SHA 的确定性 squash 合并、选择 reviewer 合并作者邮箱并带候选回退、仅在作者邮箱校验失败时重试一次、为 PR 作者和 reviewer 添加共同作者 trailer、合并后校验提交信息中的两个 trailer、PR 评论重试 3 次并提取评论 URL、确认 MERGED 后清理。仅当 wrapper 不可用时,手动回退:scripts/pr merge-run <PR>。
限制与安全:此流程中绝不使用 gh pr merge --auto;绝不直接运行 git push;合并时必须要求 --match-head-commit;wrapper 命令与 cwd 无关,可在仓库根目录或 PR worktree 内运行;最终状态必须是 MERGED,绝不能是 CLOSED;仅在确认合并后才清理。scripts/pr-merge 将“未配置必需检查”视为可接受([]),但任何必需检查失败或待定都会失败。其他平台、收费或效果信息暂未提供。