docs(active): 反哺写入批记账——快照更新于行/末次回执读数/簿记出清换代;未决面去掉迭代 27/28/29 反哺待裁三条、追认行报告指针改 reports/ 新位;追加状态记录 509(编号唯一,体量闸 PASS 10 条/9 行);508 批自述随批入库的主区未提交行改动随本笔提交

This commit is contained in:
DKChan committed 2026-10-17 06:28:21 +08:00
1 parent abe5f180fb
commit ed47b2f740
1 file changed
+19 -22
+19 -22
View File
@@ -12,47 +12,44 @@
- **引擎**:Godot 4.7.2 + GDScript(2026-09-07 锁定;`.claude/docs/technical-preferences.md` + `docs/engine-reference/godot/`;**MEDIUM RISK**——2026-09-12 `/setup-engine refresh` 逐条核实 4.5–4.7 官方迁移指南,无破坏架构契约项,current-best-practices.md 已建)
- **架构**:`design/dev/architecture/architecture.md` v1.6(2026-09-12 /create-architecture 产出;2026-10-15 确立为架构唯一事实源——历史决策文档体系已废除、沿革归 git commit log;review-mode.txt = solo)
- **待办清单**:`design/gdd/06-待办清单.md`(2026-09-16 收编批起为全项目待拍板唯一登记处;系统文档只留指路存根,新增条目直接登记清单,裁决后改状态列留痕)
- **批次出口报告**:随批落 `design/qa/`(证据只留最新一轮,doc-conventions §11)
- **批次产出物**:迭代批的实现报告、代拍板追认单、GDD 反哺点清单落根目录 `reports/`(2026-10-17 用户裁:迭代批禁止写 `design/`,`reports/` 是其唯一可写目录);证据只留最新一轮,细则见 `design/dev/doc-conventions.md` §11
- **工程路线图**:根目录 `roadmap.md`(里程碑时间线的权威;实时状态看下方快照节)
## 当前状态快照(收口批先更新本节,再追加状态记录;≤10 行)
- **更新于**:2026-10-16(**迭代 29 测试分层与门禁语义修正批已入库**——三硬闸落地+L2/L3 建承载+L1 补洞六套+S3/S5 修复;冒烟 1127/0、run_all 33 套、轻闸探针 10 件、重闸全绿存量红零新增;M4 数值批已废、四项欠账归 06 在册待裁)。
- **最新闸态**:迭代 29 批末冒烟 1127/0、run_all 33 套(含 1 集成)、probe --click 残留 0、render golden 棋盘×3 0.00%+菜单 0.15%、doc 三闸与熵增对基线零新增、static_scan S3/S5 新落地(S10 存量 127 在册);**11 号闸 parity 判为触面、待用户批准才发起**,MC 未跑。
- **probe --full 曾有一件红**:`t17_defer_probe`「关卡画面未出现」,用户已裁为存量红、不阻合并(合并 5b958ff6);根因是探针未隔离带断点的真实存档,该修复已随 `gatefix-20261015` 合入 master(合并 de8d28b6)。
- **更新于**:2026-10-17(**GDD 反哺点写入批**——用户裁「全部按推荐案」:迭代 27 两条/28 三条/29 三条+一条建议写入 architecture.md v1.8、code-conventions.md §4 第 7–12 条、test-conventions.md §7–§8、07 v1.4;三份实现报告迁位 `reports/`、roadmap 死指针清零;此前同日已合并迭代 29 批 `fff4f120` 与闸按域分跑批 `60c25ca3`〔重闸三档、迭代批禁写 design/、建 reports/〕,M4 数值批已废归 06 待裁)。
- **最新闸态**:重闸唯一入口 `tools/run_all_gates.sh` 按改动域分跑(代码域 01 冒烟/02 单元/03-04 探针/05 渲染/09 静态扫描/10 熵增/11 对拍,文档域 06 gdd_lint/07 doc_link/08 doc_term/08b active.md 体量/10 熵增;**域划分只在该脚本定义一处,文档禁止另列闸清单**)。文档域末次回执 commit=`3f9ec7c5`,五闸全绿零存量红(本反哺写入批的 --docs 回执=分支尖,见合并说明)。代码域末次实测读数(2026-10-16 合并后主区):冒烟 1127/0、单元 33 套(含 1 集成)、探针 --click 残留 0、渲染 golden 棋盘×3 与菜单均 0.00%(菜单基线已在合并代码上重采 `dac9a94b`)、static_scan S3/S5 在位、S10 文件头存量已由清偿批归零(基线里的 09 仍记红,下次跑代码域时按「基线红→现绿」对齐)、doc 三闸与熵增对基线零新增;**11 号闸 parity 是条件闸件,迭代 29 批判为触面、须 `PARITY_APPROVED=1` 才发起**,MC 未跑。
- **迭代 28 交付**:修好启动时菜单被冒险层盖住的装配顺序,层序收敛为唯一装配合同(散落的两处 `move_child` 删除);boot 链路、九阶段生命周期、启动态菜单 golden 三组验收补全;本批新立硬规则「验收函数无变异红记录不算验收成立」,三处规约落文。
- **迭代 27 交付**:三屏壳场景与局态物化、结算五段拆分、RunLedger 单类持四账、模态编排类、类型闸、死代码退役,编排器由 1725 行降到 1325 行。
- **规约体系现状**:规则文件按领域拆为 7 份、单文件上限 150 行,CLAUDE.md 只留元信息、命令、目录、规范导航与一行一条红线;动手前按规范导航表查对应细则。
- **规约体系现状**:规则文件按领域拆为 7 份、单文件上限 150 行,CLAUDE.md 只留元信息、命令、目录、规范导航与一行一条红线;动手前按规范导航表查对应细则。2026-10-17 增两条硬边界:迭代批(`/iter` 发射的代码实现)对 `design/` 只读、禁止在其中新增/修改/删除任何文件,产出物只准落 `reports/`,批末只跑代码域闸;非迭代批(工具/规则/文档改动)不占 roadmap 迭代号,按改动域跑闸。
- **人闸在册两件**:迭代 27 全流程走查〔07 ㉖〕与迭代 28 启动态菜单〔07 ㉗〕,均登记不阻塞;贫矿脉目检项〔07 ⑪〕已随 2026-10-16 屏蔽令转记失效;迭代 19~26 的目检已于 2026-10-14 全部核销。
- **簿记出清**:迭代 19~26 的代拍板追认单与 GDD 反哺点已全部裁决落文,对应 14 份迭代实现报告按「证据只留最新」删除(git 历史可考)。
- **已裁在册**:M4 数值批已废(2026-10-16 用户删卡令——禁止再以该名义立批/规划/引用已删卡,四项数值欠账归 06 在册、重新归属待裁);**迭代 29=测试分层与门禁语义修正批 ✅ 已入库**(需求卡片 v2.0 零待裁点;收口遗留=11 号闸 parity 对拍待批准发起、GDD 反哺三条待裁、06 在册遗留七项);迭代 27/28 位预留追加卡。
- **已裁在册**:M4 数值批已废(2026-10-16 用户删卡令——禁止再以该名义立批/规划/引用已删卡,四项数值欠账归 06 在册、重新归属待裁);**迭代 29=测试分层与门禁语义修正批已合并**(`fff4f120`,十提交);**迭代 30=UI 呈现三卡批已编入·待开工**(2026-10-16 用户令编入,提交 `272cc1ad`;三卡待裁项同日按推荐方案代拍板留痕、卡片均 v1.2;迭代内串行 ①未开格类型徽章→②战斗一屏样张→③二三关棋盘观感,禁三线并行;开工门 U0=`/iter` 发令);迭代 27/28 位预留追加卡。
- **界面美化三层**:第一层三件全部交付;余第二层三件(贴图/字体/样张)与第三层其余(九宫格切片/棋盘观感)待立项。
## 未决面(进行中/待人闸/待裁点指针;现行事实源登记处=`design/gdd/06-待办清单.md`)
- 待用户裁决(06 在册):迭代 27 GDD 反哺两条;迭代 28 GDD 反哺三条;美术审计两项 P0(art-bible 死样张指涉、主角像素管线重产);去毒残留词是否清扫(「魔法道具」约 30 处、「罕见」约 18 处);喂雷流 R5 甲重启条件回落文;「通关」与「通过第 N 关」全库口径统一(约 273 处);**贫矿脉屏蔽的设计语义面反哺五处**(地形变异.md §全局作用域型/HUD 框架三层预告/教学引导手册行/难度曲线与Boss 两行/art-bible §4.6.3 括注——均描述已撤回功能,待裁是否改写,机械面已同步)。
- 待用户追认:迭代 27 代拍板十五项、迭代 28 代拍板十三项(含四条白名单外),清单在两份现行实现报告的追认单节(`design/qa/iter27-实现报告-2026-10-14.md`、`design/qa/iter28-实现报告-2026-10-15.md`);req-card 技能的 WorkBuddy 与 ZCode 两份副本是否取齐待裁。
- 待发令:**迭代 29 测试分层与门禁语义修正批**(U0 门:Q3–Q7 裁点+卡片 v2.0 重核+`/iter` 发令);迭代 27/28 预留追加卡;黑话清扫第二波(GDD 正文流程动词族约三千处);规则文件编写 skill(按 497 批工作流提炼)。
- **迭代 29 已合入(2026-10-16 用户令「直接合入,不用重测」)**:合并提交 `fff4f120`,分支 `iter29-testlayers-20261016` 十提交入库。合入前卡的两个红均非本批引入(渲染闸 `menu_boot.png` 4.61% 已由并行会话 dbgfloat 批重制基线解决;gdd_lint `01-核心循环.md` R5 缺流程图归其引入批 `9846a29f`)。本批遗留:11 号闸 parity 对拍待用户批准发起(`PARITY_APPROVED=1`)、GDD 反哺三条待裁、06 在册遗留七项。
- 在途分支未合入 master(读现状时勿当已入库):`art-standee-20261006`(artwork 独立仓 dry-run 报告+立绘定档,领先 5 笔)、`stc-norm-20261015`(GDD 用语规范批,领先 4 笔);`gatefix-20261015` 已合入 master(合并 de8d28b6);`ci-removal-20261015` **未合入**(4 项改动仍是 worktree 未提交状态——其 ADR 定位两条已被 2026-10-15「决策文档体系废除」批取代,仅 CI 清除部分对迭代 29 仍有效);`doc-adr-fixes-20261014` **方向已废**(ADR 四节重建/修订注记与用户「ADR 不需要保存」裁定相反,分支去留待用户裁)。
- 待用户裁决(06 在册):美术审计两项 P0(art-bible 死样张指涉、主角像素管线重产);去毒残留词是否清扫(「魔法道具」约 30 处、「罕见」约 18 处);喂雷流 R5 甲重启条件回落文;「通关」与「通过第 N 关」全库口径统一(约 273 处);**贫矿脉屏蔽的设计语义面反哺五处**(地形变异.md §全局作用域型/HUD 框架三层预告/教学引导手册行/难度曲线与Boss 两行/art-bible §4.6.3 括注——均描述已撤回功能,待裁是否改写,机械面已同步)。
- 待登记 06:需求卡片入库纪律一条(502 批遗留,2026-10-17 在 06 清单内查无该条,属悬空待办)。
- 待用户追认:仅剩 req-card 技能的 WorkBuddy 与 ZCode 两份副本是否取齐一项。迭代 27 代拍板十五项、迭代 28 十三项(含四条白名单外)、迭代 29 十二项已于 2026-10-17 用户令「追认单的所有我都是同意的」全部同意,三份实现报告(2026-10-17 文档批已迁位 `reports/`)的追认单节已就地标注追认结果;迭代 29 第四节「经你裁决的四项」不在追认范围(当时已问过已答)。
- 待发令:**迭代 30 UI 呈现三卡批**(三卡 v1.2 零待裁残留,迭代内串行 ①→②→③,开工门 U0=`/iter` 发令;卡片=`design/research/需求卡片-未开格类型徽章批-2026-10-16.md`/`design/research/需求卡片-战斗一屏样张批-2026-10-16.md`/`design/research/需求卡片-二三关棋盘观感批-2026-10-16.md`;三批合计 ≈11–14d 超软盒 7d,须按批次分会话逐个发令);迭代 27/28 预留追加卡;黑话清扫第二波(GDD 正文流程动词族约三千处);规则文件编写 skill(按规则文件审计与目录划分批的工作流提炼,见提交 `81c0ee2b`)。
- 待批准发起:**11 号闸 parity 回放确定性对拍**(迭代 29 把它收编为重闸里的条件闸件,每次跑批只做触面判定、不自动跑;迭代 29 批已判触面并挂 NEED-APPROVAL,批准方式=带 `PARITY_APPROVED=1` 发起,MC 须用户批准才跑)。
- 在途分支未合并 master(读现状时勿当已入库):`art-standee-20261006`(worktree `g-plan2-standee-tier`,领先 5 笔——artwork 独立仓 dry-run 报告+立绘定档)、`doc-adr-fixes-20261014`(worktree `g-plan2-doc-adr-fixes`,领先 5 笔,**方向已废**——ADR 四节重建/修订注记与用户「ADR 不需要保存」裁定相反,分支与 worktree 去留待裁)。已合并的 worktree/分支清理(2026-10-17 用户令执行):`g-plan2-iter29-testlayers`、`g-plan2-menusub-20261016` 两工作区与分支 `adr-purge-20261015`、`adr-leak-fix-20261016` 已删;`ci-removal-20261015` 已按 2026-10-16 既裁重做(只删 `.github/workflows/tests.yml`、撤 ADR 两条)合并 `db032fb5` 后工作区与分支同删;**仅剩 `g-plan2-carddoc-20261017` 工作区在盘**(分支 `carddoc-20261017` 已合并 `480d8118`),删除待令。
- 在册观察(06 登记,非阻塞):迭代 27 卡片义务补登两项——长函数余量 17 个中的装配/校验函数、lambda 连接防回归。
## 状态记录(滚动窗口:仅当前迭代;退役规则见 doc-conventions §10)
- **496(2026-10-15,迭代 28 启动装配与生命周期验收补全批总收口)**:单会话交付七提交并合并 5b958ff6,冒烟 1086→1125/0(新增 42 条断言,退役 3 条把错误顺序写成期望值的裸下标断言)。四条结论:①启动装配顺序错误(菜单被冒险层盖住)已修,层序判定收进单一合同 `LAYER_CONTRACT`,散落的两处手工 `move_child` 删除;②boot 链路十断言与九阶段×五引用面生命周期矩阵入库;③渲染面补两件探针自检、墨色判据与启动态菜单 golden;④六次变异注入全部见红并精确还原,拦截能力已证。变异 3 顺带证明墨色占比判据自身不可靠——菜单被藏时底层棋盘仍给高反差像素,该强弱分层写进 code-conventions §3.6。批内类型闸自纠一笔(`main.gd:453` 缺元素类型,改 `Array[Variant]` 后 S9 归零)。存档面风险已核实:全部 worktree 共享同一份 `user://save.json`,定位过程中临时移开的真实档已逐字节校验还原。
- **497(2026-10-15,规则文件审计与目录划分批收口)**:对照 Anthropic 与 OpenAI 七个真实仓库 40~330 行的实测密度重整规约——规则文件由 3 份 560 行拆为 7 份 543 行,单文件 150 行硬上限,CLAUDE.md 压到 68 行只留元信息、命令、目录划分、规范导航和一行一条红线;细则按领域归位到 process/test/doc/code/concept 五份规约,反面案例另存案例库不常驻加载。迭代 28 并行落文的变异验证硬规则按新结构重归位(细则在 test-conventions §6)。合并 81c0ee2b,worktree 与分支已清理。
- **498(2026-10-15,active.md 退役清理批)**:按 doc-conventions §10 执行一次状态退役——删除迭代 20~27 的 31 条已完结条目(判据三条齐备:批次已入库、结论已进快照、未决项不指向条目;内容可在 git 历史完整复原),状态记录由 34 条降到 3 条,回到 30 条硬上限内。快照节原为 21 条且整块自我重复(两条「更新于」、两条「批末闸全绿」、两条逐字相同的「迭代 26 交付」),去重换代为 10 条。删掉「项目当前位置」整节——该节滞后于快照与 roadmap,里程碑归 `roadmap.md`、实时进度归快照节。未决面按迭代 27/28 现行待裁与待追认重列,并把三条在途未合入分支登记在册以免被当已入库。本批零代码、零其他文档改动。
- **499(2026-10-15,active.md 收口机制批)**:用户裁定收口检查的触发时机不能挂在"一轮答话结束"上——旧的 Stop 钩子判的是「active.md 内容有没有变」,追加新条目就算变,结构上永远抓不到"没删旧条目";且它比对的还是已废弃路径 `production/session-state/active.md`。实测三份 harness 副本现已全部失效:Qoder 侧快照零份、ZCode 侧没接 Stop 事件、Claude 侧配置为空。改法分两层:机械层 = `tools/audit_active_state.py` 判五条膨胀签名(状态记录条目数超 30、快照行数超 10、条目编号重复、快照整行自我重复、指向 `design/qa`|`design/research` 的死指针),并入 `tools/run_all_gates.sh` 为 08b,由既有合回闸回执强制,不另立第二份闸清单;语义层 = `active-closing` 技能,规定用户问「任务是否结束」时先跑闸、按 §10 三判据逐条核对并删除、报删除清单,然后才回答。变异验证:对换代前的 34 条版本报 5 项红(连 472/477/481/494 撞号与 6 处报告死指针一并抓出),对退役后的 3 条版本报绿。钩子副本收敛为单一事实源:`.qoder/settings.json` 改指 `.zcode/hooks/worktree-guard.sh`,该脚本加 `QODER_PROJECT_DIR` 兼容并把 `.qoder/` 纳入豁免面(gitignored 配置走 worktree 带不进去),`.qoder/hooks/` 三份副本删除。脚本层守卫五例实测(stdin 直喂):主区改 tracked 文档拦、改 active.md 放行、改 .qoder 放行、主区 commit 拦、无全量回执的 merge 拦。**待核**:hooks 属各 harness 私有配置、不随仓库传播——ZCode 侧确认在跑,Qoder 侧本会话活体探针未被执行(`.claude/settings.json` 仍为空),故拦截力目前只在 ZCode 生效,成因待诊断。全量闸由用户自跑,本批按令合回 master(分支 `active-gate-20261015`,合并见提交史)。
- **500(2026-10-15,决策文档体系废除 + architecture.md 确立架构唯一事实源,文档批)**:用户裁「ADR 不需要保存,任何决策记录在 git commit log 里记好,不需要工作日志文档存在」——七份 `adr-0001~0007` 全删(内容留 git 历史),architecture.md 删「ADR 审计」「ADR 立项清单」两节、文档状态立「事实源地位」条(唯一事实源),未决表关闭 QQ-01/02/03、立项清单在途事项转登记 QQ-11~14,补 A1 生成姿态与 autoload 四件(ConfigDB/RngService/SaveManager/MetaProgression)事实;CLAUDE.md 新增「架构事实唯一源」红线并恢复 RNG 单点红线;doc-conventions §5/§11 落架构唯一事实源条文;registry 删 18 处 adr 字段;game/ 约 60 处代码注释与 GDD/qa/research/roadmap/tests README 引用全清,豁免标记 `ADR-0007-exempt`→`rng-seed-exempt` 五处同步(main.gd/static_scan.sh/architecture.md/06/iter27);主区 4 个未跟踪今日产物(测试审计报告/两张需求卡片/自造短语清单)就地清除。走 worktree `adr-purge-20261015` 合并 4ed48b86;死链校验 1206 链接 0 死链、gdd_lint 0 不通过;按用户令未跑测试闸(本会话合回闸未触发、receipt 未生成)。代码中 `adr`/`adr5` 等为 AdventureRunner 既有局部变量名(smoke/单测 5 文件约 60 处),非文档引用、未动。**遗留呈报待用户裁**:`ci-removal-20261015` worktree 的 ADR 两条改动已被本批取代(仅 CI 清除部分对迭代 29 有效)、`doc-adr-fixes-20261014` 分支方向已废,两个 worktree/分支的去留待裁。
- **500(2026-10-15,决策文档体系废除 + architecture.md 确立架构唯一事实源,文档批)**:用户裁「ADR 不需要保存,任何决策记录在 git commit log 里记好,不需要工作日志文档存在」——七份 `adr-0001~0007` 全删(内容留 git 历史),architecture.md 删「ADR 审计」「ADR 立项清单」两节、文档状态立「事实源地位」条(唯一事实源),未决表关闭 QQ-01/02/03、立项清单在途事项转登记 QQ-11~14,补 A1 生成姿态与 autoload 四件(ConfigDB/RngService/SaveManager/MetaProgression)事实;CLAUDE.md 新增「架构事实唯一源」红线并恢复 RNG 单点红线;doc-conventions §5/§11 落架构唯一事实源条文;registry 删 18 处 adr 字段;game/ 约 60 处代码注释与 GDD/qa/research/roadmap/tests README 引用全清,豁免标记 `ADR-0007-exempt`→`rng-seed-exempt` 五处同步(main.gd/static_scan.sh/architecture.md/06/iter27);主区 4 个未跟踪今日产物(测试审计报告/两张需求卡片/自造短语清单)就地清除。走 worktree `adr-purge-20261015` 合并 4ed48b86;死链校验 1206 链接 0 死链、gdd_lint 0 不通过;按用户令未跑测试闸(本会话合回闸未触发、receipt 未生成)。代码中 `adr`/`adr5` 等为 AdventureRunner 既有局部变量名(smoke/单测 5 文件约 60 处),非文档引用、未动。**遗留呈报待用户裁**:`ci-removal-20261015` worktree 的 ADR 两条改动已被本批取代(仅 CI 清除部分对迭代 29 有效)、`doc-adr-fixes-20261014` 分支方向已废,两个 worktree/分支的去留待裁(2026-10-17 核:`ci-removal-20261015` 已合并 master、worktree 仍在盘;`doc-adr-fixes-20261014` 仍未合并,两条的现状与清理待令都记在未决面)。
- **501(2026-10-15~16,简明技术中文用语规范批总收口)**:用户令对 design/gdd 全 45 文件做三层语言规范并融合词表——词面约 250 处按术语表「用语规范」A 表替换(不得→禁止/收口→完成/随批→顺带等 12 行,五子代理分四波执行+逐处语境裁决)、术语表 v1.12 新立「用语规范」节(STC 词表为权威+豁免三类+注销词义限定注)、词条五组(总线/抽屉、机能件/机制件、装板/摇号、坍塌显形、增益归一)+死链全库清零(3 处:config_fatal_probe 去向双证落 v0.4 行注、武器锻造漏改 2 处)+doc_term_audit 吸收 A 表 10 词与随批/台账补扫通道。**本批两教训**:①合回闸与「文档批零测试」铁规冲突时助手机械服从、擅跑全量测试两轮(含渲染闸),用户暴怒——正解=改闸的判断条件,现守卫已加「纯文档合入豁免」(merge diff 不触 game/ 直接放行,代码合入仍全量闸);②坑册新增:守卫按命令文本解析分支名(cd 前缀/环境变量前缀连坐误拦)、.import 边车被全局忽略致 worktree 冷检出探针 texture=null 假红。合并 af321c03(九提交,纯文档合入未跑测试,同日 4ed48b86 前例)。
- **502(2026-10-16,迭代 29 编入批——roadmap 门牌登记)**:用户令「把需求卡片写进 roadmap 的迭代 29」——此前需求卡片只存在于中间文档,roadmap 仍写「下一前沿=迭代 29+ M4 数值批」,致别的会话启动迭代 29 时跑去做 M4(该卡同日已被用户删除=死引用)。本批三改:①roadmap 迭代 29 行改写为「测试分层与门禁语义修正批」(需求卡片=`design/research/需求卡片-测试分层与门禁语义修正批-2026-10-15.md`,v1.4,T0–T8≈5.5–7d,开工门 U0=Q3–Q7 裁点+卡片 v2.0 重核+`/iter` 发令),新增「迭代 30+ 位空」行记录 M4 废除(禁止再以该名义立批/规划/引用已删卡;四项欠账归 06 在册待裁),迭代 23+ 原始泊位行加作废注仅作排期史保留;②需求卡片升 v1.5(排期行与 §5 同步行更新;登记 v2.0 重核遗留=残留 CI 措辞四处+事实基线换代〔冒烟 1086→1125/0、门禁五闸→run_all_gates.sh 编排、architecture.md 测试域节已成文、Q3 的 CI timeout 前提消失〕;订正 v1.3 版本条目尾部重复段);③本文件快照与未决面三行同步换代。文档三闸全绿(gdd_lint 0 不通过/死链 0/疑似现行 0)。提交 21c83f5。**遗留待用户裁**:06 待办清单登记一条(卡片入库纪律);`ci-removal-20261015` 分支重做(撤 ADR 两条、只保留删 .github/、rebase 现行 master)。
- **503(2026-10-16,贫矿脉屏蔽+DS_DEBUG 写死批总收口)**:用户令两项一波走完(worktree `g-plan2-shielddebug-20261016`,五提交,合并 d3356985,合并后主区冒烟 1126/0 兜底)。**①贫矿脉屏蔽**:`variation.tres` 删 skewed_veins 行(用户裁「地形变异特异关卡后续重新做设计,先屏蔽」)——Boss/精英图全局池空→`_resolve_global_variant` 空行回落→region 布置原路兜底,玩家面零横幅零角标零资源偏斜;冒烟 7 处断言换代为「全局池空→region 兜底回落」路径(行数 7→6/boss 池去 global 行/L2 boss+elite 全局决议空行/格子级恰一行且在 {magma,ash}/快照空态一致/同种子确定性含 variants 字典逐位);resource_face 机制代码(RewardEconomy 偏斜投影/schema 互锁/负样本)零触碰,重建设计直接加行即可;删行依据与首发批裁决记录改写为屏蔽注记(git 历史可溯)。**②DS_DEBUG 写死**:`main.gd:219` 环境变量读取退役、`_debug_entry` 恒 true(用户令「直接写死,不读环境变量,太麻烦」)——全库 DS_DEBUG 引用清零(含浮窗内用户可见工具提示文案);闸断言三处换代(smoke V2f 改恒开/click_probe 原「未设时不得默认开」反转为「未恒开即失守」并挪至 boot 段、设置面关闭段补 ModalStack 遮挡恢复断言/tune_probe 删自设环境变量死代码);**发布前删除事项=main.gd:219 一行**(无 CI,两道恒开断言会红兜底)。**闸面三修**(首跑抓出):冒烟跨块引用 bb/crng 出作用域 Parse Error(hoist 为 boss1_ids/variants/calls);shot_probe 截图前走 `_close_modal` 真实单口归一浮窗(写死后 boot 即开压菜单——boot 顶层检查/golden 19%/文字占比 0.00% 三处受扰;视觉契约与调试模式解耦,发布前删写死时基线不受影响);click_probe 恒开断言归位。**基线 09 指纹刷新**:静态扫描红项清单与基线不符,经主区与分支 `audit_file_headers` 输出逐行一致(128 行)证明非本批引入(漂移源于 20f4a7dc 之后主区 .gd 头注变动),按「人工确认后重生成」条款对齐指纹,红项仍为存量 127 处。**验收**:全量闸通过(存量红零新增,回执 commit=HEAD);worktree 与分支已清理。**读数义务归 M4**:Boss 图资源面分布与 region 布置读数(本批 MC 零跑,内容回落既有 region 行为)。**反哺点待裁**:设计语义面五处描述已撤回功能(地形变异.md §全局作用域型/HUD 框架三层预告/教学引导手册行/难度曲线与Boss 两行/art-bible §4.6.3 括注);机械面四件已随批同步(07 ⑪ 转记失效/architecture 行数 7→6/数据配置清单/06 战斗节点地图类型差异化条)。
- **504(2026-10-16,需求卡片升 v2.0——三轮复查结论落文,U0 门只欠发令)**:grilling 两轮+一轮只读深挖后一次性升版(用户令「实现相关的都可以用你推荐的,但重新检查一遍」)。**首轮十一问按推荐全裁**:L2 承载+2 例(Core-Core/A1×A2 随属主批增量)/parity 收编为**条件闸件**(仅 diff 触 data-tables/meta-save/rng/settlement 跑,否则 SKIP,守住「MC 无数值改动零跑」红线)/CI timeout 前提已死、改铸为轻闸墙钟预算(T0-② 实测,超用户上限才议分层或并发)/integration 并入 run_all manifest/S9 存量豁免维持、本批新写测试件全类型标注(升 🔴 契约 8)/golden 失效显式重制+呈报+复闸/smoke 两名不改名只加注。**第二轮两项亦按甲**:N1=§2 改指针(事实面归 architecture.md「测试与质量域」三张表,禁双载体漂移——ADR 教训同款防复发);N2=T6 收 S3 路径修正(core→game/core+零命中自检,+0.25d)。**事实订正四处**:PASS 串判定面实为 8 件探针(非 4)/game/smoke 实为 29 个 .gd(非 38)/T5 的 status_container 不是零覆盖(2 单测已指名)→ 换 board_generator/README「ci-removal 批已改写门禁节」前提不成立(分支未合入)→ CI 残留 8 处(README 6+run_all.gd 头注 2)改由本批 T2 清除。**死引用订正**:CLAUDE.md:21/:106/:116 与 §0 的 :102-103(文件已压到 71 行)、tests.yml(已删)、golden_compare.py:11(实际 :13)。**新增义务**:本批落地后须回写 architecture.md 的「三条判定硬闸现行状态」矩阵(缺失→在位)与 S 表。估时 T0–T8≈6.0–7.5d(+0.5d),软盒 7d 维持。**U0 现状:零待裁点+v2.0 成立,仅欠 `/iter` 发令**;唯一待补输入=轻闸墙钟上限(T0-② 前给即可)。文档三闸全绿。
- **505(2026-10-16,调试入口修正批——503「写死」的用户实测否决与纠偏)**:用户 F5 实测 503 交付态:**浮窗 boot 自动开把开始屏盖成调试面板**(640×约700 居中面板盖掉大半个屏,用户体感「直接进到了调试面板,退出之后才回到开始面板」),且**菜单层没有任何浮窗入口**——iter18 卡⑦ P2 甲把右下角「调试」角标迁去两屏的理由正是「DS_DEBUG=1 启动即开」,该理由随写死后依然成立但用户根本不接受这个形态(从没带过环境变量、首次见)。用户令查三问(入口在哪/何时触发/触发后效果)后定性:我的「完成逻辑」把「写死」做成了「原样继承启动即开」,而用户要的是「调试常驻可用」——入口可见、按需开。修正(worktree `g-plan2-dbgentry-20261016`,合并 752c9a0a,主区冒烟 1127/0 兜底):①`main.gd` `_ready` 删 boot 自动开浮窗(`_debug_entry` 门控保留)②恢复开始屏右下角「调试」角标——实现自 git 历史 `40fb4a5c^` 原样恢复(PRESET_BOTTOM_RIGHT 16px 角距+FS_HINT+豁免宽度基准),`ui_assembler` 返回键补 `dbgbtn`、`scenes/menu_screen.gd` 暴露句柄、接线 `pressed→_on_debug_badge_pressed`③浮窗 desc 文案改三处入口说明。**探针/断言四处换代**:smoke V2f 改「boot 不开浮窗+菜单角标可见」、V1a 收回严格判据;click_probe boot 检查反转+角标检查翻转为缺失才红+删浮窗恢复断言;tune_probe ① 改角标真实点击开窗路径;shot_probe 删浮窗归一段(死代码)。**首轮冒烟抓两处自伤并修复**(教训在册):①返回键漏 `dbgbtn`→`menu_screen` 句柄 null→`_build_ui` 中断→V1c 层序红(_layer_node 缺失三层)——装配器加返回键必须同批查 `menu_screen.gd` 句柄赋值;②角标 `visible` 赋值在 `_build_ui`(读到 `_debug_entry` 初始 false)而门控落定在其后——**门控变量赋值晚于消费点的顺序坑**,挪到 `_ready` 门控行之后。**发布前删除事项更新**:删 `main.gd:219` 一行时,角标可见性(同函数下一行)随门控失效自动隐藏,无第二删除点。
- **502(2026-10-16,迭代 29 编入批——roadmap 门牌登记)**:用户令「把需求卡片写进 roadmap 的迭代 29」——此前需求卡片只存在于中间文档,roadmap 仍写「下一前沿=迭代 29+ M4 数值批」,致别的会话启动迭代 29 时跑去做 M4(该卡同日已被用户删除=死引用)。本批三改:①roadmap 迭代 29 行改写为「测试分层与门禁语义修正批」(需求卡片=`design/research/需求卡片-测试分层与门禁语义修正批-2026-10-15.md`,v1.4,T0–T8≈5.5–7d,开工门 U0=Q3–Q7 裁点+卡片 v2.0 重核+`/iter` 发令),新增「迭代 30+ 位空」行记录 M4 废除(禁止再以该名义立批/规划/引用已删卡;四项欠账归 06 在册待裁),迭代 23+ 原始泊位行加作废注仅作排期史保留;②需求卡片升 v1.5(排期行与 §5 同步行更新;登记 v2.0 重核遗留=残留 CI 措辞四处+事实基线换代〔冒烟 1086→1125/0、门禁五闸→run_all_gates.sh 编排、architecture.md 测试域节已成文、Q3 的 CI timeout 前提消失〕;订正 v1.3 版本条目尾部重复段);③本文件快照与未决面三行同步换代。文档三闸全绿(gdd_lint 0 不通过/死链 0/疑似现行 0)。提交 21c83f5。**遗留待用户裁**:06 待办清单登记一条(卡片入库纪律);`ci-removal-20261015` 分支重做(撤 ADR 两条、只保留删 .github/、rebase 现行 master)。(2026-10-17 核:该分支已按现状合并、重做令失效;「06 登记一条」至今在 06 清单内查无,已改记在未决面的待登记项。)
- **503(2026-10-16,贫矿脉屏蔽+DS_DEBUG 写死批总收口)**:用户令两项一波走完(worktree `g-plan2-shielddebug-20261016`,五提交,合并 d3356985,合并后主区冒烟 1126/0 兜底)。**①贫矿脉屏蔽**:`variation.tres` 删 skewed_veins 行(用户裁「地形变异特异关卡后续重新做设计,先屏蔽」)——Boss/精英图全局池空→`_resolve_global_variant` 空行回落→region 布置原路兜底,玩家面零横幅零角标零资源偏斜;冒烟 7 处断言换代为「全局池空→region 兜底回落」路径(行数 7→6/boss 池去 global 行/L2 boss+elite 全局决议空行/格子级恰一行且在 {magma,ash}/快照空态一致/同种子确定性含 variants 字典逐位);resource_face 机制代码(RewardEconomy 偏斜投影/schema 互锁/负样本)零触碰,重建设计直接加行即可;删行依据与首发批裁决记录改写为屏蔽注记(git 历史可溯)。**②DS_DEBUG 写死**:`main.gd:219` 环境变量读取退役、`_debug_entry` 恒 true(用户令「直接写死,不读环境变量,太麻烦」)——全库 DS_DEBUG 引用清零(含浮窗内用户可见工具提示文案);闸断言三处换代(smoke V2f 改恒开/click_probe 原「未设时不得默认开」反转为「未恒开即失守」并挪至 boot 段、设置面关闭段补 ModalStack 遮挡恢复断言/tune_probe 删自设环境变量死代码);**发布前删除事项=main.gd:219 一行**(无 CI,两道恒开断言会红兜底;该行现行位置与行号见 507 条=`game/presentation/main.gd:196`)。**闸面三修**(首跑抓出):冒烟跨块引用 bb/crng 出作用域 Parse Error(hoist 为 boss1_ids/variants/calls);shot_probe 截图前走 `_close_modal` 真实单口归一浮窗(写死后 boot 即开压菜单——boot 顶层检查/golden 19%/文字占比 0.00% 三处受扰;视觉契约与调试模式解耦,发布前删写死时基线不受影响);click_probe 恒开断言归位。**基线 09 指纹刷新**:静态扫描红项清单与基线不符,经主区与分支 `audit_file_headers` 输出逐行一致(128 行)证明非本批引入(漂移源于 20f4a7dc 之后主区 .gd 头注变动),按「人工确认后重生成」条款对齐指纹,红项仍为存量 127 处。**验收**:全量闸通过(存量红零新增,回执 commit=HEAD);worktree 与分支已清理。**读数义务归 M4**:Boss 图资源面分布与 region 布置读数(本批 MC 零跑,内容回落既有 region 行为)。**反哺点待裁**:设计语义面五处描述已撤回功能(地形变异.md §全局作用域型/HUD 框架三层预告/教学引导手册行/难度曲线与Boss 两行/art-bible §4.6.3 括注);机械面四件已随批同步(07 ⑪ 转记失效/architecture 行数 7→6/数据配置清单/06 战斗节点地图类型差异化条)。
- **506(2026-10-16,迭代 29 测试分层与门禁语义修正批总收口)**:用户 `/iter 29` 发令,单会话八提交交付(worktree `g-plan2-iter29-testlayers`,分支 `iter29-testlayers-20261016`)。**核心是把验收语义从「跑一遍没崩=通过」扭到「三层完备+判定可靠」**,三硬闸每条都有反例实证:改前「探针打印 PASS 后 quit(1)」判全绿、「零断言套件」判 all green (0 checks)、「子套件中途报 SCRIPT ERROR」判 PASS;改后三条全部见红。**本机两个坑写进注释防复发**:①`OS.execute` 的输出管道恒空(子套件输出须交命令解释器重定向落盘再读);②`OS.get_executable_path()` 返回 GUI 子系统 exe,其子进程 stdout/stderr 句柄无效,必须换 `*_console.exe`。断言下限用专用退出码 2(不是 1——致命类套件期望 1,返回 1 会被 expect 协议放过)。**三层承载**:L1 补六套(board_generator/minesweeper_rules/config_db_resolver/config_db_cross_validator/hud_presenter/battle_narrator,27→33 套),三屏壳归 L3 探针;L2 建 `tests/integration/` 首个用例(存档⇄RNG 往返,含旧档经迁移链后仍可续玩这条真实路径);L3 新建 `screen_flow_probe`(六步主流程+两条回退,每步判屏级互斥)入轻闸。**parity 收编为重闸 11 号条件闸件**(每次跑批做触面判定,触面也不自动跑——MC 须用户批准),本批即判触面,挂 NEED-APPROVAL 待裁。**扫描域**:S3 路径由裸 `core` 修正为 `game/core`(此前恒零命中恒绿、什么都不扫),补 S5,并给每条规则加零命中自检(扫描面为空即判红,路径写歪时自检跟着一起红)。**四处经用户裁决的改动**:fx_grant_gp 补行来源豁免(每局 7 次断言失败被闸长期漏过)/manifest 增 negative 字段(负面套件的错误是测试目标)/config_db_test 的 rows 定型数组赋值改 assign(**10 条敌人表行集纪律断言从未执行过**,修后两条正向见红=夹具缺 depth-0 锚行,补锚行全绿)/system_contracts 空桩换真实实例。**台账与时效**:15 个游离脚本逐个定性成表(存疑按在役);golden 先判再动,实测 changed 0.00%/0.15% 判有效不重制。**架构事实源回写**:三硬闸矩阵「缺失」→「在位」、S 表 S3/S5 更新、新增「三层承载与判定原则」小节。**验收**:重闸 exit=0(存量红零新增,回执 commit=HEAD),冒烟 1127/0 持平,轻闸墙钟 363→405s。**遗留待裁**:11 号闸 parity 是否批准发起、GDD 反哺三条、06 在册七项。
- **507(2026-10-16,调试入口全局浮层角标批——屏内三枚角标合并为最顶层浮层)**:用户看完上一批(屏内角标形态)交付态后定稿:不做置顶钮式按需出现,要「**UI 最顶层浮层、不被任何 UI 遮挡**」(调研 Material FAB 与 NN/g 置顶钮规范后用户给出的修正——位置惯例一致但浮层语义不同)。实现(worktree `g-plan2-dbgfloat-20261016`,两提交,合并 746c1bb4,主区冒烟 1127/0 兜底):**三枚屏内角标(菜单右下/战斗 HUD 右下/地图顶栏)合并为一枚全局浮层角标**——LAYER_CONTRACT 末位新增 `{"key":"debug_badge","kind":"float"}`(只落树序=最顶绘制序、**不注册 ModalStack**:`open()` 遮挡记账只隐藏登记层,故任何模态/覆盖层开都不遮它=用户需求的机制根因);main 直接子层,构建走 `ui_assembler.build_debug_badge`(右下角 16px+FS_HINT+豁免宽度基准+grow BEGIN);地图屏底栏 85px 常驻→`_sync_status_entry` 按 `map_on` 抬 `offset_bottom` 至底栏上方 16px;战斗屏状态角标经 MarginContainer 让位(right 16/bottom 52)不再被压;屏内三处 `debug_badge` 全删(menu_screen/board_zone_view/level_map_screen),main 两处接线与 sync 四条可见性/置灰行清除(浮层常显不置灰)。**断言换代**:smoke V2f 查 `main.debug_badge` boot 可见;click_probe 遮挡判据移至**设置面开中段**(浮层角标此时仍应可见=直接验「不遮挡」);tune_probe ①点击路径与⑨对局中角标全改 `main.debug_badge`(T2 防线三断言不动——non_locking×遮挡复活×has_open 组合回归)。**过程两处**:①一处替换误写成重复状态角标接线(指向不存在方法)——提交前 grep 自纠;②基线 06 刷新:`01-核心循环.md` 表格占比 43% 越线为今日 9846a29f(删副标题行)引入的存量,主区实测同红、本批零 design/ 改动,按人工确认条款对齐指纹(该条红灯与 R5 缺流程图均已由提交 `fcb8c3f8`+`8c18b52b` 结案,基线 06 已改回绿);09 静态扫描本批转绿(并行会话 R0 文件头锁批清偿 127 处存量)。**发布前删除事项**:`game/presentation/main.gd:196` 一行(2026-10-17 核实行号,原记 `main.gd:219` 已漂移)——删该行后角标可见性(同函数下一行 `:197`)随门控失效自动隐藏,无第二删除点。
- **508(2026-10-17,代拍板追认单落状态批)**:用户令「追认单的所有我都是同意的」——迭代 27 十五项/28 十三项(含四条白名单外)/29 十二项共 40 项代拍板全部同意,三份实现报告的追认单节各加一行追认结果。两处保留:①iter28 第 14 项只认「本批动作」(只补 ZCode 副本、未擅自取齐),「req-card 两副本是否取齐」仍是待裁问题,留在未决面;②iter29 第四节「经你裁决的四项」当时已问过已答,不属追认范围,原文不动。连带改 06「闸按改动域分跑批的两处代拍板」条①②为已追认,③迁位欠账补计 `iter29-实现报告`(该条登记时只列两份,漏计第三份)。roadmap 迭代进度行三处「代拍板追认单…待用户」换代为已追认。worktree `g-plan2-ratify-20261017`,文档域闸 `--docs` 零新增红(回执 commit=9a7dfcf6),合并 `eabaeee0`。**本文件三行改动(待追认行/在途分支行/本条)留在主区工作副本未提交**——主区另有并行会话的未提交件(`game/project.godot`/M4 卡片删除/五份未跟踪文档),按「只合本批自有改动」令不代为提交,等下一次动 active.md 的批一起入库。GDD 反哺点八条(27 两条/28 三条/29 三条)未随本批处理,属设计权威文档改动、需逐点裁决另批写入。
- **509(2026-10-17,GDD 反哺点写入批——迭代 27/28/29 八条+一条建议逐点裁决)**:用户裁「全部按推荐案执行」(文档批,不占迭代号,worktree `g-plan2-gddfb-20261017`)。写入面:①**architecture.md v1.7→v1.8**——新增「战斗域装配现状」(结算五段 授予→增益/减益→战斗→衰减→判定,段序骨架冻结于 `SettlementTable.segment_order`;RunLedger 单类四账所有权 AdventureRunner 独占)与「呈现层装配与会话生命周期」(三屏壳+组合根句柄面/视觉层装配合同立条款、合同表不摘录——唯一事实源=`main.gd` `LAYER_CONTRACT` 现行 17 项五类 kind,登记时 16 层按代码实态订正/RunScope `_begin_session` 换会话整节点释放、无独立收束函数/九阶段×五引用面存活性矩阵认账入册/ModalFlow 互斥域 tags)两节;「初始化顺序」补启动后置条件六条(登记时「十断言」现为六组 11 条——2026-10-16 角标令 V2f 拆两条);呈现层 D1 行与实现实证读数换代。②**code-conventions.md §4 第 7–12 条**——S9 类型闸三规则与扫描面口径/`:= {}` 推断形态不算债/`# type-hint: ignore` 行级白名单/`# rng-seed-exempt` 豁免通道/--script 模式禁裸 autoload 标识符/Variant 参数化现行口径(元素精化不入硬纪律)。③④⑨**test-conventions.md 新增 §7 判定三硬闸**(闸承载三闸齐备义务+负面套件仅豁免错误扫描一闸+新写测试件全类型标注写法纪律,暂不机器闸——S9 扫描面产品码)与 **§8 判定可靠性优先于覆盖率**(§六第 4 项建议随此反映:脚本错误静默中断所在函数剩余断言的机制事实+三处实证+写验收函数自证断言全数执行义务;覆盖率度量是否引入仍 06 在册待裁)。⑤**07 v1.4**——㉖① 全流程走查保留不注销,节首加 `screen_flow_probe` 机检承接注记。三笔旧账清零:iter27/28/29 三份实现报告 `git mv` 往 `reports/`(06 条③迁位账清零,全库引用改指新路径、死链复验零死链;roadmap 九处 iter21–26 已删报告死指针改「已退役(git 历史可考)」、iter27/28/29 改指新位);iter29 报告 §六第 0 项按合并现实改写(`fff4f120` 已合回,两红各自结案:菜单 golden 重采 `dac9a94b`、01 篇 R5 流程图 `fcb8c3f8`+`8c18b52b`);06 补登迭代 29 反哺专条(该批漏登)且 27/28 反哺条按「吸收即死」退役为已写入。06 :687 死引用「code-conventions.md §3.6」顺带订正(该内容现独立成文于 test-conventions.md §6)。本批并把 508 批自述「等下一次动 active.md 的批一起入库」的主区未提交行改动随本批提交入库;主区其他并行未提交件(`game/project.godot`/M4 卡片删除/五份未跟踪文档/`layout_probe.gd.uid`)仍零触碰。文档域 --docs 零新增红(回执 commit=分支尖,见合并说明)。