--- name: pr-ship description: >- 处理已有 PR/MR:检查差异、审核和 CI,必要时修复阻塞项,合并后以合并 commit 做完整回归, 再按配置构建、发布和部署。用户说处理、合并、回归或发布 PR 时使用。 --- # PR Ship:合并后的完整交付 当前会话只做管理:绑 ship id、按 `next_step.py` 开新 agent 并等待。不要在本会话 审 diff、合并或跑回归。 ## 何时使用 - 用户提供 PR/MR 或要求处理当前 PR。 - 用户要求合并 PR 后完整回归并部署。 ## 不适用 - 没有 PR、需要从零做小改动或修 bug:使用 `ship`。 - 复杂需求尚未形成批准 PRD:使用 `specifier` 和 `ship` long 模式。 - 只做 diff 审查、不合并:使用 `check`。 ## 工作规则 1. 读取已安装 ship 的 [manager.md](../ship/references/manager.md)。派发 worker 时再读 [worker-prompt.md](../ship/references/worker-prompt.md)。从 PR 正文、分支名或 用户给出的 id 绑定已有 ship;没有则用 PR 标题生成 slug,创建 `kind: short` 的 薄记录,`source.kind: pr`。之后证据都写进这个 ship id。 2. 只跑: ```bash python3 /scripts/next_step.py \ --project-root --ship-id --entry pr ``` 检查、修复、合并、回归、obtain、发布、部署都是 worker。主会话只写 `source.ref` 和等待结果。需要字段含义时再读 [record.md](../ship/references/record.md)。 3. 合并后的回归和构建必须以合并 commit 为来源;worker 会写 `commits.role: merged`。 不要读取 `check`、`delivery-loop`、`tester`、`builder`、`deployer`、`releaser`。 ## 安全门 - 开不出新 agent 时停止;worker 失败时不要自己把该步做完。 - 不绕过审核、CI、分支保护或冲突;不强推、不重写已共享历史。 - 不用 PR 源分支的旧 APK/镜像证明合并版本已发布。 - 目标分支变化、合并后代码漂移、回归失败、产物来源不明或部署健康检查失败时停止。 ## 完成报告 报告 ship id、PR/MR、审核/CI 结果、合并 commit、完整回归证据、产物摘要、tag、部署目标、健康检查和回滚点。数字来自账本。