create-control-manifest

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Create Control Manifest

创建控制清单

The Control Manifest is a flat, actionable rules sheet for programmers. It answers "what do I do?" and "what must I never do?" — organized by architectural layer, extracted from all Accepted ADRs, technical preferences, and engine reference docs. Where ADRs explain why, the manifest tells you what.
Output:
docs/architecture/control-manifest.md
When to run: After
/architecture-review
passes and ADRs are in Accepted status. Re-run whenever new ADRs are accepted or existing ADRs are revised.

控制清单是一份面向程序员的扁平化可执行规则清单,回答“我该做什么?”和“绝对不能做什么?”的问题。它按架构分层组织,内容提取自所有已通过的ADR、技术偏好文档以及引擎参考文档。ADR解释决策的原因,而这份清单明确告知你要做的事
输出文件
docs/architecture/control-manifest.md
执行时机:在
/architecture-review
审核通过且ADR处于“Accepted”状态后执行。每当有新ADR通过或现有ADR修订时,需重新执行。

1. Load All Inputs

1. 加载所有输入内容

ADRs

ADR文档

  • Glob
    docs/architecture/adr-*.md
    and read every file
  • Filter to only Accepted ADRs (Status: Accepted) — skip Proposed, Deprecated, Superseded
  • Note the ADR number and title for every rule sourced
  • 匹配
    docs/architecture/adr-*.md
    路径下的所有文件并读取
  • 仅筛选状态为“Accepted”的ADR——跳过“Proposed”“Deprecated”“Superseded”状态的文档
  • 记录每条规则来源的ADR编号和标题

Technical Preferences

技术偏好文档

  • Read
    .claude/docs/technical-preferences.md
  • Extract: naming conventions, performance budgets, approved libraries/addons, forbidden patterns
  • 读取
    .claude/docs/technical-preferences.md
  • 提取内容:命名规范、性能预算、已批准的库/插件、禁用模式

Engine Reference

引擎参考文档

  • Read
    docs/engine-reference/[engine]/VERSION.md
    for engine + version
  • Read
    docs/engine-reference/[engine]/deprecated-apis.md
    — these become forbidden API entries
  • Read
    docs/engine-reference/[engine]/current-best-practices.md
    if it exists
Report: "Loaded [N] Accepted ADRs, engine: [name + version]."

  • 读取
    docs/engine-reference/[engine]/VERSION.md
    获取引擎名称及版本
  • 读取
    docs/engine-reference/[engine]/deprecated-apis.md
    ——其中内容将转化为禁用API条目
  • 若存在
    docs/engine-reference/[engine]/current-best-practices.md
    则一并读取
报告内容:“已加载[N]份已通过的ADR,引擎:[名称 + 版本]。”

2. Extract Rules from Each ADR

2. 从各ADR中提取规则

For each Accepted ADR, extract:
针对每份已通过的ADR,提取以下内容:

Required Patterns (from "Implementation Guidelines" section)

强制模式(来自“Implementation Guidelines”章节)

  • Every "must", "should", "required to", "always" statement
  • Every specific pattern or approach mandated
  • 所有包含“must”“should”“required to”“always”的表述
  • 所有明确规定的具体模式或实现方式

Forbidden Approaches (from "Alternatives Considered" sections)

禁用方案(来自“Alternatives Considered”章节)

  • Every alternative that was explicitly rejected — why it was rejected becomes the rule ("never use X because Y")
  • Any anti-patterns explicitly called out
  • 所有被明确否决的替代方案——否决原因将作为规则内容(“禁止使用X,原因是Y”)
  • 所有被明确指出的反模式

Performance Guardrails (from "Performance Implications" section)

性能约束(来自“Performance Implications”章节)

  • Budget constraints: "max N ms per frame for this system"
  • Memory limits: "this system must not exceed N MB"
  • 预算限制:“该系统每帧最大耗时N毫秒”
  • 内存限制:“该系统内存占用不得超过N MB”

Engine API Constraints (from "Engine Compatibility" section)

引擎API约束(来自“Engine Compatibility”章节)

  • Post-cutoff APIs that require verification
  • Verified behaviours that differ from default LLM assumptions
  • API fields or methods that behave differently in the pinned engine version
  • 需要验证的 cutoff 后API
  • 与默认LLM假设不同的已验证行为
  • 在指定引擎版本中表现异常的API字段或方法

Layer Classification

分层分类

