recording-decisions
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRecording decisions
记录决策
REQUIRED BACKGROUND: the skill (hard rules, truth rules, style).
technical-writing必备背景知识: the skill(硬性规则、真实性规则、风格规范)。
technical-writingOverview
概述
Two formats, by weight. A full ADR for a decision with architecture-level consequences; a decision log entry for the running stream of smaller choices. Both are append-only: an accepted decision is immutable, and new context is a new entry that supersedes the old one.
提供两种格式,按重要性区分。对于具有架构层面影响的决策,使用完整的ADR;对于日常的小型决策流,使用决策日志条目。两种格式均为追加式:已通过的决策不可修改,若有新情况需记录新条目并取代旧条目。
When to invoke, and not
适用与不适用场景
Invoke when a choice has been made and needs recording, when someone asks "write down why we did this", or when an existing decision is superseded. Do NOT invoke for a decision still being argued (that is ; the Why & What box becomes the ADR once accepted), and never edit an accepted ADR or an existing log entry: supersede it.
writing-design-docsAlso invoke on the phrases that signal an unrecorded decision passing by: "we decided X instead of Y", "let's just go with", a trade-off resolved in a PR comment or chat thread, or a rationale someone has now explained twice. Each of those is a decision living in a non-durable place; offer to record it.
Record the decision before citing it. A chat session is not a durable source: put the dated substance in the log, quote the decider where wording matters, and commit it first. Record the smallest complete decision, not a transcript.
当决策已确定需要记录、有人询问“写下我们这么做的原因”,或现有决策被取代时,可调用本技能。请勿在决策仍在讨论阶段时调用(此时应使用技能;待决策通过后,其中的“原因与内容”模块可转为ADR),且绝不能编辑已通过的ADR或现有日志条目:如需更新,应添加新条目取代旧条目。
writing-design-docs当出现以下表明未记录决策的表述时,也应调用本技能:“我们决定选X而非Y”、“就这么定了”、PR评论或聊天线程中解决的权衡问题,或有人已两次解释的决策依据。这些决策仅存在于非持久化渠道中,应主动提出记录它们。
引用决策前先记录。聊天会话并非持久化来源:将带日期的核心内容记录到日志中,若措辞重要则引用决策者的原话,先提交记录。记录最小的完整决策,而非对话转录。
ADR
ADR
Nygard format. One decision per ADR.
markdown
undefined采用Nygard格式。每个ADR对应一项决策。
markdown
undefinedADR-[number]: [short title of the decision]
ADR-[编号]: [决策简短标题]
| Status | Proposed / Accepted / Superseded by ADR-XXX |
| Date | YYYY-MM-DD |
| Deciders | [who took part] |
| 状态 | 提议中 / 已通过 / 被ADR-XXX取代 |
| 日期 | YYYY-MM-DD |
| 决策者 | [参与决策的人员] |
Context
背景
[The forces at play: technical, organizational, political. What must be solved.
Factual, without giving away the decision.]
[当前面临的各种因素:技术、组织、政治层面。需要解决的问题。
陈述事实,不提前透露决策结果。]
Decision
决策
[What was decided. Active voice: "We release on tags", not "it was decided that".]
[最终决定的内容。使用主动语态:“我们基于标签发布”,而非“决定将基于标签发布”。]
Consequences
影响
Positive: [what gets easier]
Negative: [what gets harder, which trade we accept]
Neutral: [what changes without being better or worse]
积极影响: [哪些事项变得更简单]
消极影响: [哪些事项变得更困难,我们接受的权衡]
中性影响: [哪些事项发生变化,但无好坏之分]
Alternatives considered
备选方案考量
[Alternative] - For: [...] Against: [...] Why not chosen: [...]
[备选方案名称] - 支持理由:[...] 反对理由:[...] 未被选择的原因:[...]
References
参考资料
[Evidence, related decisions, measurements]
**Negative is mandatory and may not be empty.** A decision without downsides is a decision that was not thought through. Each alternative carries its strongest argument for; a rejection without it is a strawman.[相关证据、关联决策、衡量数据]
**消极影响为必填项,不可为空。** 没有弊端的决策说明未经过充分思考。每个备选方案都需列出其最有力的支持理由;若未列出就否定该方案,属于稻草人谬误。Decision log (lightweight)
决策日志(轻量级)
For the running log a full ADR would kill. Cheap enough to actually maintain:
markdown
undefined适用于日常决策流,完整ADR过于繁琐时使用。维护成本极低:
markdown
undefinedYYYY-MM-DD
YYYY-MM-DD
[Decision stated as an imperative sentence]
[以祈使句表述的决策]
[One paragraph: the rule.]
Why:
- [reason]
- [reason]
The decision-as-title reads in a table of contents. Recording the rejected option and the reason is what makes the entry worth revisiting.[一段文字:规则内容。]
原因:
- [理由1]
- [理由2]
作为标题的决策内容在目录中清晰可读。记录被否决的选项及原因,是让日志具备参考价值的关键。Rules
规则
- Append-only. A wrong entry gets a new dated entry that supersedes it, never an edit. Convert relative dates to absolute.
- Record the why, not only the what. Rationale is the part git history cannot reconstruct.
- When a written rule and shipped reality have diverged, record which was intended; an unowned topic is how the wrong document gets cited as authority. Every doctrine document states what it owns and what it does not govern.
- Scope guard at the top when a sibling could overlap: "product ideas live in ROADMAP.md; this file is for engineering decisions."
- Capture negative results and unknowns explicitly: "four theories, four disproved, cause not found" is a result. A search returning nothing is a result.
- 仅可追加。错误的条目需添加新的带日期条目取代,绝不能编辑。将相对日期转换为绝对日期。
- 记录决策的原因,而非仅记录内容。决策依据是Git历史无法还原的部分。
- 当书面规则与实际执行情况不一致时,记录原本的意图;无人负责的主题会导致错误的文档被当作权威引用。每份准则文档需明确说明其管辖范围与非管辖范围。
- 当存在可能重叠的同类文档时,在顶部明确范围:“产品创意记录在ROADMAP.md中;本文件仅用于记录工程决策。”
- 明确记录负面结果与未知情况:“四种理论均被证伪,未找到原因”也是一种结果。搜索无结果同样是一种结果。