ship-discipline
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseShip discipline
发布准则(Ship discipline)
Heuristics for shipping. Pick a single gate; let the rest be informational.
Source: gstack , , .
ship/SKILL.mdautoplan/SKILL.mdland-and-deploy/SKILL.md发布的启发式原则:设定单一准入门槛(gate),其余仅作为参考信息。
来源:gstack 、、。
ship/SKILL.mdautoplan/SKILL.mdland-and-deploy/SKILL.mdOne gate, named explicitly
单一明确的准入门槛
The ship gate is one thing only: Eng Review passing.
CEO / Design / Adversarial / Outside-Voice reviews are shown but never block shipping.
For solo founders: pick one hard gate per workflow and refuse to let optional reviews accumulate veto power.
Ship gate 唯一要求:通过 Eng Review。
CEO评审、设计评审、逆向评审、外部意见评审仅作展示,绝不阻碍发布。
对于独立创始人:为每个工作流程设定一个硬性准入门槛,避免让可选评审累积否决权。
Six auto-decision principles
六大自动决策原则
When deciding between approaches in a plan review, apply in order:
- Choose completeness — pick the approach that covers more edge cases.
- Boil lakes — fix everything in blast radius; auto-approve expansions <1 day of AI-assisted effort.
- Pragmatic — "5 seconds choosing, not 5 minutes."
- DRY — duplicates existing functionality? Reject.
- Explicit over clever — "10-line obvious fix > 200-line abstraction. Pick what a new contributor reads in 30 seconds."
- Bias toward action — "Merge > review cycles > stale deliberation. Flag concerns but don't block."
在计划评审中选择方案时,按以下顺序应用原则:
- Choose completeness(优先完整性)——选择覆盖更多边缘场景的方案。
- Boil lakes(全面修复)——修复影响范围内的所有问题;AI辅助工作量少于1天的扩展需求自动批准。
- Pragmatic(务实高效)——「5秒做选择,而非5分钟。」
- DRY(避免重复)——若存在功能重复,则否决该方案。
- Explicit over clever(清晰优先于精巧)——「10行直白的修复 > 200行抽象代码。选择新贡献者30秒就能读懂的方案。」
- Bias toward action(偏向行动)——「合并 > 评审循环 > 陈旧的审议。标记问题但不阻碍发布。」
Phase tiebreakers
阶段决胜规则
- CEO review → P1+P2 (completeness, boil lakes) dominate
- Eng review → P5+P3 (explicit, pragmatic)
- Design review → P5+P1 (explicit, completeness)
- CEO评审 → P1+P2(完整性、全面修复)占主导
- Eng Review → P5+P3(清晰、务实)占主导
- 设计评审 → P5+P1(清晰、完整性)占主导
Decision classification
决策分类
Three categories. Treat each differently:
| Type | Action |
|---|---|
| Mechanical (one obviously correct answer) | Decide silently, mention in summary |
| Taste (close call, defensible either way) | Auto-decide, surface at the end for user review |
| User Challenge (both AI models disagree with the user) | NEVER auto-decide. Force the models to make the case |
User Challenge framing: "The user's original direction is the default." Models must argue against it.
分为三类,分别采用不同处理方式:
| 类型 | 操作 |
|---|---|
| Mechanical(机械型)(存在唯一明确正确答案) | 自行决策,在总结中提及 |
| Taste(偏好型)(难分伯仲,两种方案均合理) | 自动决策,最终提交用户审核 |
| User Challenge(用户挑战型)(两个AI模型均与用户意见相左) | 绝不自动决策。强制模型阐述理由 |
用户挑战型决策框架:「用户最初的方向为默认方案。」模型必须提出反对论据。
The Confusion Protocol
Confusion Protocol(困惑协议)
STOP and ask only on:
- Architectural / data-model ambiguity
- Destructive scope unclear
- Contradicting patterns in the codebase
Never stop for:
- Routine work
- Uncommitted changes
- Version bumps
- CHANGELOG updates
- Commit messages
"If you catch yourself writing fewer than 3 sentences for any review section, you are likely compressing."
仅在以下情况暂停并咨询:
- 架构/数据模型存在歧义
- 破坏性影响范围不明确
- 代码库中存在矛盾的模式
以下情况绝不暂停:
- 常规工作
- 未提交的变更
- 版本升级
- CHANGELOG 更新
- 提交信息
“如果你发现自己在任何评审部分的描述少于3句话,很可能是在压缩信息。”
9 prime directives (eng review)
工程师评审的9项核心准则
These are non-negotiable in code review:
- Zero silent failures — every error has a name
- Catch-all /
rescue StandardErroris ALWAYS a smellexcept Exception - Data flows have shadow paths — trace happy + nil + empty + upstream-error, all four
- Diagrams are mandatory for architectural changes
- Everything deferred must be written down — "vague intentions are lies. TODOS.md or it doesn't exist."
- Optimize for the 6-month future, not the 6-day present
- Test coverage is non-optional — see review-and-debug for confidence calibration
- Prefer /
Read/EditoverGrepequivalents when a dedicated tool fitsBash - No string-matching error messages to dodge linters
这些在代码评审中是不可协商的:
- Zero silent failures(零静默故障)——每个错误都有明确标识
- **万能捕获/
rescue StandardError**永远是不良代码信号except Exception - Data flows have shadow paths(数据流存在隐藏路径)——需追踪正常路径、空值路径、空集合路径、上游错误路径这四种情况
- 架构变更必须附带图表
- 所有延期事项必须记录在案——「模糊的意图等同于谎言。要么写入TODOS.md,要么视为不存在。」
- 为6个月后的未来优化,而非6天内的当下
- 测试覆盖率是硬性要求——参考review-and-debug进行可信度校准
- 当有专用工具时,优先使用/
Read/Edit而非Bash等效命令Grep - 不得通过字符串匹配错误信息来规避代码检查工具
Land and deploy
合并与部署(Land and deploy)
Persona: a release engineer who has deployed thousands of times.
"The two worst feelings in software: the merge that breaks prod, and the merge that sits in queue for 45 minutes while you stare."
Two hard gates remain even when automated:
- First-run dry-run validation — you need to see the deploy infra once
- Pre-merge readiness — reviews / tests / docs
Tone rule: narrate, don't go silent.
"Explain why before asking — 'Deploys are irreversible, so I check X.'"
First run = teacher mode. Subsequent runs = efficient.
Single-pass verification (not continuous monitoring — that's canary's job).
角色定位:一位已完成数千次部署的发布工程师。
“软件行业最糟糕的两种感受:合并代码导致生产环境崩溃,以及合并请求在队列中等待45分钟而你只能干瞪眼。”
即使自动化后,仍需保留两个硬性准入门槛:
- 首次试运行验证——你必须亲自查看一次部署基础设施
- 合并前就绪检查——评审、测试、文档均需完成
沟通原则:主动说明,切勿沉默。
“提问前先解释原因——「部署不可撤销,所以我要检查X。」”
首次运行=教学模式。后续运行=高效模式。
单次验证(而非持续监控——那是金丝雀部署的职责)。
Ship's central doctrine
Ship的核心准则
"AI makes completeness near-free… A 'lake' is boilable; an 'ocean' is not. Boil lakes, flag oceans."
"'Ship the shortcut' is legacy thinking from when human engineering time was the bottleneck."
“AI让完整性几乎无需成本……「湖泊」可以全面修复;「海洋」则不行。修复湖泊,标记海洋。”
“「发布捷径方案」是人类工程时间为瓶颈时的陈旧思维。”
What ship explicitly does NOT block on
Ship明确不阻碍发布的情况
- CEO / scope-expansion suggestions (informational)
- Design review findings (informational)
- Adversarial review (informational)
- Outside-voice critique (informational)
- Uncommitted changes from unrelated work
- Version bumps
- CHANGELOG voice / formatting
- CEO/范围扩展建议(仅作参考)
- 设计评审结果(仅作参考)
- 逆向评审(仅作参考)
- 外部意见批评(仅作参考)
- 无关工作的未提交变更
- 版本升级
- CHANGELOG的语气/格式
What ship explicitly DOES block on
Ship明确阻碍发布的情况
- Eng review failures
- Test failures (any tier)
- Plan failures
- TODOS reorg if requested
The asymmetry is the point: the one hard gate is named. Everything else is information.
- Eng Review未通过
- 测试失败(任何层级)
- 计划未通过
- 若被要求,TODOS未重新整理
这种不对称性正是关键:明确唯一的硬性准入门槛,其余一切仅为参考信息。