Classify each rule by the architectural layer of the system it governs:
  • Foundation: Scene management, event architecture, save/load, engine init
  • Core: Core gameplay loops, main player systems, physics/collision
  • Feature: Secondary systems, secondary mechanics, AI
  • Presentation: Rendering, audio, UI, VFX, shaders
If an ADR spans multiple layers, duplicate the rule into each relevant layer.

根据规则所管控的系统架构层进行分类:
  • Foundation(基础层):场景管理、事件架构、存档/读档、引擎初始化
  • Core(核心层):核心游戏循环、主要玩家系统、物理/碰撞
  • Feature(功能层):次要系统、次要机制、AI
  • Presentation(表现层):渲染、音频、UI、特效、着色器
若某份ADR涉及多个层级,则将对应规则复制到每个相关层级中。

3. Add Global Rules

3. 添加全局规则

Combine rules that apply to all layers:
整合适用于所有层级的规则:

From technical-preferences.md:

来自technical-preferences.md的内容:

  • Naming conventions (classes, variables, signals/events, files, constants)
  • Performance budgets (target framerate, frame budget, draw call limits, memory ceiling)
  • 命名规范(类、变量、信号/事件、文件、常量)
  • 性能预算(目标帧率、单帧耗时预算、绘制调用限制、内存上限)

From deprecated-apis.md:

来自deprecated-apis.md的内容:

  • All deprecated APIs → Forbidden API entries
  • 所有已废弃API → 转化为禁用API条目

From current-best-practices.md (if available):

来自current-best-practices.md(若存在)的内容:

  • Engine-recommended patterns → Required entries
  • 引擎推荐模式 → 转化为强制条目

From technical-preferences.md forbidden patterns:

来自technical-preferences.md的禁用模式:

  • Copy any "Forbidden Patterns" entries directly

  • 直接复制所有“Forbidden Patterns”条目

4. Present Rules Summary Before Writing

4. 编写前展示规则摘要

Before writing the manifest, present a summary to the user:
undefined
在编写清单前,向用户展示规则摘要:
undefined

Control Manifest Preview

控制清单预览

Engine: [name + version] ADRs covered: [list ADR numbers] Total rules extracted:
  • Foundation layer: [N] required, [M] forbidden, [P] guardrails
  • Core layer: [N] required, [M] forbidden, [P] guardrails
  • Feature layer: ...
  • Presentation layer: ...
  • Global: [N] naming conventions, [M] forbidden APIs, [P] approved libraries

Use `AskUserQuestion`:
- Prompt: "Does this rule summary look complete?"
- Options:
  - `[A] Yes — looks good, run the director review and write the manifest`
  - `[B] Add rules — I have additional rules to include before writing`
  - `[C] Remove rules — some extracted rules should be dropped`
  - `[D] Stop here — I need to review the ADRs first`

---
引擎:[名称 + 版本] 覆盖的ADR:[列出ADR编号] 提取的规则总数:
  • 基础层:[N]条强制规则,[M]条禁用规则,[P]条性能约束
  • 核心层:[N]条强制规则,[M]条禁用规则,[P]条性能约束
  • 功能层:...
  • 表现层:...
  • 全局规则:[N]条命名规范,[M]条禁用API,[P]个已批准库

使用`AskUserQuestion`工具:
- 提示语:“这份规则摘要是否完整?”
- 选项:
  - `[A] 是——内容完整,执行技术总监审核并编写清单`
  - `[B] 添加规则——我有额外规则需要加入后再编写`
  - `[C] 删除规则——部分提取的规则需要移除`
  - `[D] 暂停——我需要先审核ADR文档`

---

4b. Director Gate — Technical Review

4b. 技术总监审核关卡

Review mode check — apply before spawning TD-MANIFEST:
  • solo
    → skip. Note: "TD-MANIFEST skipped — Solo mode." Proceed to Phase 5.
  • lean
    → skip. Note: "TD-MANIFEST skipped — Lean mode." Proceed to Phase 5.
  • full
    → spawn as normal.
Spawn
technical-director
via Task using gate TD-MANIFEST (
.claude/docs/director-gates.md
).
Pass: the Control Manifest Preview from Phase 4 (rule counts per layer, full extracted rule list), the list of ADRs covered, engine version, and any rules sourced from technical-preferences.md or engine reference docs.
The technical-director reviews whether:
  • All mandatory ADR patterns are captured and accurately stated
  • Forbidden approaches are complete and correctly attributed
  • No rules were added that lack a source ADR or preference document
  • Performance guardrails are consistent with the ADR constraints
