merge: master 同步(active.md 残留清理批/根 README 纯指路牌批/batch-closure 指认批)

This commit is contained in:
DKChan committed 2026-10-20 02:34:04 +08:00
commit b8d24b465d
13 files changed
+31 -27

No files matched your search

+2 -2
View File
@@ -33,14 +33,14 @@
- `sim-data/` — 机器读数据产物;数据件不入 git(入库例外 = README+analyze.py+growth_model.py);MC 锚与读数常驻留盘,无数值调整禁重跑
- `tools/` — python 工具脚本;`archive/` — 收口归档 zip(gitignored)
- `reports/` — 迭代批产出物(实现报告/代拍板追认单/GDD 反哺点清单);**实现批唯一可写目录**,只放 .md,不是事实源(细则见 `reports/README.md`)
- 根目录:`roadmap.md`(里程碑+迭代总表六列+顶部「当前位」节=现在做什么)、`stage.txt`/`review-mode.txt`(运行开关);仓库根禁止再设会话状态文件(2026-10-18 用户裁,细则见 doc-conventions 第 10 节)
- 根目录:`README.md`(纯指路牌:设计/流程/当前位/待办四个链接,零规则重述)、`roadmap.md`(里程碑+迭代总表六列+顶部「当前位」节=现在做什么)、`stage.txt`/`review-mode.txt`(运行开关);仓库根禁止再设会话状态文件(2026-10-18 用户裁,细则见 doc-conventions 第 10 节)
## 规范导航(动手前先查表)
| 时机 | 权威文档 |
|---|---|
| 批次开工 / 流程纪律 | `design/dev/process-conventions.md`——worktree 铁律、五段流水线、批次清单、测试两入口与 MC/闸机细则、像素纪律 |
| 流水线段入口 | 技能对照——doc-design=文档设计/asset-ingest=美术录入/req-card=写卡/iter-plan=迭代编排/iter=实现(五者均装于项目 `.zcode/skills/`);登记不立技能;格式与状态机权威=`design/dev/doc-conventions.md` §12 |
| 流水线段入口 | 技能对照——doc-design=文档设计(兼任反哺点落文)/asset-ingest=美术录入/req-card=写卡/iter-plan=迭代编排/iter=实现(五者均装于项目 `.zcode/skills/`);登记不立技能;批后收尾与中间文档退役=batch-closure(同一目录);格式与状态机权威=`design/dev/doc-conventions.md` §12 |
| 写代码 / 改代码前 | `design/dev/code-conventions.md`——结构/契约/语言/数值/流程五类硬纪律(反例库 = 同目录 code-conventions-cases.md) |
| 写测试 / 改测试前 | `design/dev/test-conventions.md`——探针标配 / 回归断言 / 全量验证 / 验收清单落码 / 变异验证 |
| 写文档 / 改文档前 | `design/dev/doc-conventions.md`——白话写作 / 载体分工 / 用语 / 结构骨架 / 会话记录与生命周期 |
+12
View File
@@ -0,0 +1,12 @@
# Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)
扫雷推理层+自动战斗结算的两段式回合 Roguelike。个人开发,Godot 4.7 · GDScript。
本 README 只是路牌——不重述任何规则,想知道什么去唯一权威处:
| 想知道 | 去看 |
|---|---|
| 这个游戏设计成什么样 | [design/gdd/02-系统清单.md](design/gdd/02-系统清单.md)(GDD 根索引) |
| 开发流程怎么走(五段流水线/批次纪律/验收闸) | [design/dev/process-conventions.md](design/dev/process-conventions.md)+[AGENTS.md](AGENTS.md) 规范导航表(每段一个技能入口) |
| 现在做什么 | [roadmap.md](roadmap.md) 顶部「当前位」节 |
| 待办与待裁 | [design/gdd/06-待办清单.md](design/gdd/06-待办清单.md) |
+1 -1
View File
@@ -121,7 +121,7 @@
| 迭代实现报告 | 实现批收口的迭代级报告(各卡状态/代拍板追认单/GDD 反哺点清单),属中间文档,**落 `reports/` 不落 `design/`**(2026-10-17 用户裁:实现批禁写 `design/`,`reports/` 是其唯一可写目录):反哺点裁决落文吸收后按「证据只留最新」退役 |
| 证据只留最新 | 测试证据只保留最新一次迭代或最新一轮同类审计版本;新证据落位后同批删上一份;待人清单过人闸后同规退役 |
**删除方式**:按 `design/dev/concept-conventions.md` 第 2 节删除概念 SOP 口径——先查引用面(grep 文件名于阻塞域),改写或删除指路句,再删文件,收尾跑死链检查全绿。
**删除方式**:按 `design/dev/concept-conventions.md` 第 2 节删除概念 SOP 口径——先查引用面(grep 文件名于阻塞域),改写或删除指路句,再删文件,收尾跑死链检查全绿。执行入口=项目技能 batch-closure(批后收尾与中间文档退役)。
## 12. 流程文档格式
+2 -2
View File
@@ -52,8 +52,8 @@
**完成**
10. **批末按域验收才合并**——在任务 worktree 内跑 `tools/run_all_gates.sh`,**按本批改动域选档**:本批改动触及 `game/`(游戏工程代码、测试、探针、场景)→ `--code`;不触及 `game/` 的一切改动(`design/`、根规则文件、`tools/` 工具脚本、`.zcode/` 配置等)→ `--docs`;同批混触 `game/` 与文档面 → 全量档不带参数。所选域全绿才合回 master。该脚本是全部验证闸的**唯一入口、唯一清单与唯一域划分**,闸件增减、分域调整都只改它;**本文与其他文档禁另列闸件清单**(清单散落多处正是 iter27 漏跑 `probe_gate --full` 的成因)。跑完写回执 `game/tests/.gates/receipt.json`(含 `domain` 字段),合回时由 worktree-guard 按 diff 路径推域强制校验。闸件(`tools/` 下机检脚本与闸壳)自身的改动不占合回全量——其质量义务=落批时的变异验证(test-conventions §6),闸真崩溃时合回闸 fail-closed(跑不出回执即拦),不以合回全量为兜底
11. **合并后主区按域复跑**——合并可能引入冲突或环境差异,落回 master 后按本批改动域复跑:触及 `game/` 的批=全量复跑(维持);纯文档域批=复跑文档域档(秒级),不再全量
12. **批次完成后的登记义务**——合回 master 后按 doc-conventions §12.1 推进 06 条目状态(做完整条删除),涉及迭代编排的在 roadmap 迭代总表与顶部「当前位」节换代,跨会话教训写记忆库。批次过程与结论由 git 提交信息承载,禁止再写会话状态文件(2026-10-18 用户裁,见 doc-conventions 第 10 节)。`design/` 与根规则文件(`AGENTS.md`/`roadmap.md`)实现批禁写,见 §13
13. **文档同步闸(2026-10-17 改口径:实现批禁写文档)**——实现批**禁写 `design/` 整个目录与根规则文件**,要往外交代的东西一律落 `reports/`:实现报告 `reports/iter<N>-实现报告-<日期>.md`(各卡状态+实机目检总清单+遗留读数义务)、代拍板追认单 `reports/iter<N>-代拍板-<日期>.md`、GDD 反哺点清单 `reports/iter<N>-反哺点-<日期>.md`(每条写清哪个文件哪一节、改成什么、依据是什么)。设计权威文档(GDD/art-bible)**任何批都不直改**:用户在会话中逐点裁决后,由非迭代批(工具/规则/文档批)写入 `design/`,并把反哺条目从 `reports/` 清掉(吸收即死)。机械面文档(roadmap 行/术语表/README 工具注)同样归非迭代批在合并前更新。反哺点未落地期间相关 GDD 节视为待反哺,读前先查 `reports/` 与 06;需求卡片必列「关联文档同步面」按两层标注
12. **批次完成后的登记义务**——合回 master 后按 doc-conventions §12.1 推进 06 条目状态(做完整条删除),涉及迭代编排的在 roadmap 迭代总表与顶部「当前位」节换代——执行入口=项目技能 batch-closure(批后收尾与中间文档退役),跨会话教训写记忆库。批次过程与结论由 git 提交信息承载,禁止再写会话状态文件(2026-10-18 用户裁,见 doc-conventions 第 10 节)。`design/` 与根规则文件(`AGENTS.md`/`roadmap.md`)实现批禁写,见 §13
13. **文档同步闸(2026-10-17 改口径:实现批禁写文档)**——实现批**禁写 `design/` 整个目录与根规则文件**,要往外交代的东西一律落 `reports/`:实现报告 `reports/iter<N>-实现报告-<日期>.md`(各卡状态+实机目检总清单+遗留读数义务)、代拍板追认单 `reports/iter<N>-代拍板-<日期>.md`、GDD 反哺点清单 `reports/iter<N>-反哺点-<日期>.md`(每条写清哪个文件哪一节、改成什么、依据是什么)。设计权威文档(GDD/art-bible)**任何批都不直改**:用户在会话中逐点裁决后,由非迭代批(工具/规则/文档批)写入 `design/`(执行入口=doc-design 技能),并把反哺条目从 `reports/` 清掉(吸收即死;退役执行=batch-closure 技能)。机械面文档(roadmap 行/术语表/README 工具注)同样归非迭代批在合并前更新。反哺点未落地期间相关 GDD 节视为待反哺,读前先查 `reports/` 与 06;需求卡片必列「关联文档同步面」按两层标注
14. **实机目检归用户,只登记不阻塞**——真人检测项登记进实现报告目检总清单与 07-体验验证清单即完成批内义务;禁把等目检当停工理由或完成前置
15. **中间产物吸收即死**——细则见 AGENTS.md 硬性红线与 doc-conventions 第 11 节
@@ -77,7 +77,7 @@
## 5. 关联文档同步面
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`(`active.md` 唯一例外);下表一律执行为列进反哺点清单。
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`;下表一律执行为列进反哺点清单。
| 文档 | 关联点 | 同步义务 |
|---|---|---|
@@ -87,7 +87,6 @@
| `design/gdd/06-待办清单.md` | 本卡登记条 | 反哺点 · 列清单 |
| `design/gdd/07-体验验证清单.md` | 新增目检条(Esc 浮窗三动线/HUD 余额观感)——登记不阻塞 | 反哺点 · 列清单 |
| `roadmap.md` | 迭代行编入/状态刷新 | 反哺点 · 列清单 |
| `active.md` | 状态快照与本批条目 | **本批更新(唯一例外)** |
| `game/presentation/*`(浮窗视图+接线)、`game/smoke/*` | 实现与断言本体 | 实施本体(可写) |
## 6. 任务卡
@@ -125,7 +124,7 @@
### T4 产出物落位卡(≈0.5d,末卡)
三份 `reports/` 写齐;`active.md` 照常。
三份 `reports/` 写齐。
**估时合计 ≈3–4.5d**(v1.1 订正:分项和=3.0–4.5d,原「2.5–3.5d」算术少算)。切分预案:T1/T2 后可切(浮窗先落、HUD 后落)——切分价值低,建议与卡④同批单跑。
@@ -106,7 +106,7 @@
## 5. 关联文档同步面
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`(`active.md` 唯一例外);下表一律执行为列进反哺点清单。08 写入权限三卡统一口径(v1.1 对齐):**状态列可改;注记改写列反哺点随清单呈报;增删行须用户裁**。
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`;下表一律执行为列进反哺点清单。08 写入权限三卡统一口径(v1.1 对齐):**状态列可改;注记改写列反哺点随清单呈报;增删行须用户裁**。
| 文档 | 关联点 | 同步义务 |
|---|---|---|
@@ -117,7 +117,6 @@
| `design/art/art-bible.md` | :433 小字号豁免合并条款中「主菜单分组 overline×2」枚举片段——组帽撤后 excision(禁整行删),以 §9 第 1 条裁定为条件 | 反哺点 · 列清单 |
| `design/gdd/06-待办清单.md` | 本卡登记条 | 反哺点 · 列清单 |
| `roadmap.md` | 迭代行编入/状态刷新 | 反哺点 · 列清单 |
| `active.md` | 状态快照与本批条目 | **本批更新(唯一例外)** |
| `game/presentation/ui_assembler.gd`、`scenes/menu_screen.gd`、`main.gd`、`camp_shop_presenter.gd`(v1.1 补)、`game/smoke/*`、`game/tests/golden/*`、`tools/golden_baseline_refresh.sh`(重制入口,只跑不改) | 实现与断言/基线本体 | 实施本体(可写) |
## 6. 任务卡
@@ -146,7 +145,7 @@
### T3 产出物落位卡(≈0.5d,末卡)
三份 `reports/` 写齐(实现报告含 golden 重制呈报记录、变异记录表、「已知中间态」节〔契约 5〕/代拍板追认单/反哺点清单);`active.md` 照常。
三份 `reports/` 写齐(实现报告含 golden 重制呈报记录、变异记录表、「已知中间态」节〔契约 5〕/代拍板追认单/反哺点清单)。
**估时合计 ≈2.5–4d**(v1.1 上调:探针面从「五探针」扩到 20+ 位点,T2 清点后重估)。切分预案:T1 出口可切(砍钮先落、断言迁移后落)——但契约 5 硬依赖卡③,实际切分价值低,建议与卡③同批单跑。
@@ -77,14 +77,13 @@
## 5. 关联文档同步面
> **v1.3 口径(2026-10-17 文档同步闸 v3)**:本批是代码实现批,禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`(`active.md` 是唯一例外)。下表「同步义务」一律执行为「列进 `reports/iter<N>-反哺点-<完成日>.md`:哪个文件哪一节、改成什么、依据,用户会话裁决后归文档批落文」。
> **v1.3 口径(2026-10-17 文档同步闸 v3)**:本批是代码实现批,禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`。下表「同步义务」一律执行为「列进 `reports/iter<N>-反哺点-<完成日>.md`:哪个文件哪一节、改成什么、依据,用户会话裁决后归文档批落文」。
| 文档 | 关联点(本批实现会改变它的哪条陈述) | 同步义务 |
|---|---|---|
| `design/gdd/systems/表现与支撑/存档序列化.md` | :61「存档是单文件 JSON(user://save.json)」→ 三槽承载;:20/:16 系统范围「单档 JSON 存档」;:165 P2 后置「多存档槽位|单档 MVP……多档等有真实需求再立项」——本批即该真实需求 | 反哺点 · 单文件→三槽口径改写+P2 条注销(去向=本批) |
| `design/gdd/06-待办清单.md` | 本卡登记条(卡片名/文件指针/状态) | 反哺点 · 列清单 |
| `roadmap.md` | 迭代行编入笔与批内状态刷新 | 反哺点 · 列清单 |
| `active.md` | 状态快照与本批条目 | **本批更新(唯一例外)** |
| `game/core/save_manager.gd`、`game/core/meta_progression.gd` | 承载面改造本体 | 实施本体(可写) |
| `game/smoke/*`、`game/tests/*` | 断言与隔离面 | 实施本体(可写) |
@@ -125,7 +124,7 @@
### T4 产出物落位卡(≈0.5d,末卡——三份 `reports/` 文件写齐才算收口)
轻闸全绿后、合并前:`reports/iter<N>-实现报告-<完成日>.md`(各卡状态+变异验证记录表)/`reports/iter<N>-代拍板追认单-<完成日>.md`(§9 白名单内代拍项留痕)/`reports/iter<N>-反哺点-<完成日>.md`(§5 每条一落点)。`active.md` 状态记录照常更新。
轻闸全绿后、合并前:`reports/iter<N>-实现报告-<完成日>.md`(各卡状态+变异验证记录表)/`reports/iter<N>-代拍板追认单-<完成日>.md`(§9 白名单内代拍项留痕)/`reports/iter<N>-反哺点-<完成日>.md`(§5 每条一落点)。
**估时合计 ≈4.5–5.5d**(v1.1 上调:隔离面全清单+启动态/窥视三态断言增量)。切分预案:T1/T2 后可切(承载层先落、操作原语后落)——但本卡零用户可见面,切分价值低,建议单批跑完。
@@ -144,7 +144,7 @@
## 5. 关联文档同步面
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`(`active.md` 唯一例外);下表一律执行为列进反哺点清单。美术素材产物按素材线纪律落 `artwork/`(在途)→ `game/assets/art/`(终稿),不随 git 合并(F14)。
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`;下表一律执行为列进反哺点清单。美术素材产物按素材线纪律落 `artwork/`(在途)→ `game/assets/art/`(终稿),不随 git 合并(F14)。
| 文档 | 关联点 | 同步义务 |
|---|---|---|
@@ -155,7 +155,6 @@
| `design/gdd/06-待办清单.md` | 本卡登记条;UI 贴图重构批条(:21-27)注记「四柜台对象变化、重评待交互重做完形」;图鉴挂起条注记 | 反哺点 · 列清单 |
| `design/gdd/07-体验验证清单.md` | 新增实机目检条(场景观感/七物件辨识与点选反馈/大门两分支/篝火动线)——登记不阻塞 | 反哺点 · 列清单 |
| `roadmap.md` | 迭代行编入/状态刷新 | 反哺点 · 列清单 |
| `active.md` | 状态快照与本批条目 | **本批更新(唯一例外)** |
| `game/presentation/*`、`game/smoke/*`、`game/tests/**`(v1.1 补——forge_workbench_test 迁移面)、`game/tests/golden/*`(仅棋盘/menu 既有基线复跑)、`game/assets/art/*` | 实现/断言/终稿素材本体 | 实施本体(可写) |
## 6. 任务卡
@@ -225,7 +224,7 @@
### T6 产出物落位卡(≈0.5d,末卡)
三份 `reports/` 写齐(实现报告含方向稿选划记录三段表、探针迁移留痕表、变异记录表、目检总清单/代拍板追认单/反哺点清单);`active.md` 照常。
三份 `reports/` 写齐(实现报告含方向稿选划记录三段表、探针迁移留痕表、变异记录表、目检总清单/代拍板追认单/反哺点清单)。
**估时合计 ≈9–12d**(v1.1 上调:presenter 承接面+三钮弹窗+坏槽态联动+探针深员面增量)。**天然切分点=T1 出口**(场景素材归档齐)——美术线与代码线可分批交付(用户批次归属裁);若单批跑超迭代盒,T3 末(四柜台拆解完)为次切分点。
@@ -71,7 +71,7 @@
## 5. 关联文档同步面
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`(`active.md` 唯一例外);下表一律执行为列进反哺点清单。08 写入权限统一口径:**状态列可改;注记改写列反哺点随清单呈报;增删行须用户裁**。
> **v1.3 口径**:本批禁写 `design/` 整目录与根规则文件,唯一可写目录 = `reports/`;下表一律执行为列进反哺点清单。08 写入权限统一口径:**状态列可改;注记改写列反哺点随清单呈报;增删行须用户裁**。
| 文档 | 关联点 | 同步义务 |
|---|---|---|
@@ -79,7 +79,6 @@
| `design/gdd/systems/跨局循环/生涯.md` | :11-23 信息架构结构树——新增「进入存档→选档界面」一级层级(生涯入口随卡④改挂笔记本) | 反哺点 · 结构树补层 |
| `design/gdd/08-Alpha版本标准.md` | 「三 · 界面」表新增「选档界面」行(在役)——增行须用户裁(08 头注纪律) | 反哺点 · 增行请求随清单呈报 |
| `roadmap.md` | 迭代行编入/状态刷新 | 反哺点 · 列清单 |
| `active.md` | 状态快照与本批条目 | **本批更新(唯一例外)** |
| `game/presentation/views/*`(新建选档视图)、`main.gd`、`game/smoke/*` | 实现与断言本体 | 实施本体(可写) |
## 6. 任务卡
@@ -118,7 +117,7 @@
### T4 产出物落位卡(≈0.5d,末卡)
三份 `reports/` 写齐;`active.md` 照常。
三份 `reports/` 写齐。
**估时合计 ≈4.5–5.5d**(v1.1 上调:ConfirmDialog 机制+坏槽态+返回路径+夹具注入增量)。切分预案:T1/T2 后可切(视图先落、接线后落)——切分价值低,建议与卡②同批单跑。
-4
View File
@@ -33,10 +33,6 @@
"exit": "0",
"fp": "green"
},
"08b active.md 体量": {
"exit": "0",
"fp": "green"
},
"08c 流水线闸": {
"exit": "0",
"fp": "green"
+2 -1
View File
@@ -21,4 +21,5 @@
## 生命周期
一个迭代号一组文件,落档即死:反哺点被 `design/` 吸收后,对应文件删除,历史进 git commit log
(与"历史决策记录只进 git log、不设决策文档"这条红线同口径)。
(与"历史决策记录只进 git log、不设决策文档"这条红线同口径)。退役执行=batch-closure 技能
(批后收尾与中间文档退役),删前先过 doc-conventions §11 判据。
+1 -1
View File
@@ -3,7 +3,7 @@
# python tools/recolor_terrain_tiles.py # 产 underdark + deep_underdark 两套到源目录
# python tools/recolor_terrain_tiles.py --palettes underdark
# 事实源:
# - 源瓦片 = game/assets/art/board/terrain_*_dungeon.png(v9.3 定稿,active.md 台账 164;
# - 源瓦片 = game/assets/art/board/terrain_*_dungeon.png(v9.3 定稿;
# 素材不入 git——本脚本读盘上现件,勿删活件)
# - 目标色表 = _tools/gen_terrain_walls.py PALETTES(归档 归档-terrain-walls-2026-09-26.zip 内
# 活件;underdark/deep_underdark 槽值系圣经 §4.3 三关方向、三关换色证明条在案的已过闸色表)
+1 -1
View File
@@ -25,7 +25,7 @@ ROOT = Path(__file__).resolve().parent.parent
# 清单的家——实现批只准往这里写,design/ 全目录对它只读。只放 .md,不放图(图像白名单不含此目录)。
TOP_DIRS = {"archive", "artwork", "design", "game", "sim-data", "tools", "reports"}
# 2) 根目录文件白名单
ROOT_FILES = {"AGENTS.md", "roadmap.md", "stage.txt", "review-mode.txt",
ROOT_FILES = {"AGENTS.md", "README.md", "roadmap.md", "stage.txt", "review-mode.txt",
".gitignore", ".zcodeignore"}
# 3) 图像允许目录(相对路径前缀;archive/ 为归档 zip 不扫)
# design/qa/ 收编(迭代 5 返工批 2026-09-29——U2 目检预览图/QA 呈现产物归位,commit 留痕)