ship-discipline

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Ship discipline

发布准则(Ship discipline)

Heuristics for shipping. Pick a single gate; let the rest be informational.
Source: gstack
ship/SKILL.md
,
autoplan/SKILL.md
,
land-and-deploy/SKILL.md
.
发布的启发式原则:设定单一准入门槛(gate),其余仅作为参考信息。
来源:gstack
ship/SKILL.md
autoplan/SKILL.md
land-and-deploy/SKILL.md

One 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:
  1. Choose completeness — pick the approach that covers more edge cases.
  2. Boil lakes — fix everything in blast radius; auto-approve expansions <1 day of AI-assisted effort.
  3. Pragmatic"5 seconds choosing, not 5 minutes."
  4. DRY — duplicates existing functionality? Reject.
  5. Explicit over clever"10-line obvious fix > 200-line abstraction. Pick what a new contributor reads in 30 seconds."
  6. Bias toward action"Merge > review cycles > stale deliberation. Flag concerns but don't block."
在计划评审中选择方案时,按以下顺序应用原则:
  1. Choose completeness(优先完整性)——选择覆盖更多边缘场景的方案。
  2. Boil lakes(全面修复)——修复影响范围内的所有问题;AI辅助工作量少于1天的扩展需求自动批准。
  3. Pragmatic(务实高效)——「5秒做选择,而非5分钟。」
  4. DRY(避免重复)——若存在功能重复,则否决该方案。
  5. Explicit over clever(清晰优先于精巧)——「10行直白的修复 > 200行抽象代码。选择新贡献者30秒就能读懂的方案。」
  6. 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:
TypeAction
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 StandardError
    /
    except Exception
    is ALWAYS a smell
  • 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
    /
    Edit
    /
    Grep
    over
    Bash
    equivalents
    when a dedicated tool fits
  • 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
    /
    Grep
    而非Bash等效命令
  • 不得通过字符串匹配错误信息来规避代码检查工具

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:
  1. First-run dry-run validation — you need to see the deploy infra once
  2. 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分钟而你只能干瞪眼。”
即使自动化后,仍需保留两个硬性准入门槛:
  1. 首次试运行验证——你必须亲自查看一次部署基础设施
  2. 合并前就绪检查——评审、测试、文档均需完成
沟通原则:主动说明,切勿沉默。
“提问前先解释原因——「部署不可撤销,所以我要检查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未重新整理
这种不对称性正是关键:明确唯一的硬性准入门槛,其余一切仅为参考信息。