Apply the verdict:
  • APPROVE → proceed to Phase 5
  • CONCERNS → surface via
    AskUserQuestion
    with options:
    Revise flagged rules
    /
    Accept and proceed
    /
    Discuss further
  • REJECT → do not write the manifest; fix the flagged rules and re-present the summary

审核模式检查——在生成TD-MANIFEST前执行:
  • solo
    模式 → 跳过。记录:“TD-MANIFEST已跳过——Solo模式。” 进入第5阶段。
  • lean
    模式 → 跳过。记录:“TD-MANIFEST已跳过——Lean模式。” 进入第5阶段。
  • full
    模式 → 正常生成。
通过任务生成
technical-director
,使用关卡TD-MANIFEST
.claude/docs/director-gates.md
)。
传递内容:第4阶段的控制清单预览(各层级规则数量、完整提取规则列表)、覆盖的ADR列表、引擎版本,以及所有来自technical-preferences.md或引擎参考文档的规则。
技术总监需审核以下内容:
  • 是否完整且准确地捕获了所有ADR中的强制模式
  • 禁用方案是否完整且归属正确
  • 所有规则均有对应的ADR或偏好文档来源
  • 性能约束与ADR中的限制一致
根据审核结果执行:
  • APPROVE(通过) → 进入第5阶段
  • CONCERNS(有疑问) → 通过
    AskUserQuestion
    展示选项:
    修改标记的规则
    /
    接受并继续
    /
    进一步讨论
  • REJECT(拒绝) → 不编写清单;修复标记的规则后重新展示摘要

5. Write the Control Manifest

5. 编写控制清单

Use
AskUserQuestion
:
  • Prompt: "May I write the Control Manifest?"
  • Options:
    • [A] Yes — write to docs/architecture/control-manifest.md
    • [B] Show me the full draft first, then ask again
    • [C] Not yet — I want to make more changes
Format:
markdown
undefined
使用
AskUserQuestion
工具:
  • 提示语:“是否可以编写控制清单?”
  • 选项:
    • [A] 是——写入docs/architecture/control-manifest.md
    • [B] 先展示完整草稿,再询问
    • [C] 暂不编写——我需要做更多修改
格式要求:
markdown
undefined

Control Manifest

控制清单

Engine: [name + version] Last Updated: [date] Manifest Version: [date] ADRs Covered: [ADR-NNNN, ADR-MMMM, ...] Status: [Active — regenerate with
/create-control-manifest update
when ADRs change]
Manifest Version
is the date this manifest was generated. Story files embed this date when created.
/story-readiness
compares a story's embedded version to this field to detect stories written against stale rules. Always matches
Last Updated
— they are the same date, serving different consumers.
This manifest is a programmer's quick-reference extracted from all Accepted ADRs, technical preferences, and engine reference docs. For the reasoning behind each rule, see the referenced ADR.

引擎:[名称 + 版本] 最后更新时间:[日期] 清单版本:[日期] 覆盖的ADR:[ADR-NNNN, ADR-MMMM, ...] 状态:[Active(生效)——当ADR变更时,使用
/create-control-manifest update
重新生成]
清单版本
为该清单的生成日期。故事文件创建时会嵌入此日期。
/story-readiness
工具会将故事文件中嵌入的版本与该字段对比,检测是否基于过时规则编写的故事。该字段始终与
最后更新时间
一致——两者为同一日期,服务于不同的使用者。
本清单是一份供程序员快速参考的文档,提取自所有已通过的ADR、技术偏好文档以及引擎参考文档。如需了解每条规则的决策原因,请查看对应的ADR文档。

Foundation Layer Rules

基础层规则

Applies to: scene management, event architecture, save/load, engine initialisation
适用范围:场景管理、事件架构、存档/读档、引擎初始化

Required Patterns

强制模式

  • [rule] — source: [ADR-NNNN]
  • [rule] — source: [ADR-NNNN]
  • [规则内容] —— 来源:[ADR-NNNN]
  • [规则内容] —— 来源:[ADR-NNNN]

Forbidden Approaches

禁用方案

  • Never [anti-pattern] — [brief reason] — source: [ADR-NNNN]
  • 禁止[反模式] —— [简要原因] —— 来源:[ADR-NNNN]

Performance Guardrails

