docs(pipeline): 五段流水线规范落三规约——process-conventions §2 由三段开发流程重写为五段流水线(登记→文档设计/美术设计→写卡→迭代编排→实现;各段技能入口、编排四查、实现段零裁断、流水线闸 pipeline_gate.py 注册归第二批),doc-conventions 新增 §12 流程文档格式(12.1 06 条目格式与状态机/12.2 roadmap 迭代行六列/12.3 美术工作区目录与命名/12.4 特批标记)并同步 §6 顶层文档表 06 与 roadmap 两行,CLAUDE.md 硬性红线增流水线铁律、规范导航增流水线段入口↔用户级技能对照行;全文三段字样改齐(2026-10-18 用户定稿规格,本批纯文档)

This commit is contained in:
DKChan committed 2026-10-18 01:01:29 +08:00
1 parent 6e85f93ef6
commit 9282ce5484
3 files changed
+115 -11

No files matched your search

+4 -2
View File
@@ -40,7 +40,8 @@
| 时机 | 权威文档 | | 时机 | 权威文档 |
|---|---| |---|---|
| 批次开工 / 流程纪律 | `design/dev/process-conventions.md`——worktree 铁律、三段开发流程、批次清单、测试两入口与 MC/闸机细则、像素纪律 | | 批次开工 / 流程纪律 | `design/dev/process-conventions.md`——worktree 铁律、五段流水线、批次清单、测试两入口与 MC/闸机细则、像素纪律 |
| 流水线段入口 | 用户级技能对照——doc-design=文档设计/asset-ingest=美术录入/req-card=写卡/iter-plan=迭代编排/iter=实现(登记不立技能);格式与状态机权威=`design/dev/doc-conventions.md` §12 |
| 写代码 / 改代码前 | `design/dev/code-conventions.md`——结构/契约/语言/数值/流程五类硬纪律(反例库 = 同目录 code-conventions-cases.md) | | 写代码 / 改代码前 | `design/dev/code-conventions.md`——结构/契约/语言/数值/流程五类硬纪律(反例库 = 同目录 code-conventions-cases.md) |
| 写测试 / 改测试前 | `design/dev/test-conventions.md`——探针标配 / 回归断言 / 全量验证 / 验收清单落码 / 变异验证 | | 写测试 / 改测试前 | `design/dev/test-conventions.md`——探针标配 / 回归断言 / 全量验证 / 验收清单落码 / 变异验证 |
| 写文档 / 改文档前 | `design/dev/doc-conventions.md`——白话写作 / 载体分工 / 用语 / 结构骨架 / 会话记录与生命周期 | | 写文档 / 改文档前 | `design/dev/doc-conventions.md`——白话写作 / 载体分工 / 用语 / 结构骨架 / 会话记录与生命周期 |
@@ -55,7 +56,8 @@
- 主工作区禁止直接改动与提交——一切改动走独立 worktree(豁免:active.md 会话收口、.zcode 钩子配置) - 主工作区禁止直接改动与提交——一切改动走独立 worktree(豁免:active.md 会话收口、.zcode 钩子配置)
- 测试执行两入口铁规——只有迭代 loop 开发与用户点名两个触发入口;其余会话零测试,需测试支撑先请示并注明未跑测 - 测试执行两入口铁规——只有迭代 loop 开发与用户点名两个触发入口;其余会话零测试,需测试支撑先请示并注明未跑测
- 交付前验收 = 跑 `tools/run_all_gates.sh` **按改动域**全绿(唯一入口、唯一闸清单、唯一域划分,禁在文档另列);合回 master 由 worktree-guard 按 diff 推域校验回执强制(process-conventions §3) - 交付前验收 = 跑 `tools/run_all_gates.sh` **按改动域**全绿(唯一入口、唯一闸清单、唯一域划分,禁在文档另列);合回 master 由 worktree-guard 按 diff 推域校验回执强制(process-conventions §3)
- **两类批**——**迭代批**(代码实现,`/iter` 发射):**禁写 `design/` 整个目录**(含新增/修改/删除),设计文档对它只读、是写测试与实现代码的输入依据;产出物只准写 `reports/`;批末只跑代码域闸。**非迭代批**(工具/规则/文档改动):不占 roadmap 迭代号,按改动域跑闸。文档内容的落地由用户在会话中讨论后进行,**无专用的文档编写入口/skill** - **两类批**——**迭代批**(代码实现,`/iter` 发射):**禁写 `design/` 整个目录**(含新增/修改/删除),设计文档对它只读、是写测试与实现代码的输入依据;产出物只准写 `reports/`;批末只跑代码域闸。**非迭代批**(工具/规则/文档改动):不占 roadmap 迭代号,按改动域跑闸。文档内容的落地走五段流水线相应段(文档设计段入口=用户级技能 doc-design;登记条目格式由流水线闸强制)
- 五段流水线铁律——一切工作按「登记 → 文档设计/美术设计 → 写需求卡片 → 迭代编排 → 实现」推进,段间不自动流转、每段转进由用户发令;编入迭代的卡片必须设计闭合+零待裁点,流水线闸 `tools/pipeline_gate.py` 强制(工具并行开发中,注册进 run_all_gates.sh 文档域归第二批);实现段零裁断——卡片没写清=上游缺陷,停该卡退回上游,禁内联求裁(process-conventions §2,格式与状态机=doc-conventions §12)
- MC/模拟:无数值改动零跑;档位硬闸见 `sim-data/README.md`「MC 采集档位表」,一档只能由用户发起 - MC/模拟:无数值改动零跑;档位硬闸见 `sim-data/README.md`「MC 采集档位表」,一档只能由用户发起
- 闸机轮次纪律:新码先孤立验证 → 出红只跑红件最小单元 → 长批先最小参数试车 → 开工扫坑册(process-conventions §6) - 闸机轮次纪律:新码先孤立验证 → 出红只跑红件最小单元 → 长批先最小参数试车 → 开工扫坑册(process-conventions §6)
- 变异验证——新增/改写验收函数必须变异变红才算验收成立;无变异红记录只写「已实现,拦截能力未证」(test-conventions §6) - 变异验证——新增/改写验收函数必须变异变红才算验收成立;无变异红记录只写「已实现,拦截能力未证」(test-conventions §6)
+97 -1
View File
@@ -87,7 +87,8 @@
| `03-内容规模.md` | 几个关卡、几种敌人、几种道具——做多少砍多少 | | `03-内容规模.md` | 几个关卡、几种敌人、几种道具——做多少砍多少 |
| `04-美术音频方向.md` | 参考图、参考游戏、风格关键词 | | `04-美术音频方向.md` | 参考图、参考游戏、风格关键词 |
| `05-不做清单.md` | 明确写:这些我不要 | | `05-不做清单.md` | 明确写:这些我不要 |
| `06-待办清单.md` | 全项目待办唯一登记处;各系统文档「待办」节只留指路存根 | | `06-待办清单.md` | 流水线唯一登记处:条目=登记元数据标题+四属性正文,状态随流水线段推进(格式与状态机见第 12.1 节);各系统文档「待办」节只留指路存根 |
| `roadmap.md`(根目录) | 里程碑表+迭代总表,一行一迭代,记录编排与实现进度(六列格式见第 12.2 节) |
**系统文档骨架**(`systems/` 下统一采用):文首引言(一句话定位+状态+旧版链接)/设计目的(2-4 句白话)/系统范围(负责/不负责两表)/在核心循环中的位置(字符画一行+两句白话)/核心规则(领域章节 ×2–6,每节一页纸)/依赖与输出(表格;引用纪律见 concept-conventions)/P0 最小闭环与 P1·P2 后置/调参表(取值域+provisional 标注)/验收标准(可验证判据)/待办(指路存根)/版本历史(表格)。 **系统文档骨架**(`systems/` 下统一采用):文首引言(一句话定位+状态+旧版链接)/设计目的(2-4 句白话)/系统范围(负责/不负责两表)/在核心循环中的位置(字符画一行+两句白话)/核心规则(领域章节 ×2–6,每节一页纸)/依赖与输出(表格;引用纪律见 concept-conventions)/P0 最小闭环与 P1·P2 后置/调参表(取值域+provisional 标注)/验收标准(可验证判据)/待办(指路存根)/版本历史(表格)。
@@ -119,3 +120,98 @@
| 证据只留最新 | 测试证据只保留最新一次迭代或最新一轮同类审计版本;新证据落位后同批删上一份;待人清单过人闸后同规退役 | | 证据只留最新 | 测试证据只保留最新一次迭代或最新一轮同类审计版本;新证据落位后同批删上一份;待人清单过人闸后同规退役 |
**删除方式**:按 `design/dev/concept-conventions.md` 第 2 节删除概念 SOP 口径——先查引用面(grep 文件名于阻塞域),改写或删除指路句,再删文件,收尾跑死链检查全绿。 **删除方式**:按 `design/dev/concept-conventions.md` 第 2 节删除概念 SOP 口径——先查引用面(grep 文件名于阻塞域),改写或删除指路句,再删文件,收尾跑死链检查全绿。
## 12. 流程文档格式
五段流水线(登记 → 文档设计/美术设计 → 写卡 → 迭代编排 → 实现,流程纪律见 `design/dev/process-conventions.md` §2)靠流程文档运转:06-待办清单登记要做的事,roadmap 记录迭代编排结果,artwork 目录承载美术在途素材。本节是这些流程文档的格式与状态机权威,也是流水线闸(`tools/pipeline_gate.py`,自动检查 06 与 roadmap 两文件格式及互相引用的机检闸)的判据依据。
### 12.1 06-待办清单条目格式与状态机
06-待办清单是流水线的唯一登记处:要做的事先登记一条,随流水线段推进改状态,做完整条删除。一条条目分两层——**标题=登记元数据**(何时登记、从哪来、走哪条设计轨,登记后不再变),**正文=四个属性**(随进程演进)。
标题格式(尖括号处按实际填写):
```
#### <条目名>(<YYYY-MM-DD>登记,来源=<playnote/会话提及/审计发现/批次移交>,设计面=<文档轨/美术轨/双轨/工程直入/反哺点>)
```
正文四属性模板:
```
**现状**:现在缺什么、为什么是问题(关键处带 file:line 或文档指针)。工程直入条目必须在现状里指认证据(bug 证据或工程债条目)。
**缺口**:还差哪一次设计讨论/哪份设计产物才能写卡。仅当状态为 待文档设计/文档设计中/待美术设计/美术设计中 时此属性必须存在;轨闭合后必须删除。
**归属**:主责系统文档或线别。
**状态**:按状态机取词。
```
状态机按标题里的设计面分轨,状态一律取下例用词:
```
文档轨:待文档设计 → 文档设计中 → 文档设计已闭合
(凭据=文档路径+版本号,例:文档设计已闭合(design/gdd/systems/xxx.md v1.2))
美术轨:待美术设计 → 美术设计中 → 美术设计已闭合
(凭据=样张过审+art-bible 条款版本)
双轨条目:两串状态用+号并列(例:文档设计已闭合(…v0.6)+美术设计中)
轨闭合后下游共用:待写卡 → 已写卡(design/research/ 下的卡片路径)→ 已编迭代 N → 完成即整条删除
```
三条特殊通道:
| 设计面 | 通道规则 |
|---|---|
| 工程直入 | 缺陷修复/工程债/测试基建/重构四类工程条目:登记即「待写卡」,凭现状里指认的证据跳过设计轨 |
| 反哺点专条 | 待裁决 → 已写入(落点=文档+版本)→ 删除 |
| 备选库条目 | 暂不排期、留在备选库的条目:状态词后缀「(备选)」 |
「已闭合」不带凭据不算合法状态词。特批标记见 12.4。
### 12.2 roadmap 迭代行格式
roadmap 由顶部里程碑表+迭代总表组成,迭代总表一行一个迭代,回答一个问题:这个迭代编入了哪些卡、做到哪一步。迭代行六列:
```
| 迭代号 | 状态 | 需求卡片 | 编入时间 | 预计周期 | 实现报告 |
```
| 列 | 规则 |
|---|---|
| 迭代号 | 写「迭代 N」形态(N 为阿拉伯数字);这是流水线闸交叉核匹配的依据 |
| 状态 | 待开工 / 进行中 / 已完成(YYYY-MM-DD)/ 已终止(YYYY-MM-DD) |
| 需求卡片 | 只写文件路径;一格内一行一卡,格内排列顺序=执行顺序;已退役填保留字「已退役(git 历史可考)」 |
| 编入时间 | YYYY-MM-DD(该迭代最近一次编入卡片的日期) |
| 预计周期 | ≈N 周(0.5 步进,N ≤ 2) |
| 实现报告 | `reports/iterN-实现报告-YYYY-MM-DD.md`;未完成=「—」;退役=「已退役(git 历史可考)」 |
迭代行禁入内容:事项说明、卡序叙述、T 段明细、读数、闸数字、裁点记录、门依赖。卡间依赖写在卡片自身,行内只放上表六列的事实。特批标记同样可用于 roadmap 格(须带日期,见 12.4)。
### 12.3 美术工作区目录与命名
美术素材走两条目录线:在途工作在 `artwork/`(整目录不入 git),定稿进 `game/assets/art/`(入包被游戏加载)。图片永不进 `design/`。
| 位置 | 规则 |
|---|---|
| `artwork/<YYYY-MM-DD-主题>/` | 批次工作区,一次美术批一个目录,整目录不入 git |
| `artwork/<批次工作区>/samples/` | 样张子目录 |
| `artwork/archive/<主题>-<日期>/` | 批次完结归档 |
| `game/assets/art/<用途子目录>/` | 终稿,入包被游戏加载 |
命名总则:全小写英文+下划线,禁中文/空格/大写。
| 对象 | 文件名规则 |
|---|---|
| 终稿 | 三段式 `<对象>_<部位或状态>_<规格>.png`;终稿文件名=代码消费名——先定 ui_kit/资源路径常量,素材名跟它走,防断链 |
| 样张 | `sample_<屏名>_<版本>.png` |
| 同名迭代 | 直接覆盖,不留 v2 副本 |
美术内容不做机检,只保留命名与目录检查。
### 12.4 特批标记
特批标记是流程格式例外的唯一放行凭证:`〔用户特批 YYYY-MM-DD 跳过××〕`。只有用户明示才能给,用于 06 条目状态与 roadmap 格(见 12.1、12.2)。
执行技能一律两段式:
1. 对象已有内容 → 直接写入标记。
2. 对象没有任何内容 → 必须回呈实况,经用户再次确认后才写标记。
标记必须带日期,无日期=非法。流水线闸见合法特批标记放行对应判据。
+14 -8
View File
@@ -1,6 +1,6 @@
# 流程规范(Dungeon Sweeper) # 流程规范(Dungeon Sweeper)
> 约束范围:一切批次的流程纪律——分支与 worktree、三段开发流程、批次工作流、测试执行细则、像素件工作纪律。 > 约束范围:一切批次的流程纪律——分支与 worktree、五段流水线、批次工作流、测试执行细则、像素件工作纪律。
> 分工:硬性红线的一句话索引在 CLAUDE.md「硬性红线」;本文承载其操作细则;批次开工前通读本文。 > 分工:硬性红线的一句话索引在 CLAUDE.md「硬性红线」;本文承载其操作细则;批次开工前通读本文。
**开工任何批次前必须通读本文。** **开工任何批次前必须通读本文。**
@@ -14,15 +14,21 @@
3. **豁免面**:仅根目录 `active.md`(会话完成)、`.zcode/`(钩子与配置,入库)与 `.qoder/`(本机 harness 配置,gitignored 不入 git,走 worktree 反而带不进去)允许主工作区直改;其余一律走 worktree,主工作区 git commit 被钩子拦截 3. **豁免面**:仅根目录 `active.md`(会话完成)、`.zcode/`(钩子与配置,入库)与 `.qoder/`(本机 harness 配置,gitignored 不入 git,走 worktree 反而带不进去)允许主工作区直改;其余一律走 worktree,主工作区 git commit 被钩子拦截
4. 本铁律由 PreToolUse 钩子 `.zcode/hooks/worktree-guard.sh` 强制兜底;钩子只约束 agent,用户手工改动不受限 4. 本铁律由 PreToolUse 钩子 `.zcode/hooks/worktree-guard.sh` 强制兜底;钩子只约束 agent,用户手工改动不受限
## 2. 三段开发流程 ## 2. 五段流水线
一切要做的东西按三段走:设计 → 写需求卡片 → 实现。段间不自动流转,每段转进由用户发令。 一切要做的东西按五段流水线走:**登记 → 文档设计/美术设计(双轨)→ 写需求卡片 → 迭代编排 → 实现**。段间不自动流转,每段转进由用户发令;每段一个用户级技能入口,登记不立技能(条目格式由流水线闸强制)。设计工作在会话内进行、用户主导、禁无监管自跑。
| 段 | 产出 | 出入口铁律 | | 段 | 入口技能 | 产出 | 出入口铁律 |
|---|---|---| |---|---|---|---|
| 一·设计 | GDD 文档或 art-bible | 用户提起或从 `06-待办清单` 取出;会话内进行、用户主导、禁无监管自跑;经用户点头确认心智一致才许写入文档档;完成判据=待裁点清零,带未裁点的是讨论稿;不自动进写卡段,写卡须用户另行发令 | | 一·登记 | 无(闸管格式) | 06-待办清单条目 | 条目=标题登记元数据+正文四属性(现状/缺口/归属/状态);标题登记后不再变,正文随进程演进。格式与状态机权威=doc-conventions 第 12 节 |
| 二·写需求卡片 | 需求卡片(写作规范见用户级技能 req-card) | 设计定稿后用户发令;例外=缺陷修复/工程债/测试基建/重构凭 bug 证据或 06 条目直接进入;新玩法/新系统/新内容必须有设计定稿前置;卡片必经 grilling 多轮复核、零待裁点才成立;入库必在 06 登记一条(防遗忘);编入后续未完成迭代(roadmap 迭代行),无空位与用户确认开新一轮 | | 二·文档设计/美术设计 | doc-design(文档轨,兼任反哺点写入)/asset-ingest(美术录入;样张素材由用户主导产出) | GDD 文档或 art-bible/过审样张素材 | 用户提起或从 06 取出;会话内进行、用户主导、禁无监管自跑;经用户点头确认心智一致才许写入文档;完成判据=待裁点清零,带未裁点的是讨论稿;轨闭合凭据记入 06 状态(文档轨=文档路径+版本号,美术轨=样张过审+art-bible 条款版本) |
| 三·实现 | 代码与配置,可运行的游戏 | 需求卡片永不单独施工,统一由用户指定迭代号触发(=U0 开工令),按 /iter 技能与本文 §3 执行;**本段是代码实现批:禁写 `design/` 与根规则文件,产出物只落 `reports/`(见 §3 第 13 条)**;设计权威文档(GDD/art-bible)批内一律不更新;完成人闸=实机目检清单+代拍板追认单登记交用户即完成批内义务 | | 三·写需求卡片 | req-card | 需求卡片 | 轨闭合后用户发令;新玩法/新系统/新内容必须有设计定稿前置,例外=工程直入四类(缺陷修复/工程债/测试基建/重构)凭证据跳过设计轨;卡片必经 grilling 多轮复核、零待裁点才成立;写完在 06 状态记「已写卡」+卡片路径(防遗忘) |
| 四·迭代编排 | iter-plan | roadmap 迭代行 | 编排四查:①每卡卡片文件存在 ②每卡设计闭合凭据齐(或工程直入证据)③总估时 ≤2 周 ④写完 roadmap 行后跑流水线闸确认绿;编入未完成迭代,新开迭代行经用户确认 |
| 五·实现 | iter | 代码与配置,可运行的游戏 | 需求卡片永不单独施工,统一由用户指定迭代号触发(=U0 开工令),按 iter 技能与本文 §3 执行;**本段是代码实现批:禁写 `design/` 与根规则文件,产出物只落 `reports/`(见 §3 第 13 条)**;设计权威文档(GDD/art-bible)批内一律不更新;完成人闸=实机目检清单+代拍板追认单登记交用户即完成批内义务 |
**实现段零裁断**:实现段的输入在编排段出口已锁死(卡片零待裁点+设计闭合凭据齐+编排四查过)。实现中冒出卡片没写清的分歧=上游缺陷——停该卡、06 状态回退+缺口补记,退回上游;禁自答、禁内联提问求裁断;该卡停摆不阻塞同迭代其他卡。环境故障与测试红走异常分级(自救重试/记录继续/停机呈报)。代拍板白名单保留:授权发生在卡片审问阶段,实现只执行预授权;批后追认单=备案确认。
**流水线闸**:`tools/pipeline_gate.py` 机检 06-待办清单与 roadmap 两文件的格式与互相引用;将注册进 `run_all_gates.sh` 文档域(注册归第二批,本批不注册)。流程文档的条目格式、迭代行格式与状态机细则见 doc-conventions 第 12 节。
## 3. 批次工作流标准清单 ## 3. 批次工作流标准清单