Files
.pouch/skills/delivery-loop/SKILL.md
T
laily a15a046e4e feat(ship): merge short-ship and long-ship into one entry
Promote ship to the user-facing delivery skill. Kind is short or long
from an explicit mode, then self-judgment, then a question, defaulting
to short. Old names remain deprecation stubs.
2026-10-24 14:27:19 +08:00

1.9 KiB

name, description
name description
delivery-loop 为修复、PR 和需求任务提供可配置的验证、发 PR、合并、回归、构建、发布与部署状态机。 仅作为 ship、pr-ship 的共享执行规则使用。

Delivery Loop:共享交付状态机

这是 ship 与 pr-ship 共用的内部规则,不直接替用户选择生产发布,也不替项目保存环境事实。

使用方式

由 ship / pr-ship 派出来的 worker 读取本 skill 和 references/state-machine.md。入口主会话不要读取或执行本 skill。

入口决定任务类型、停止点和派哪一步;本 skill 负责该步的阶段要求、证据和安全门。

不可违反的规则

  • 复用现有 hunt、tester、check、builder、deployer、releaser 和 orchestration 能力;不要在本 skill 里复制它们的实现。artifact_built 只调用 builder obtain.sh,不要在本 skill 里 poll GitLab/GitHub。
  • 先读取项目的 delivery profile、分支策略和当前工作树,再决定可执行的停止点。
  • stopAt 未配置或与用户目标冲突时停止并报告缺口,不猜测是否应合并或部署。
  • 提交、推送、合并、打 tag、发布产物和生产部署都必须同时满足项目配置与当前请求的授权。
  • 不绕过审核、CI、测试失败、脏工作树、冲突、未确认的迁移或不可回滚的外部变更。
  • 每个阶段都保存可复核证据;没有证据不得把阶段标为完成。入口已绑定 ship-id 时,把 指针写入 .pouch/ship/<id>/current.yaml 的 evidence(规则见 ship record.md); 缺指针则该阶段未完成。
  • 失败时保留现场和回滚信息,不用重试掩盖失败,不伪造发布或部署成功。

结果

完成时返回状态机最终状态、停止点、变更 commit、PR/tag、测试与回归证据、产物摘要、部署 目标和回滚指针。若停在中间状态,明确下一步和阻塞原因。