性能约束

  • [system]: max [N]ms/frame — source: [ADR-NNNN]

  • [系统名称]:每帧最大耗时[N]毫秒 —— 来源:[ADR-NNNN]

Core Layer Rules

核心层规则

Applies to: core gameplay loop, main player systems, physics, collision
适用范围:核心游戏循环、主要玩家系统、物理、碰撞

Required Patterns

强制模式

...
...

Forbidden Approaches

禁用方案

...
...

Performance Guardrails

性能约束

...

...

Feature Layer Rules

功能层规则

Applies to: secondary mechanics, AI systems, secondary features
适用范围:次要机制、AI系统、次要功能

Required Patterns

强制模式

...
...

Forbidden Approaches

禁用方案

...

...

Presentation Layer Rules

表现层规则

Applies to: rendering, audio, UI, VFX, shaders, animations
适用范围:渲染、音频、UI、特效、着色器、动画

Required Patterns

强制模式

...
...

Forbidden Approaches

禁用方案

...

...

Global Rules (All Layers)

全局规则(所有层级)

Naming Conventions

命名规范

ElementConventionExample
Classes[from technical-preferences][example]
Variables[from technical-preferences][example]
Signals/Events[from technical-preferences][example]
Files[from technical-preferences][example]
Constants[from technical-preferences][example]
元素规范示例
[来自technical-preferences][示例]
变量[来自technical-preferences][示例]
信号/事件[来自technical-preferences][示例]
文件[来自technical-preferences][示例]
常量[来自technical-preferences][示例]

Performance Budgets

性能预算

TargetValue
Framerate[from technical-preferences]
Frame budget[from technical-preferences]
Draw calls[from technical-preferences]
Memory ceiling[from technical-preferences]
目标数值
帧率[来自technical-preferences]
单帧耗时预算[来自technical-preferences]
绘制调用[来自technical-preferences]
内存上限[来自technical-preferences]

Approved Libraries / Addons

已批准库/插件

  • [library] — approved for [purpose]
  • [库名称] —— 批准用于[用途]

Forbidden APIs ([engine version])

禁用API([引擎版本])

These APIs are deprecated or unverified for [engine + version]:
  • [api name]
    — deprecated since [version] / unverified post-cutoff
  • Source:
    docs/engine-reference/[engine]/deprecated-apis.md
以下API在[引擎 + 版本]中已废弃或未经验证:
  • [API名称]
    —— 自[版本]起废弃 / cutoff后未经验证
  • 来源:
    docs/engine-reference/[engine]/deprecated-apis.md

Cross-Cutting Constraints

跨层级约束

  • [constraint that applies everywhere, regardless of layer]

---
  • [适用于所有层级的约束内容]

---

6. Suggest Next Steps

6. 建议后续步骤

After writing the manifest:
  • If epics/stories don't exist yet: "Run
    /create-epics layer: foundation
    then
    /create-stories [epic-slug]
    — programmers can now use this manifest when writing story implementation notes."
  • If this is a regeneration (manifest already existed): "Updated. Recommend notifying the team of changed rules — especially any new Forbidden entries."

编写完清单后:
  • 若尚未创建史诗/故事:“执行
    /create-epics layer: foundation
    ,然后执行
    /create-stories [epic-slug]
    ——程序员现在可以在编写故事实现说明时参考这份清单。”
  • 若为重新生成(清单已存在):“已更新。建议通知团队规则变更——尤其是新增的禁用条目。”

Collaborative Protocol

协作协议

  1. Load silently — read all inputs before presenting anything
  2. Show the summary first — let the user see the scope before writing
  3. Ask before writing — always confirm before creating or overwriting the manifest. On write: Verdict: COMPLETE — control manifest written. On decline: Verdict: BLOCKED — user declined write.
  4. Source every rule — never add a rule that doesn't trace to an ADR, a technical preference, or an engine reference doc
  5. No interpretation — extract rules as stated in ADRs; do not paraphrase in ways that change meaning
  1. 静默加载——在展示任何内容前先读取所有输入
  2. 先展示摘要——让用户在编写前了解规则范围
  3. 编写前确认——创建或覆盖清单前必须征得用户同意。编写完成时:状态为COMPLETE——控制清单已编写。用户拒绝时:状态为BLOCKED——用户拒绝编写。
  4. 每条规则都要有来源——不得添加无法追溯到ADR、技术偏好文档或引擎参考文档的规则
  5. 不做主观解读——严格按ADR原文提取规则,不得通过改写改变规则含义