Files
gplan-2/production/session-state/active.md
T
DKChan 8ca3da669b feat(slice): 敌人技能池批收编——废确定性行为环改技能池+开轮摇号(冒烟 263 项全绿)
- 机制:每敌种技能池(池模板/实例池/技能行三层),开轮摇号定拍(behavior_roll 第五流,
  每敌子流 scope=spawn_index×1000000+摇号序,单敌轨迹独立复放);两道闸 = 全技能各自
  冷却(普攻恒 0 锁死)+ 保底 M=4;死亡即不动手改摇定作废不进账;拍结构保留
- 数据:新增 skills.tres+skill_table.gd(五行+保底阈值)/skill_lottery.gd 独立抽签器;
  enemy.tres 六行 pattern→pool(9/1·6/2/2·6/2/2 provisional);status_effects 七→九行
  (empower/fortify——enemy_defense 敌方防御池新词汇);settlement effect_pool_map 增两键
- core:rng_service 增流+open_scope(salt 0x85EBCA7758C24E15,黄金向量 m=42 scope0=
  426657203655691839);unit_container 重写(实例池/冷却/待发/保底);battle_orchestrator
  开轮摇号编排+三乘法链+施放行 cast+敌方防御池乘区;config_db 挂技能表+池跨表校验
- 呈现:快照 pending_* 三字段+敌方增益投影(beat/ring 拆除);敌卡摇定动画位(普攻零
  表示/攻击系⚔/增益系✦);明细具名技能+施放行;状态槽九行全映射
- smoke 211→263:六项验收(回放逐位/单敌独立复放/EV 对锚/死亡作废/空池不可能/加载拒绝)
- 文档:敌人系统 v0.5/战斗结算 v0.11/增益状态 v0.5/难度曲线与Boss v0.6/战斗表现 v0.3/
  HUD框架 v0.4/battle.md 改型注记/registry(skill 新条目+四条目修订+术语七词条)/
  06-待办清单收编;active.md entry 60
- EV 实测(×5000 拍):地精 1.1056(保底闸抬升,登记难度曲线重锚)/熊地精 0.9998/酋长 1.0236
2026-09-17 02:00:06 +08:00

154 lines
105 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 会话状态:Dungeon Sweeper(扫雷 × 自动战斗,唯一状态源,每里程碑同步一次)
- **阶段**:Systems Design(`production/stage.txt` = Systems Design,2026-09-07 写入)
- **系统索引**:`design/gdd/02-系统清单.md`(2026-09-14 循环式新骨架根索引;旧 `systems-index.md` 已封存于 `design/archive/gdd-2026-09-14/`,只读参考)
- **概念文档**:`design/gdd/00-游戏概念.md`(新骨架顶层文档;旧版 game-concept/game-pillars 已随归档封存)
- **原型**:概念原型 demo 已删除(2026-09-12,垂直切片承接);验证报告留档 `docs/prototype-report-minesweeper-battle-concept.md`(v3,verdict PROCEED)
- **引擎**: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 已建)
- **架构**:`docs/architecture/architecture.md` v1.0(2026-09-12 /create-architecture 产出,TD 自评 APPROVED WITH CONDITIONS;review-mode.txt = solo)
- **待拍板清单**:`design/gdd/06-待拍板清单.md`(2026-09-16 收编批起为全项目待拍板唯一登记处;系统文档只留指路存根,新增条目直接登记清单,裁决后改状态列留痕)
- **最近门禁报告**:`production/gate-checks/gate-check-systems-design-2026-09-07.md`
## 项目当前位置
1. 概念原型验证:v2 核心假设 CONFIRMED,v3 终验待做(与标错惩罚实测合并为一次会话),REPORT 已归档 PROCEED
2. `/map-systems` 完成:20 系统四层分解 + GDD 设计顺序 + 优先级
3. `/gate-check systems-design` 重审(2026-09-07):CONCERNS 无阻塞 → 登记级意见已清偿进 systems-index"门禁增补记录",stage.txt 已写入
4. **数据配置 已收口**:两轮 /design-review(full + 同日 re-review)+ 独立 delta 复核 5/5 PASS → **Approved**(2026-09-07)。行动经济 定稿回填 ActionEconomyTable(AP 8/旗 4/停手 ×2/清图 ×1),数据配置 Tuning Knobs 对应条目已按定稿删除义务移除,registry 已登记 `action_economy`,索引补齐 冒险结构/战斗结算/地图战斗资源/元进度←数据配置 四边
5. **行动经济 已收口**:GDD 全节已写入(`design/archive/gdd-2026-09-14/a3-action-economy.md`,Status: Approved 2026-09-07 三轮 re-review;评审日志 `design/archive/gdd-2026-09-14/reviews/a3-action-economy-review-log.md`),registry 已登记 `action_economy`
6. **地形变异 已收口**:两轮 /design-review(2026-09-08 full 8 阻塞 + 同日 re-review 6 阻塞,均同日核销)→ **Approved**(用户拍板 delta 核销免第三轮,行动经济 先例)。承重数学(厚度≤2【≡任意 3×3 窗口非全雾】/f≤8d/两态 AP/F1 谓词)经两轮对抗零动摇;承重规则不变(生成期布置约束 + 零特判 + fog unlock_level=2)。数据配置/registry/systems-index 三方已同步(跨字段校验 hide_numbers⇒safe_nonzero 致命、地图战斗资源 三条定价硬约束、棋盘生成×15/排雷玩法×4/HUD框架×2/战斗结算 输入门禁登记全枚举)。评审日志:`design/archive/gdd-2026-09-14/reviews/a4-terrain-variation-review-log.md`(含两轮阻塞→修复对照表)
7. **增益状态 设计会话进行中(2026-09-08 启动)**:上下文预收集同日完成——① review mode = lean(review-mode.txt 不存在,取默认,与索引头部一致);② 引擎域 = Core,无引擎障碍(纯数据+回合逻辑,4.7 变更清单零交集;Core 零 UI 依赖、结算禁 await 为设计约束);③ **已锁事实不得默改**:己方限时增益跨轮次延续(按剩余结算次数)、不跨战斗【game-concept 2026-09-06】;三向效果映射(安全格→主角 buff/开雷→敌方增益/标中雷→怪物 debuff)【v3 定稿】;标中旗一次性兑付、资格以雷格实例为键、拔旗重插不恢复【行动经济 OQ5】;debuff 档位锚严格 > 最低档安全格 buff 当量、对照基准=连锁放大边际挖掘收益【行动经济 F1 条款 2】;安全格 buff/标中旗 debuff/清图奖励/敌方增益统一当量单一线性换算、战斗结算 闭合 owner【行动经济 F1 条款 1】;安全格奖励有回合限制甚至一次性、扫雷只入库轮末结算、P2 要求结算明细标注来源;④ 数据承载 = 数据配置 StatusEffectTable 占位行("buff 时限/叠层字段名",单行全局,owner=增益状态 回填);⑤ 增益状态 为 Foundation 瓶颈系统,下游 地图战斗资源/战斗结算 未设计——接口契约需 provisional 登记(行动经济 条款 1/3/5 的 provisional 先例现成);⑥ 无 docs/consistency-failures.md;既往一致性检查 0 冲突
8. **增益状态 已收口(Designed,2026-09-08)**:GDD 全节已写入(`design/archive/gdd-2026-09-14/b3-status-effect.md`,12 节零占位;lean 门禁 systems-designer/qa-lead 已咨询;CD-GDD-ALIGN 按 lean 跳过)。定稿要点:战斗域统一状态容器(三向效果同构实例)· 单一结算次数量纲(先兑付后衰减)· 按行叠层三分支(stack 不触碰 R)· MVP 四行 attack_up/defense_up/ambush/weaken(**值全部 provisional;weaken vs 行动经济 条款 2 锚预检不过——红色预警,战斗结算 对照验收裁决**;用户拍板四行定稿权收编 增益状态、锚验收权留 地图战斗资源/战斗结算——行动经济 OQ5 修订已登记索引)。registry 已登记 `status_effect` + action_economy.referenced_by 增 增益状态;数据配置 Core Rules/Status 已回写;索引门禁增补记录已登记 增益状态 块(**战斗结算×5 义务清单——战斗结算 GDD 门禁评审缺项即 blocking**;EC9 reload gate 战斗结算 落点;ambush 量纲→敌人系统)。下一步 = **棋盘生成(设计顺序第 5 位,MVP)**——注意 地形变异 已登记 棋盘生成×15 验收清单 + 增益状态 登记 ambush/weaken 锚供给义务,棋盘生成 GDD 门禁评审须逐项核对
## GDD 设计顺序(前 10 = MVP)
数据配置 → 行动经济 → 地形变异 → 增益状态 → 棋盘生成 → 排雷玩法 → 敌人系统 → 地图战斗资源 → 战斗结算 → HUD框架 →(垂直切片:魔法道具 → 难度曲线与Boss → 冒险结构 → 关卡节点地图 → 战斗表现)→(Alpha:存档序列化 → 音频 → 教学引导 → 元进度)→ 设置与本地化
## GDD 写作纪律(制作人门禁意见)
- 每个 MVP 系统 GDD 一次会话完成:决策定稿 + 可调参数 + 事件接口,不写 20 页完美文档
- 总监修正意见已按系统登记在 systems-index"门禁修正记录",写对应 GDD 时落实
<!-- CONSISTENCY-CHECK: 2026-09-08 | GDDs checked: 3 (数据配置/行动经济/地形变异) | Conflicts found: 0 | drift write-back EXECUTED (数据配置 Core Rules VariationTable row, same day) | Report: docs/consistency-report-2026-09-08.md -->
<!-- CONSISTENCY-CHECK: 2026-09-08 (增益状态 定稿后定向) | GDDs checked: 4 (数据配置/行动经济/地形变异/增益状态) | Conflicts found: 0 | drift write-back EXECUTED ×2 (数据配置 Tuning Knobs 三值删除 + 增益状态 Overview 收编括注, same day) | Report: docs/consistency-report-2026-09-08-b3.md -->
<!-- CONSISTENCY-CHECK: 2026-09-09 (棋盘生成 定稿后定向) | GDDs checked: 5 (数据配置/行动经济/地形变异/增益状态/棋盘生成) | Conflicts found: 0 | drift write-back EXECUTED (数据配置 Dependencies 表 棋盘生成 行补 BoardGenTable 回填, same day) | Report: docs/consistency-report-2026-09-09-a1.md -->
<!-- CONSISTENCY-CHECK: 2026-09-09 (地图战斗资源 定稿后定向) | GDDs checked: 8 (数据配置/行动经济/地形变异/增益状态/棋盘生成/排雷玩法/敌人系统/地图战斗资源) + game-concept 专查 | Conflicts found: 2 🔴 + 2 ⚠️ + 1 ℹ️ (全部同日修正: 地图战斗资源 错引条目名/义务编号 ×4 处 · game-concept 主动道具 MVP 激活 + Peglin 口径注记 ×2 处 · terminology 资格格登记) | drift write-back EXECUTED (same day) | Report: docs/consistency-report-2026-09-09-b4.md -->
<!-- 增益状态 定稿回写已执行(2026-09-08 同日):registry status_effect 新条目 + action_economy.referenced_by 增 增益状态 + 数据配置 Core Rules/Status 两处 + systems-index 两处(增益状态 进度行 + 门禁增补记录 增益状态 块) -->
9. **Task: Designing 棋盘生成 GDD**(2026-09-08 启动)· File: `design/archive/gdd-2026-09-14/a1-board-generation.md`
10. **棋盘生成 已收口(Designed,2026-09-09)**:GDD 全节已写入(12 节零占位,~405 行;lean 门禁 systems-designer/qa-lead 已咨询;CD-GDD-ALIGN 按 lean 跳过)。定稿要点:五阶段确定性生成管线 · inferability = 免赌开据占比(F1 三通道 + 雾元知识信息源 + 次序无关 + metric_version)· clearable 合法性闸与质量度量两闸分离 · 验收三分支(达标即出/接受最优/**零合法接受最不坏**——用户定稿玩家永不卡死)· F4 批量红线**严格零**(用户定稿)· BoardGenTable 九字段回填(首个进度键表,solver_rules 冻结,参考行 provisional 归 难度曲线与Boss)。registry 已登记 `board_gen_table` + action_economy.referenced_by 增 棋盘生成;数据配置 两处回写;索引门禁增补记录 棋盘生成 块(**排雷玩法 双包含回验——排雷玩法 GDD 门禁缺项即 blocking**;战斗结算 对账消费 actuals p10 非 target;F4 全量工具与 数据配置 OQ5 同批排期;黄金向量第二人复核)。**下一步 = 排雷玩法规则(设计顺序第 6 位,MVP,瓶颈系统)**——硬输入:行动经济 事件契约(round_end 双发射源/try_spend/last_round_end)、地形变异×4 验收清单、棋盘生成 双包含回验 + 产物消费、标错惩罚待原型小补丁实测后关闭(CD 门禁:可与原型 v3 终验合并会话)
11. **排雷玩法 已收口(Designed,2026-09-09)**:GDD 全节已写入(`design/archive/gdd-2026-09-14/a2-minesweeper-rules.md`,12 节零占位,365 行;lean 门禁 systems-designer〔Formulas F1–F4〕/qa-lead〔AC 22 条 + 覆盖矩阵 + 夹具坐标规格〕已咨询;CD-GDD-ALIGN 按 lean 跳过)。定稿要点:纯规则引擎(三事件回边 cell_revealed/flag_judged/round_end 发射面封闭 · 零随机/零表读取/零 UI,headless 解耦)· 初始展开 = R₀ 恰等(双包含两臂构造性成立、棋盘生成 回退口径不触发;免费/计入清图/无奖励——行动经济 EC5 委派落点)· 批次语义序仲裁(cleared-dig→stop→其余;行动经济 EC4 四组合 deferral 在 排雷玩法 冒烟兑现 AC-10)· 旗单态轮末判定诚实重复上报(去重归 战斗结算/地图战斗资源)· 已引爆雷格可通行(工程债核销 AC-15)· install 四不变式。**🔴 反例 B 阻断缺口(systems-designer 发现、主会话独立复算证实)**:棋盘生成 布雷数下限拦不住"初始展开即 cleared"退化板(8×8 幸存距离-2 雷 → R₀=S;N=1 行 100% 退化、断言 A 零拦截)——登记 **棋盘生成 修订义务**(F5 legality 增 R₀≠S + F4 断言 + 排除域基准措辞;棋盘生成 已 Approved 走接口漂移)+ 排雷玩法 侧不变式④纵深防御。registry 已登记 `minesweeper_event_surface` / `minesweeper_initial_expansion`;systems-index 已登记 排雷玩法 门禁块(**棋盘生成 修订义务 + 战斗结算×3 + HUD框架×1 强制项**;标错惩罚 OQ1 在位——/design-review 核对项)。**下一步 = 敌人系统(设计顺序第 7 位,MVP)**——硬输入:增益状态 单敌假设回验(定多敌即触发 target_ref 接口漂移补列)、ambush 量纲定稿义务(registry anchor:"+3" 单位候选"每颗已开雷伤害加成",联动 行动经济 F1 条款 3 上限表值)、EnemyTable 回填(数据配置 占位:词条/意图可见性字段)
12. **敌人系统 已收口(Designed,2026-09-09)**:GDD 全节已写入(`design/archive/gdd-2026-09-14/b2-enemy-system.md`,12 节零占位;lean 门禁 systems-designer〔Formulas F1–F4〕/qa-lead〔AC 17 条 + 覆盖矩阵 + 缺口预检 7 项〕已咨询;CD-GDD-ALIGN 按 lean 跳过)。定稿要点:多敌模型(1–3 同敌种,增益状态 单敌假设回验不成立→side-wide 零接口变更兼容 + target_ref 扩展位)· HeroTable 新增(接口漂移,atk=0 机制开关)· 意图视觉推测型(CD 承重项:图像线索稳定可学/每 run 恒定/结算明细数字兑现)· Peglin 行为环(attack/charge/heavy MVP,双敌种 grub/ambusher 双环,死亡即不动手 + 同步轮转定理)· 伏击量纲定稿(registry OQ2 关闭:每攻击类行为 +3 HP、charge 零兑付)· cap=4(反灾难护栏;旧 8 溢出协议死码废弃)· 条款 3 单结算自然边界(用户定稿)。registry 已登记 enemy/hero/clause3_supply 三条目 + status_effect 两注记 + terminology 六词条;数据配置 三处回写(Core Rules 表 EnemyTable/HeroTable 行 + Dependencies 行 + Status);索引 敌人系统 进度行 + 门禁增补记录 敌人系统 块(**战斗结算×6/HUD框架×4 义务清单——地图战斗资源/战斗结算/HUD框架 GDD 门禁评审缺项即 blocking**)。**下一步 = 奖励与道具经济(设计顺序第 8 位,MVP)**——硬输入:行动经济 F1 条款 2 锚(weaken 档位严格 > 最低档安全格 buff 当量)+ 地形变异 三条定价硬约束、奖励身份预读(增益状态 义务)、伤害道具默认目标消费(敌人系统 固定顺位)、HeroTable.atk 激活裁决参与、高光兑现节点条目化(战斗结算/地图战斗资源 共担)、clear_reward 源授予路径确认(增益状态 OQ4)
<!-- CONSISTENCY-CHECK: 2026-09-10 (战斗结算 定稿后定向) | GDDs checked: 9 (数据配置/行动经济/地形变异/增益状态/棋盘生成/排雷玩法/敌人系统/地图战斗资源/战斗结算) + registry 专查 | Conflicts found: 1 🔴 (战斗结算 内部 AC 编号误引 ×9 处——同日修正) + ℹ️ documented-exception(增益状态 正文 weaken −25 ×4 处/索引历史块 ×1——registry F0 回执"正文不改以本条为准"收编先例覆盖) | drift write-back EXECUTED (same day) | Report: 本会话内联报告 -->
<!-- 增益状态+棋盘生成 定稿回写已执行:registry(status_effect / board_gen_table 新条目 + action_economy.referenced_by 增 增益状态/棋盘生成)· 数据配置 三表行 + Status 行 · systems-index(增益状态/棋盘生成 进度行 + 门禁增补记录两块)· 本文件(条目 8/10) -->
13. **地图战斗资源 已收口(Designed,2026-09-09)**:GDD 全节已写入(`design/archive/gdd-2026-09-14/b4-reward-item-economy.md`,12 节零占位,354 行;lean 门禁 systems-designer〔Formulas F1–F6〕/economy-designer〔权重参考行 + 失衡预警清单〕/qa-lead〔AC 21 条 + 覆盖矩阵 + 缺口预检 9 项〕已咨询;CD-GDD-ALIGN 按 lean 跳过)。**会话注记**:另一会话并行写入 E/F/G 三节与本会话冲突,经用户裁决本会话接管收尾——E 节按"照常消耗"拍板合并(覆盖并行稿"拒绝不消耗"条目)、F/G 两节保留并行稿。定稿要点:install 期身份预分配(roll_board 恰一次、Ready 只读)· 道具使用窗口 MVP 激活(段序骨架 = 授予→增益/减益→道具→战斗→衰减→判定)· 库存战斗域(battle_over 全清)· 道具伤害恒定表值(attack_up 死行、行动经济 条款 2 锚参照迁移 defense_up)· F5 保底草稿重 roll · E 节两项拍板(照常消耗 / 清图槽允许 buff 行)。registry 已登记 reward_table + 三处漂移改写;数据配置 六处回写;索引 地图战斗资源 进度行 + 门禁增补记录 地图战斗资源 块(**战斗结算×6/HUD框架×3 义务清单缺项即 blocking**;缺口预检 2 阻塞级 deferral 至 战斗结算)+ 分层行 地图战斗资源←数据配置 + 增益状态 块 EC8 错号修正。**下一步 = 战斗结算规则(设计顺序第 9 位,MVP 瓶颈系统)**——地图战斗资源 定稿解锁:胜利路径先决已备(敌人系统 Overview 声明的解药);硬输入:战斗结算 义务清单累计 **增益状态×8 + 敌人系统×6 + 排雷玩法×3+2 + 地图战斗资源×6**(全缺项即 blocking)、weaken 锚红警裁决(增益状态 OQ1 归一口径前置)、行动经济 F1 条款①–⑤闭合 owner、地形变异 硬约束②③对账、EC8 reload gate 落点、事件总线载体裁决(TD 门禁 2026-09-07 登记)
14. **战斗结算 已收口(Designed,2026-09-10)**:GDD 全节已写入(`design/archive/gdd-2026-09-14/b1-settlement.md`,12 节零占位,628 行——项目最大 GDD;lean 门禁 systems-designer〔Formulas F0–F5 + 对账义务清单〕/qa-lead〔AC 43 条 + 覆盖矩阵 + 缺口预检 12 项〕已咨询;CD-GDD-ALIGN/art-director 按 lean 跳过留人工复核注记)。定稿要点:**编排唯一性**(敌人系统/增益状态/地图战斗资源 战斗域 API 唯一调用方 + 可回放步骤流〔结算禁 await——数据配置 AC-15 兑现落点 AC-33〕+ 零随机)· **结算触发 = Waiting 相位编排点**(不依赖事件到达序——排雷玩法 义务①)· **段序骨架**(授予→窗口〔授予段后〕→增益/减益→道具→战斗→衰减→判定——地图战斗资源 义务①原文)· **23 条上游义务全落位**(增益状态×8/敌人系统×6/排雷玩法×3/地图战斗资源×6,AC 覆盖矩阵 23/23,引用带清单限定词)· **F0 归一口径裁决**(瞬时当量;weaken −25→值域 [60,85]/默认 −65——增益状态 红警关闭)· **条款①③⑤闭合首版验算**(条款③默认通过、满配 unit_count=3 破线→难度曲线与Boss 约束;条款⑤两态通过+保守地板缺口登记;actuals p10 交付后强制重跑)· **高光双落**(#2 完美排雷 ×P_perfect 默认 ×2 / #3 标中旗 highlight——用户拍板)· **战斗段短路**(hero hp=0 即中止——用户拍板)· SettlementTable 七字段回填(三行致命 manifest)。回写已执行(用户批准):registry 新增 settlement_table/clause5_dominance + 四处接口漂移(weaken 值/anchor_warning F0 回执/clause3_supply 闭合/board_gen 消费回执)+ 三处履行回执 + terminology 五词条;systems-index 战斗结算 进度行 + 门禁增补记录 战斗结算 块(**HUD框架×3 义务清单缺项即 blocking** + 难度曲线与Boss 消费注记 + UX Flag + ADR 裁决项×2);数据配置 SettlementTable 行回填。**下一步 = HUD框架(设计顺序第 10 位,MVP)**——硬输入:全项目最大呈现义务台账(排雷玩法×6/敌人系统×4/增益状态×4/地图战斗资源×5/**战斗结算×3**)+ art-bible §1–4 创建门禁(最晚 HUD框架 GDD 前)+ 事件订阅呈现刷新面 + UX Flag(结算屏/道具窗口前置 /ux-design)
15. **垂直切片启动(2026-09-10,/vertical-slice Phase 3 检查点)**:概念名 **dungeon-sweeper**,目录 `prototypes/dungeon-sweeper-vertical-slice/`(用户已确认开工)。**验证问题**:玩家从零开始一场战斗,能否无指导 10 分钟内经历完整「开战→挖掘规划→轮末结算逐行兑现→胜/负」循环并逐行归因(P2)——以及能否按 GDD 约束(表值单点/RNG 封闭/结算可回放/Core headless)5 个工作日内以代表性质量建完。**范围内系统**:数据配置(9 表)· 棋盘生成(含 single_subset 求解器 + 双判据验收,用户拍板完整验收)· 排雷玩法 · 行动经济 · 地形变异(迷雾)· 战斗结算 七段编排全量 · 敌人系统 双敌种 · 增益状态 四行 · 地图战斗资源 install 预分配+窗口 · HUD框架-lite 程序化呈现(art-bible 明亮风)· encounter 直供两场(L1×grub / L2 雾×ambusher)。**裁剪**:魔法道具/关卡节点地图–元进度/战斗表现 动画/存档序列化–设置与本地化/棋盘生成 黄金向量与 F4 批量工具/gdUnit/标错惩罚/多战连续。**架构基线**:docs/architecture 不存在——CLAUDE.md 约定 + 数据配置 Rule 1/2/5/6/7 为事实控制清单(切片头注登记;正式 /create-architecture 留切片验证后)。**成功判据**:①无指导完整战斗≤10min ②逐行归因 ③headless 回放逐行相同+冒烟<30s ④Core 零 UI/零数值字面量 ⑤第 3 日循环可演示 ⑥硬时限 5 个工作日。当前阶段:**Phase 4 — Implement(Day 1)**。速度日志:Day 1 开工。
## 垂直切片速度日志(/vertical-slice,2026-09-10 启动)
- **Day 1(2026-09-10)**:上下文加载(9 份 GDD + registry + 原型)→ 范围确认(用户拍板全量范围 + 棋盘生成 完整验收)→ 全部核心代码一次性落成(数据配置×9 表 + ConfigDB + RngService、棋盘生成 求解器与五阶段管线、排雷玩法/行动经济/战斗结算–地图战斗资源、HUD框架-lite 呈现、冒烟框架)→ headless 冒烟迭代 7 轮修错后 **39/39 全绿(约 3 秒)**:表加载校验、R2 黄金向量 5/5、棋盘生成 双判据+确定性、两遭遇全战斗 3 轮终局、结算步骤流回放逐行相同。**修掉的关键 bug**:① 地图战斗资源 换图后 Retired 相位拒绝重 roll ② 排雷玩法 `_do_dig` 对闭包全量发事件(应只发 O′∖O——重复奖励行根因)+ chain_size 口径 ③ 战斗结算 轮末最后一挖事件被相位守卫丢弃 ④ GDScript 不允许 Dictionary==bool。**重大设计发现**:棋盘生成 参考行 d0.10/0.12 经先布后删后仅幸存 2-3 雷、R₀/|S|≈0.97、残余挖掘 2-4 格(掘近退化板,推理率门槛不可见)——切片临时调参 d0.25/t0.88(数据 + 工具 `smoke/experiment_density.gd` 留档,README 登记表)。
- **状态**:循环可演示(Day 1,远早于 Day-3 检查点)。**下一步 = Phase 5 playtest**(用户跑 F5 人工试玩 → 按 vertical-slice 技能问询 → Phase 6 报告)。
16. **2026-09-11 拍板四条落地(切片程序调整完成)**:① atk 恒存在([1,999] 拒 0、MVP=6、战斗段主角先手、attack_up 唯一修正——attack_up 死行复活)② 奖励两类(即时 75% 五类法 {buff,instant_aoe,instant_heal} 当场兑付 / 可选 25% 入库走窗口、heal_pack w6 p12)③ 库存关内延续(battle_over 不清、level_clear 清、UI 关卡模式共享 地图战斗资源+HP 延续)④ 窗口至多一件(核心截断+文案)。实现主体由并行会话完成,本会话核对补缺口:settlement source_label_map 键去重(hero_action→hero_attack)、config_db required_sources 增 hero_attack、窗口文案、冒烟加 4 条拍板断言。**冒烟 43/43 全绿**;dump 验证:主角攻击 9=6×1.5、减伤叠满免伤轮、dur=1 当次衰减、治疗包入库、伏击 cap4 溢出行。**待办**:五项 GDD/registry 回写(README"2026-09-11 拍板"节全列);playtest Phase 5 仍未做(用户试玩曾因窗口字段 bug 中断,已修)。
**更正(同日)**:条目 16 所列"待回写 GDD/registry 清单"作废——用户已在文档会话先行完成全部回写(战斗结算/敌人系统/地图战斗资源 GDD、registry、systems-index、数据配置、game-concept、增益状态 的 2026-09-11 批),程序调整即以该批文档为依据。本会话完成的是:程序与文档的逐项对齐核查(五类奖励/75-25 权重/heal_pack w6 p12/库存关卡域/窗口单件含"取首件+诊断"/hero_attack 来源值/锚参照回迁 attack_up/reward tier 行集),README 已改记为"文档对齐核查记录"。冒烟 43/43 维持有效。
17. **垂直切片教训 → HUD框架 GDD 设计输入(2026-09-11 登记,HUD框架 GDD 门禁评审核对项)**:切片试玩两起呈现层崩溃(窗口条目缺字段 round_index / battle_finished 发出后读已销毁的 b2.hero)暴露系统性盲区——已定稿 AC 全部覆盖 core 层,HUD框架 呈现层无测试承载,且 GDScript 编译不查字典字段与时序。**HUD框架 GDD 三条硬性要求(缺项即 blocking)**:① 每个面向呈现的信号载荷成文 schema(对齐 排雷玩法 三事件先例,字段清单入 GDD)② 场景级 headless 测试进 AC(真实实例化 UI 场景 + 驱动完整对局 + 断言零脚本错误;切片的 headless UI 冒烟为其原型)③ 信号时点状态可见性规则(销毁前捕获、载荷数据自包含、禁止呈现层回读核心生命周期状态)。另登记:gdUnit4(数据配置 OQ1)若引入,UI 场景测试以此为载体。
18. **战斗期望值现状核查 + 实测(2026-09-11,用户问询触发)**:文档侧——**"期望胜轮数 / 期望每轮承伤 / 期望败北轮数"无任何直接设定**;最近的三个既有数字全部过期:① 地图战斗资源 刀供给方向预检(2026-09-09:击杀需求 18/54、供给≈2|资格格|)基于旧权重与"无基础攻击"口径未重算 ② 战斗结算 F5 Δr(清图轮数 L1≈2/L2≈4)基于旧密度参考行 ③ 战斗结算 E_dig=7.2(旧权重 40/25/35)。难度曲线与Boss(此类期望的正当 owner)未开始设计。**实测(smoke/monte_carlo.gd,30 种子 × L1/L2,理性政策)**:胜轮均值 1.80(L1 {1轮×6, 2轮×24} / L2 {1×7, 2×22, 3×1});每轮承伤均值 2.1–2.7、整场承伤中位 0–8(max_hp=50 的 0–16%);每场开安全格 7–8、**每场恰清图 1 次**;败北 0。解析锚:零增益击杀地板 = ⌈18/6⌉ = 3 结算,单层 attack_up → 2 结算。**预警⑥定量坐实:战斗长度与承伤均远低于可玩带,难度杠杆余量巨大**。登记:① 难度曲线与Boss GDD 设计输入 = "战斗期望表"(期望胜轮带/期望承伤占 max_hp 比/期望开格数/败北轮期望,按 (L,D) 曲线)为强制章节 ② 地图战斗资源 预检 + 战斗结算 E_dig/F5 重算义务随 2026-09-11 批触发 ③ smoke/monte_carlo.gd = 难度曲线与Boss 调参期战斗侧批量工具原型(对应 棋盘生成 F4)。
19. **垂直切片 v2——第一关完整关卡(2026-09-11,/vertical-slice 扩展批)**:用户拍板线性第一关(无路径分支):**战×2 → 随机主动道具点 → 战×2 → 血量恢复点 → Boss 房**,同步进入数值设计(元进度模拟)。落地:① **LevelTable**(新表 `level.tres` + schema——线性节点链数据位,节点 enum {battle,reward,rest,boss},末节点必须 Boss;ConfigDB 挂表 + 跨表校验⑧"battle/boss 节点 (L,D) 在 board_gen/enemy 有精确行")② **关卡节点地图-lite 推进器** `core/level_runner.gd`(关卡域生命周期 owner:共享 地图战斗资源 + HP 携带 + 节点兑付 + 关卡末 level_clear + 测试面板 hero 覆盖;Core 零 UI 依赖)③ **地图战斗资源.grant_node_active()**(接口漂移登记——可选类活行 roll 一件入库,reward_roll 恰一 scope)④ **敌人系统 spawn max_hp 修复**(原 max_hp=hero_hp 入参压扁携带 HP——恢复点/治疗包满血守卫失效)⑤ EnemyTable L1 深度轴 D0–D4(蛆虫24×1 / 蛆虫群24×2 / 伏击兽36·atk6 / 伏击兽群26×2 / Boss 遗迹守卫130·atk7·环[A,A,C,H])⑥ BoardGen D1–D4 行(D0/D1 10×10、D2-D4 12×12;**d0.28/t0.87 不达标降级告警 best≈0.81 已回退 0.25/0.88**)⑦ UI:节点进度条 + 奖励/恢复覆盖层 + **测试用角色数值调整板**(atk%/hp% 0–300 滑条 + 批量模拟——与 headless 扫描同口径 `smoke/level_autoplay.gd`)。工具:`smoke/level_monte_carlo.gd`(atk%×hp% 网格扫描:通关率/承伤期望/败北节点分布——难度曲线与Boss 关卡侧批量工具原型)+ `level_debug.gd`(单关诊断)。冒烟 55/55(新增关卡 10 断言:满配通关/裸装败北/奖励点入库/恢复点公式/Dmax 解析/关卡回放确定性/hero 基线恢复)。**首版调参实测**:敌 HP 208 时基线通关率 73%——预警⑥关卡尺度坐实,v2 上调至 290 后复测中。**登记**:地形变异 迷雾 unlock_level=2 纪律遵守(L1 全程无雾);GDScript 多行 lambda 内嵌 match 解析不可靠(信号处理体一律静态方法+bind);冒烟两断言错误教训(level_clear 快照=清库前计数/恢复点公式须用生效 max_hp)。**v2 复测**:基线 55% 通关 / +50% 70% / +100% 100% / +100%hp 100%——"数值提升→通关期望改善"曲线成立(数据见切片 README)。
20. **Playtest 三缺陷修复 + 奖励期望汇报(2026-09-11,用户 F5 试玩反馈批)**:**缺陷① UI 抖动**——悬停文案换行推挤侧栏布局、"第 N 轮"库存行被挤出视口;修复 = 侧栏全部动态区固定槽高 + clip_contents(区域独立、超长裁剪不回流)。**缺陷② Boss 战 AP 用完不结算(软锁)**——根因 = **排雷玩法 核心 bug(v1 即存在)**:`_do_flag_place/_do_flag_pull` 花完末点 AP 后 行动经济 翻 Waiting 但不发 round_end,战斗结算 的 Waiting 结算点依赖该事件 → 永不结算;v1 冒烟盲区根源 = 自动玩家不用旗。修复 = 旗动作补发 `_emit_round_end_flags_and_payload()`(与 `_do_dig` 同款);正式侧义务 = 排雷玩法 GDD F4 事件序契约补"旗动作路径 round_end 发射"(接口漂移)。**新增测试载体**:`smoke/ui_click_probe.tscn` 行为探针(合成鼠标事件走真实 UI 路径,随机混合插旗/拔旗/停手/窗口期刷新/无效点击——4 种子全关通扫);smoke_all 加旗动作耗尽 AP 回归断言。连带:L1 12×12 板 max_gen_attempts 16→24(16 次偶发接受最优 best≈0.85–0.87)。**奖励期望汇报(只汇报未改值)**:每资格格 P(可选类)=25%;实测每关合计 ≈24.8 件(≈18.5 刀)——"道具期望太高"定量坐实。工具 `smoke/reward_expectation.gd`。
21. **可选类供给控制器(2026-09-11 用户拍板批——伪代码审阅后落地)**:用户重新定义三尺度指标——**格 <0.01 / 板≈0.78 / 战斗期望≈1(首件保证 + 指数递减)**,可选类退出格子权重池。拍板四条:① 注入占比小刀 60/精工 30/**治疗包 10**(治疗宝贵)② 清图奖励改**一次性高额伤害**(clear_blast instant_aoe 40——不入库不占供给,清图与可选类脱钩;首图清图必得=注入格必被打开的自然推论)③ 注入选格**均匀随机** ④ **指数递减**(active_p0=0.4/active_decay=0.5,RewardConfigTable 新参数)。**实现结构(对象封装,回应用户架构批评)**:新类 `RewardSupplyController`(地图战斗资源 私有组合件:notify_battle_start/should_inject/notify_granted/granted_count;行值快照抗热重载;零自有随机数)· 地图战斗资源(_supply 组合/notify_battle_start 转发/roll_board 重写删 F5 循环/grant 挂钩"发放即获取")· 战斗结算(begin_battle 调 b4.notify_battle_start)· 表(reward.tres 三刀行移 active_inject 池 60/30/10 + clear_blast;k_dmg=0 F5 休眠)· 护栏(clear_no_value 含即时类/no_damage_row 扫全池/inject_pool 新护栏)。**实测**:注入 1.00/板 + 占比 60/30/10 + 零泄漏(N=200/深度);**实际获取 ≈0.68–0.91 件/战**(<分配保证 1.0 的机理 = 注入格均匀随机可能落残余格/速杀未挖区,攻击越高速杀越明显;**"战斗末 j==0 补发 1 件"兜底待用户拍板**);每关合计 ≈4.5–6.5 件(原 24.8)✓。冒烟 74/74(+14 供给断言:首件保证恒真/递减统计/占比/清图新语义/发放计数/战斗重置)。行为探针复扫通过(通关剩余道具 ×1——原 ×9)。**⚠️ 供给侧副作用(扫描发现,待拍板)**:可选类退出格子池释放的 25% 概率质量被动流向即时类——buff 每格频率 44%→59%,基线通关率 55%→80%、承伤 127→80,难度方向反了;"每格必有货"锁定下无法引入空白格,候选杠杆 = ①敌 HP 对冲(难度曲线与Boss 主杠杆)②压 attack_up/defense_up 相对权重 ③降 buff 幅度(触 增益状态 表值)。**正式侧义务**:地图战斗资源 GDD F5 章节修订 + registry reward_table/reward_config 改写(接口漂移批)。
22. **缺陷④ 道具使用后不消失(2026-09-11 用户 playtest 反馈批)**:可用次数语义本身存在且正确(`b4.use()` 一次性标记 Used 不可逆,库存过滤 InStock)——真实根因 = **UI 层契约违例**:战斗结算 窗口选择语义 = `_window_items` 位置(义务④"选定序"),UI 选用按钮传 `item.index`(库存数组句柄);未消耗过时二者巧合相等,消耗过一件后句柄=位置+已耗数错位 → 选中件不消耗、邻件被误耗(Boss 战道具多、多次消耗后暴露)。修复 = UI 与行为探针统一传窗口位置;行为探针加"选用必生效"断言(选中件库存态必须变 Used,失效即退出码非零——种子 7/23 实测生效 1/2、失效 0)。冒烟 74/74 维持。**登记义务**:战斗结算 义务④"选定序"在 GDD 中补一句"选择序列元素 = 窗口条目位置、非库存句柄"(防正式实现复发)。
23. **缺陷⑤ 数值调整板被遮挡 + 专属测试补建(2026-09-11 用户质询批)**:用户质询"调整板没实现/没测试"——实现存在(含批量模拟),但**层级 bug 使其不可见**:调整板覆盖层位于不透明开始覆盖层之前(场景树序),打开时未隐藏开始层 → 面板被完全遮住 = "点击无反应"。修复 = `_show_tune_panel` 隐藏开始层 / `_close_tune_panel`(含"应用并关闭")恢复;顺带删除重构引入的重复函数定义(同名 parse error)。**专属测试补建**:`smoke/ui_tune_probe.tscn`(场景级全链路 7 断言:打开可见性〔缺陷⑤回归〕/ 滑条→生效预览联动 / 应用写 hero 表 12/75 / 重置回 6/50 / 批量模拟 N=10 全链路〔通关率+败北节点输出〕/ 关闭回开始界面 / 加成跨模式持久)——PASS。全量回归:冒烟 74/74、ui_probe PASS、行为探针种子 7 通过(选用生效 1/失效 0)。**教训登记(HUD框架 GDD 输入④)**:覆盖层堆叠顺序 = 呈现层隐形缺陷高发区("功能存在但不可达"),任何模态覆盖层必须有"打开时遮挡物隐藏"的场景级断言;此三类缺陷(①②⑤ 呈现时序/层级 + ④ 呈现契约)全部漏过既有 AC——呈现层场景测试从"建议"升级为切片标配(ui_probe/ui_click_probe/ui_tune_probe 三探针)。
24. **呈现层模块化重构(2026-09-11 用户批——"上帝对象"拆分)**:用户工程师视角否决 main.gd ~1100 行上帝对象。拆为 **9 个单一职责单元**(presentation/views/ + hud_presenter.gd):BoardView(棋盘渲染+输入意图翻译,只读 排雷玩法、动作信号外发不碰核心写)· HUDView(侧栏纯视图,setter + 定长槽 clip)· HudPresenter(静态装配器:核心只读面 → 文案,含 outcome_text 三源拒绝映射)· BattleLogView(13 类行协议格式化全内聚)· ItemWindowOverlay(窗口;"选择=窗口位置"契约的呈现侧收口)· NodeOverlay · LevelStripView · TunePanel(自持加成语义 + 批量模拟,awaitable run_simulation)· UiKit。**组合根纪律**:main.gd 433 行(原 ~1100)= 模式流转 + 信号接线;核心写调用(settle_batch/submit_window_selection/runner 推进)唯一发生在组合根。三探针同步迁移到新结构(探针即呈现层契约的活文档)。**回归**:冒烟 74/74 · ui_probe/tune_probe PASS · 行为探针种子 7/23 全通关(选用生效 1/2、失效 0)。**遗留改进位(登记不阻塞)**:调试两层模式的历史入口仍在 main(冒险结构 落位时退役);HudPresenter 为静态装配器,正式 HUD框架 可演进为信号驱动。
25. **Core 层领域命名批(2026-09-11 用户问责 → AskUserQuestion 拍板)**:用户质询 core/ 的 a1_/b1_/c1_ 前缀命名("规范缺失还是能力不足")。**定性**:ID 前缀 = 跟随 GDD 文档名的事实约定(意图 = 设计↔代码追溯),但从未成文、且同目录 board_data/config_db/rng_service 无前缀——两套命名并存即规范缺失铁证。**拍板 = 改领域命名**:8 文件机械更名(a1_board_generator→board_generator、a2_board_rules→minesweeper_rules、a3_action_economy→action_economy、b1_battle_orchestrator→battle_orchestrator、b2_unit_container→unit_container、b3_status_container→status_container、b4_reward_economy→reward_economy、c1_level_runner→level_runner),类名同步去前缀(BoardGenerator/BattleOrchestrator/LevelRunner…),.uid 随行保资源身份;全项目 .gd 引用(15 文件)批量替换;每文件头注新增「实现 GDD:design/gdd/<id>-<slug>.md(系统 ID Xn)」溯源行——**系统 ID 退役出代码命名,保留为文档/registry 追溯锚**。**规范成文**:CLAUDE.md 新增「代码命名规范」节(领域命名禁止 ID 前缀 / 头注溯源义务 / 数据配置 schema 与 autoload 豁免 / 文档层夹具名不受约束)。**回归**:残留引用 grep 清零 · 冒烟 74/74 · 三探针全 PASS(含行为探针选用生效 1/失效 0)。
26. **代码规范成文 + CLAUDE.md 必读门(2026-09-11 用户拍板)**:用户令将全部已指出的陋习总结成规范文档。落地:**`docs/code-conventions.md`**(新建)——六类纪律(结构:禁上帝对象/类封装/依赖单向/领域命名/禁事实约定;契约:信号事件成文与发射完整性/标识符语义单一/覆盖层层级/状态字段显式;测试:场景探针标配/打开可见性断言/缺陷沉淀回归断言/提交前全量;语言:GDScript 六条实战坑;数值:口径显式/先测后调/跨尺度推演/拍板零发挥;流程:伪代码审阅→实现→双登记)+ **缺陷-规范对照表**(缺陷①②④⑤、上帝对象、ID 命名、可选类 24.8 件——每条规则挂本项目真实反面案例)。**CLAUDE.md**:原命名节替换为「代码规范(写代码前必读)」门 + 摘要,指向 docs/code-conventions.md 为单一事实源。回归:冒烟 74/74、ui_probe PASS(文档批不触代码,例行确认)。
27. **轮内刷新方案 A 落地(2026-09-12 用户拍板批)**:用户确认刷新实现(仅 Waiting 受理)与设计预期不符(预期 = 扫雷阶段遇推理死路、有剩余 AP 且 RAP 足够即当场刷新继续挖)。**影响分析先行**(三方案对比:A 轮内不打断轮次 / B 停手+刷新组合宏 / 时间税差异点破——"刷新是否触发敌方结算"是唯一实质差异;16 代码触点 + 8 文档 + 5 数值连锁清单)→ 用户拍板 **方案 A**:Active 相位当场换图继续挖、AP 保留不重置、不触发结算、RAP 够即可、**每轮兜底上限 2 次**(表值 refresh_max_per_round)。**实现**:行动经济 `request_refresh_active()`(仅扣 RAP)· 排雷玩法 install/retire 增 `during_round` 显式通道(其余守卫不变)· 战斗结算 `can_request_refresh()` + 双相位重写 + 每轮计数 · **facts 身份快照隔离**(实现批新暴露的深坑:轮内换图后旧图已挖未结算格与新图坐标重叠,轮末 grant 错拿新图身份——解法 = 缓冲期 `query_full_snapshot` 冻结身份、授予直通快照绕过现行 mapping/_granted)· 地图战斗资源 `query_full_snapshot()` · HUD 按钮"弃图刷新(RAP -8 · 每轮至多 2 次)"。**验证**:冒烟 88/88(+14:当场换图/相位 AP 保留/RAP 扣减/上限拒绝/跨图 facts 完整兑现〔4 格跨三图〕/回放确定性)· 三探针全 PASS · 期望扫描持平(模拟策略不刷图——真人专用出口,playtest 观测项)。**调试教训**:蛆虫 HP 24(已调)误判 18 未掉血——排查先核对当前表值;GDScript lambda 对局部 int 按值捕获(smoke 计数器改容器)。**正式侧义务**:行动经济/战斗结算/地图战斗资源 GDD + game-concept 层级措辞 + registry 修订清单见切片 README"2026-09-12 轮内刷新"节;数值连锁(清图支配性条款⑤/真人刷图行为获取期望)待 playtest 实测。
28. **Task: Designing 难度曲线与Boss GDD**(2026-09-12 启动,/design-system --review solo)· File: `design/archive/gdd-2026-09-14/c3-difficulty-curve.md` · 上下文摘要已呈现(上游 数据配置/敌人系统/战斗结算 全 Approved;锁定事实:clause3_supply 满配破线约束、战斗结算 条款⑤未闭合约束包、棋盘生成 Boss=Dmax 约定 + OQ6、地形变异 scope=global 语义位、地图战斗资源 全部 provisional 值归 难度曲线与Boss;切片实测现状:敌深度轴 D0-D4/供给 p0-0.4/基线通关 55-80%)
29. **主架构文档产出(2026-09-12,/create-architecture 全流程,solo 模式)**:`docs/architecture/architecture.md` v1.0 已写入(TD 自评 APPROVED WITH CONDITIONS;LP-FEASIBILITY 按 solo 跳过;`.claude/docs/director-gates.md` 缺失登记 QQ-10)。要点:① 20 系统五层映射(依据 systems-index 依赖分层,切片实现验证)② 模块所有权地图(Owns/Exposes/Consumes/引擎 API,含切片新增件 RewardSupplyController/LevelTable/level_runner)③ 四条数据流(帧更新/事件信号/存档快照/初始化顺序)④ API 边界契约表(GDD AC 前言为规范源)⑤ ADR 审计:现存 0 份;63 条 TR 可追溯性 = 46 条架构文档+GDD 承载 / 12 条待 ADR / 5 条随未设计系统,0 孤儿 ⑥ **Required ADRs 13 项分级**(必须编码前:ADR-0001 事件总线与编排载体〔推荐组合根直连 signal + Waiting 相位触发〕/ ADR-0002 渲染器与窗口〔推荐 2D 用 gl_compatibility〕/ ADR-0003 场景结构与棋盘渲染 / ADR-0004 测试载体与 CI;应有:ADR-0005 生成性能 / 0006 单位 API face 归属 / 0007 零伤害护栏落点 / 0008 切片机制正式化;可推迟:0009–0013)⑦ 架构七原则(Core headless / 单一事实源 / 封闭 RNG 可回放 / 编排唯一性 / fail-fast 零特判 / 依赖单向组合根 / 呈现层契约成文)⑧ QQ-01–10 开放问题。**同批执行**:review-mode.txt 写入 solo(用户拍板"前期不需参与太多");引擎参考 refresh 批(breaking-changes/deprecated-apis/VERSION/current-best-practices 四文件,风险 HIGH→MEDIUM)。**下一步(按 ADR 优先级)**:`/architecture-decision "event-bus-and-orchestration-carrier"` 等 4 个 Foundation ADR → /architecture-review(新会话)→ /gate-check 前置项(/test-setup /ux-design)。注意:与条目 28 的 难度曲线与Boss GDD 设计会话并行中——ADR-0001/0002 落定结果与 难度曲线与Boss 无接口冲突(难度曲线与Boss 消费 战斗结算 对账输出为文档层事实依赖)。 → **GDD 完成(2026-09-12 同会话)**:12 节全部写入(用户全权委托——"所有选择按推荐",逐节问询按用户指示跳过;solo 模式专员代理跳过已在各节登记)。关键决策:① 承载结构 = 直填行值主体 + DifficultyTable 修饰结构位(MVP 空表,敌人系统 Rule 10 兑现)② 切片 SLICE-TUNED 行集转正 MVP 默认曲线 ③ 难度期望表(通关率目标带 L1 基线 40–60%/供给平衡带 [1.1,2.0]——F5/F6)④ F1–F7 全部为设计期工具式、运行时零新增公式 ⑤ 战斗结算 条款③⑤/预警⑥约束承接:条款⑤ MVP 接受非支配设计态(C 量级不上调,OQ4 playtest 观测弃图率)⑥ 地形变异 scope=global 语义定稿(仅 Boss/精英图,MVP 不产生行)⑦ Boss 血量占比 0.81 越带如实登记 OQ2。registry +3 条目(difficulty_table/difficulty_expectation_table/boss_dmax_convention)· systems-index 难度曲线与Boss → Designed。**注意:未经 /design-review——solo 出稿待人工复核,独立评审须新会话 `/design-review design/archive/gdd-2026-09-14/c3-difficulty-curve.md`**。
29. **难度曲线与Boss GDD 落地切片 + 试玩采集清单(2026-09-12)**:用户拍板跳过 /design-review(solo 出稿待复核状态维持),难度曲线与Boss 设计承诺直接落回切片试玩。落地:**DifficultyTable 结构位**(schema 域校验+越域 warning / 空表 difficulty.tres / ConfigDB 挂载 + resolve_difficulty_modifiers(精确匹配+clamp)/ 敌人系统.spawn 套乘钩子(行值快照前,MVP 空表恒 1.0))——AC-10 断言含注入套乘(×1.5/×2.0)与越域 clamp(50→10)验证;切片调参登记转正标记;**试玩采集清单**(OQ3 真人修正系数/OQ2 Boss 血量/OQ6 刷新使用/OQ4 弃图倾向/台阶可感知性/供给体感——README 专节)。冒烟 **96/96**(+8)。下一步 = 用户 F5 试玩采集 → OQ 裁决 → (可选)新会话 /design-review。
30. **Foundation 四 ADR 落定(2026-09-12,/architecture-decision ×4 批,solo 模式用户授权代决 + godot-specialist 子代理校验)**:ADR-0001(事件总线=组合根直连 signal + 战斗结算 Waiting 相位触发;信号实名 round_end_board/round_end_stopped;specialist 增补静态规则:core↔core 连接方法 Callable only / 发射者禁反向引用——RefCounted 析构即双向断连,真坑是 lambda 捕获 self 成环)· ADR-0002(gl_compatibility——绕开 4.6 Windows D3D12 新默认线;基座 1280×800 + canvas_items/expand 显式落盘)· ADR-0003(autoload 仅 {ConfigDB, RngService};**specialist 实质纠正:切片 BoardView 实为 GridContainer+逐格控件而非自绘 _draw()——ADR 按事实修正,_draw 迁移登记为 HUD框架 候选工作项(三探针改造 + push_input 端到端 + 命中测试自建为隐藏成本);CJK 字体随包 = 运行时默认字体无 CJK 字形,硬性前置**)· ADR-0004(双载体定稿;**specialist 升格:S2 全局 rand* 函数禁令(绕开 RngService 漏洞)/ S5 core 禁裸引用 autoload 全局标识符(--script 模式不注册全局标识符——裸引用 parse error,GH #6360);CI 必配外部 wall-clock 超时;click_probe 口径修正 = "真实翻译出口";gdUnit4 = deferred(数据配置 OQ1 关闭形态)**)。产出:`docs/architecture/adr-0001~0004-*.md` 四文件(Status: Accepted)+ `docs/registry/architecture.yaml`(新建:interfaces ×3 / api_decisions ×6 / forbidden_patterns ×6)+ architecture.md §Required ADRs 四项标 ✅(骨架解冻)。**架构阶段正式编码前置条件全部满足**。下一步队列:/test-setup → /ux-design → (新会话)/architecture-review → /gate-check;需要用户的仅剩:切片 F5 试玩(条目 29b 的采集清单)+ 难度曲线与Boss OQ 裁决 + 迭代期反馈。注:本条目与会话内另一条目 29(难度曲线与Boss 批)编号并列,编号冲突系并行会话所致,内容不冲突。
31. **/test-setup 完成(2026-09-12,solo 模式用户授权代决)**:`tests/` 脚手架 + `.github/workflows/tests.yml` 已创建——**一处对 skill 默认的有意偏离**:skill 模板默认生成 gdUnit4 runner,按 ADR-0004(gdUnit4 deferred、双载体)改为项目自有协议。产出:tests/README.md(双载体文档 + 命名规范 + 证据矩阵 + 冒烟协议要点:--script 无 autoload/无全局标识符、quit(code)、manifest、reset_diagnostics、表读值推导)· tests/unit/(**example_test.gd = gate-check 要求的示例测试**,协议活样板)· tests/integration/ · tests/evidence/ · tests/smoke/critical-paths.md(**15 条项目真实关键路径**——挖掘/连锁/旗挡链/雷格通行/停手 RAP/结算归因/窗口单件/清图完美排雷/轮内刷新方案 A/hero_attack/关卡链/调整板层级回归/CJK 显示,面向表现手感,与切片 96 条自动化断言分工)· tests/run_all.gd(CI 冒烟统一入口,数据配置 AC-2b manifest 协议,正式工程落地后登记套件清单)· tests/static_scan.sh(**ADR-0004 S1–S8 可执行子集:S1/S2 全局随机禁令含 randi/randf/randf_range + S4 core 引擎依赖为硬失败,S3 警告级,S5–S8 登记为精化 TODO**;core/ 不存在时优雅跳过——已验证 exit 0)· .github/workflows/tests.yml(static-scan + smoke 双 job,**timeout 外部超时为硬性要求**,godot 4.7.2;仓库未初始化 git,首次 push 自动生效)。**gate-check Technical Setup 前置三项全满足**(tests/ 目录 ✓ workflows ✓ ≥1 示例测试 ✓)。剩余:/ux-design → (新会话)/architecture-review → /gate-check;用户侧 = F5 试玩采集。
32. **门检查前置工件补齐(2026-09-12,用户拍板"先补工件再跑门")**:用户 invoke /gate-check 后发现阶段漂移(stage.txt=Systems Design 但实际已在 Technical Setup 深处),选择先补工件。同批完成:① **`docs/architecture/requirements-traceability.md`**(新建——gate 要求的专用矩阵:63 条 TR 分层覆盖表,Foundation 36 条零缺口核验逐条列载体;Core 待 ADR-0006/0007,Presentation 待 HUD框架 GDD/ADR-0011)② **ADR-0005 `save-contract-and-schema-versioning`**(新建 Accepted——SCHEMA_VERSION 比较归属 存档序列化 + RNG 快照切点契约收拢,Foundation 层最后两条 pending TR 闭合)③ architecture.md §Required ADRs 重排(0005 已用 → 应有队列重编号为 0006–0009,可推迟 0010–0013)④ registry architecture.yaml 增 save_contract 条目。**当前缺口清单(Technical Setup → Pre-Production 门视角)**:/ux-design 两件套(interaction-patterns + accessibility-requirements)→ /architecture-review(**必须新会话**)→ /create-control-manifest(其前置 = architecture-review 通过 + ADR Accepted)→ gate-check。Systems Design → Technical Setup 门另需:HUD框架 GDD(MVP 最后一块)+ /review-all-gdds(新会话)。用户侧唯一项 = F5 试玩采集。
30. **试玩日志器 + 诊断转储(2026-09-12 用户需求批——playtest 数据采集基建)**:① 战斗结算 新增 `settlement_snapshot` 信号(每结算末尾全量状态快照:判定段重构为 verdict 先算→快照→分支——快照含 despawn 前终局;板序号 _board_seq 归因)② 新组件 `presentation/playtest_logger.gd`(JSONL 持久化 user://logs/playtest_*.jsonl:session/settlement/battle_end/node/level_end 五类行 = 完整试玩时间线;环形缓冲 200 结算行/100 操作)③ HUD 诊断按钮(卡死点击 → 全量核心状态 + 环形缓冲 → diag_*.json——行为探针 _dump_state 产品化;GDScript 无运行时堆栈 API,状态等待型软锁正对症)。**日志首秀即抓真 bug**:_start_full_level 面板加成双写叠加(apply 写表 18 → runner 以 18 为基线 ×3 → atk 54)——修复 = 关卡模式单一应用路径(runner 写表),日志 atk 54→18 证实;教训 = 同一加成多应用路径须单一事实源 + JSONL 快照是数值回归最低成本探测器。冒烟 103/103(+7)。
34. **战斗屏 UX 规格产出(2026-09-12,/ux-design battle,自主模式用户委托"缺失补充")**:`design/ux/battle.md` 已写入(Status: Complete 待 /ux-review;14 节 + 上游义务对照表)。**最大决策 = 常驻双舞台分屏**(用户布局图拍板):战斗画面(252px 顶区)+ 角色信息(240px 左下)+ 扫雷图(中下 ~760px)+ 道具(280px 右下)+ 顶栏关卡进度条(1280×800 基座)——**对 战斗表现"双舞台陷阱"的裁决输入 = 同屏双舞台第三形态**(非独立战斗场景),战斗表现 前战斗表现美术测试按此布局出样。关键裁决:道具窗口 = 右栏原位激活(非中央弹窗);移动路径预览 = 合法性指示(排雷玩法×6⑤ 悬案裁决,穿行动画留痕不采纳);结算明细带常驻战斗画面底部(P2 逐行归因,点击展开回看);状态效果空态 = 槽隐藏。**全部 HUD框架 呈现义务逐条落位**(排雷玩法×6/行动经济/地形变异×3/战斗结算×3〔UX Flag 结算屏+窗口〕/敌人系统×4/增益状态×4/地图战斗资源×5 + 棋盘生成 EC5——spec §13 对照表供门禁核对),AC 含 entry 17 三条场景级硬性要求(信号载荷 schema 成文/场景级 headless 测试/信号时点可见性)+ 缺陷①④⑤回归断言。**登记缺口(gate-check Pre-Production 视角)**:`design/accessibility-requirements.md` 与 `design/ux/interaction-patterns.md` 两件套仍未建(spec 内建 WCAG AA 基线承诺,正式分层待补);相邻域屏 NodeOverlay/关卡结算建议后续 spec(design/ux/node-reward.md)。**下一步 = /ux-review design/ux/battle.md(新会话)→ HUD框架 GDD(设计顺序第 10 位,MVP 最后一块,以本 spec 为呈现义务承载依据)→ /review-all-gdds → /gate-check**。**同日修订(用户反馈拍板)**:道具来源不呈现——库存列表逐件描述由"来源格/轮"改为**属性简述**(行值快照投影派生:伤害/回复/增益一句话;tooltip=完整描述+触发注记,不含来源);来源数据仍在 地图战斗资源 窗口载荷契约中(不改数据层),归因职责由结算明细行的逐行来源标注承载(P2 不受影响)。
31. **试玩批次 1 → v3 数值批(2026-09-12,F7 流程首次完整实践)**:用户 6 项反馈(满血全通关/Boss OK 或可上调/刷新零使用/零弃图/DND 命名指令/道具先保留)→ 裁决:OQ3 方向确认(真人>>模拟)、OQ2 初步裁决(F3 带 [0.35,0.55]→[0.5,1.1])、OQ4 初步关闭(非支配成立)、OQ6 读数(盲猜墙不足非刷新太顺滑——密度杠杆留观测)。**v3 数值批**:atk +50%(7/5/9/6/9)、Boss 150/9、DND 命名(goblin/bugbear/ogre_chief——enemy_id 同步更名)、L2 锚行同步。**调试收获**:D0 hp 20 会被首轮盲挖粉尘(12)+先手(9)秒杀——旗回归断言 FAIL 抓获,回 24("有过程有痛感"原则:掉血压力 ≠ 秒杀);冒烟硬编码行值断言随数值批同步是维护成本(后续改数据驱动)。**v3 扫描**:基线 60% 带内上沿、败北 4/6 集中 Boss、天赋曲线成立。冒烟 103/103。难度曲线与Boss GDD 回写(F3/OQ/试玩批次记录)+ README + 本条。**下一批 = v3 真人试玩(OQ3 定量/OQ2 终裁)→ 视数据定 v4。**
32. **Peglin 对比研究报告(2026-09-12,用户问"Roguelike 体现"触发)**:报告 = `design/research/peglin-comparison-2026-09-12.md`(数据源 peglin.wiki.gg 逐页核实:Peglin 基础 HP 100、Forest 敌 60-65HP/1-5伤、Boss 900、精英 500、每场战后回复、每场遗物选择)。**三根因结论**:① 构筑密度差一个量级(Peglin 每场 1 次遗物选择 vs 我们每关 6 件——"局感"第一根因)② 遭遇零随机+线性无分支 ③ 资源模型不同(Peglin 战后回复+低伤多场 vs 我们无回复+高伤少场——**数值不可直接移植,只可比结构比例**)。**行动建议**:本切片可做 = 遭遇随机化(同敌种 unit_count 区间掷骰,不触 敌人系统 行集锁定);后置 = 多波战斗(战斗结算 波次表)/遗物协同(先设计协同再提密度)/战后回复(绑定敌 atk 下调)。用户决策点 = 是否本切片做遭遇随机化。
33. **遭遇随机化落地(2026-09-12 用户拍板——Peglin 对比报告结论 2 的本切片项)**:报告 `design/research/peglin-comparison-2026-09-12.md`(三根因:构筑密度/零随机/资源模型;数值不可移植只可比结构比例)。**用户拍板先做遭遇随机化**。难度曲线与Boss GDD 增补 Core Rule 8(unit_count 区间 [unit_count, unit_count_max] 均匀骰 + encounter 流 + 敌人系统 零随机纪律保持 + 教学位不加骰)。实现:RngService 第三流 encounter(SALT 0x5DEECE66D2545F491,三流计数器重播种断言同步)/ EnemyTable unit_count_max 字段(可省略,域 [unit_count,3])/ enemy.tres 三行区间(D0 [1,2]、D1 [2,3] hp13、D3 [2,3] hp18;D2/Boss 教学位固定)/ 战斗结算.begin_battle 掷骰(erow 预解析 → override 传 spawn)/ 敌人系统.spawn override 参数。registry rng_service 条目接口漂移登记。**扫描**:基线 47%(v3 定值 60% → 区间期望总量 +8% 叠加;F5 带内 ✓)——区间骰使难度分布更宽(运气进入遭遇层 = Roguelike 体核心)。冒烟 149/149(+46)。**待办**:批次 2 试玩(v3+区间双变量采集 OQ3 定量);多波战斗/遗物协同/战后回复 = Alpha 评估(报告第三节)。
35. **战斗屏 UX 批:评审通过 + pattern 库建立(2026-09-12,/team-ui 管线 solo 模式)**:① **上游契约批落地**——battle.md /ux-review(7 blocking)+ 用户四拍板(弃图刷新=挖掘期当场换图·雷图右上角按钮 / 保留每轮上限 2 / OQ8 本 spec 裁决采纳 tint+雾区全开信号 / 压暗改去饱和+金橙偏移)→ 行动经济/排雷玩法/战斗结算/systems-index/registry 直接修订(refresh 前移挖掘期:行动经济 Active 受理+cap 2、排雷玩法 Active·仅刷新路径装板、战斗结算 `refresh_board` 编排+stopped/ap_exhausted 恒 same_board、旧旗作废、时间税失效预警 OQ3 联动)。**注意与切片 entry 27 命名对账**:切片代码用 provisional 名(`request_refresh_active()`/`can_request_refresh()`/`refresh_max_per_round`/`during_round`),GDD 用正式名(`request_refresh` Active 受理/`refresh_board`/`refresh_cap_per_round` 结构位)——语义一致,正式 HUD框架 批统一命名 ② **/ux-review 独立复检**(全新上下文代理):1 blocking(systems-index:90 旧契约残留)+ 3 advisory 全部同批落稿 → **VERDICT: APPROVED**(§13 台账 27 项义务承接逐项实存验证)③ **interaction-patterns.md 已建**(用户拍板"先写核心 8"):双源拒绝反馈/原位窗口激活/逐行兑现明细带/悬停预承诺光标/点阵资源显示/模态 overlay 层级纪律/破坏性确认异位/禁用态即理由全文 + 12 目录占位(实现期回写义务)④ Phase 2 视觉 spec 跳过(用户拍板,art-bible §1–4 直接驱动)。**下一步 = Phase 3 单次协调实现**:ui-programmer 按 battle.md 改造 presentation/(五区布局/敌人卡/明细带/状态槽/图例/tooltip/教学提示/胜负终局)+ ux_* 遥测 + 探针扩展;solo 模式 Phase 4 总监评审流跳过,产出以冒烟+三探针兜底
36. **战斗屏五区改造落地(2026-09-12,battle.md 落地 ui-programmer 批——entry 35 的 Phase 3)**:core/ 与 data/ 零字节改动,presentation/ 重构为五区(A 28px 进度条 / B 252px 战斗画面〔英雄卡+敌人卡×1–3+轮次指示+明细带改造〕/ C 240px 数据框+状态槽×4 / D 区 AP 点阵条+BoardView 改造+toast+演出层 / E 区库存常读+原位窗口态)+ 全屏 States(去饱和 shader 明度不变/清图演出/Boss 影子/终局 overlay 胜金蜡封·败暮蓝/一次性提示去重)+ ux 遥测行族(round_input_ratio/round_exit/refresh_attempt/window_choice/reject/hint_shown——快照驱动,呈现层只订 战斗结算)。模态统一登记序管理(缺陷⑤纪律),旧 hud_view.gd 删除。**批内发现并修复**:TunePanel 默认 visible=true 靠开始层遮蔽的历史 quirk(缺陷⑤家族,显式初始化);敌卡逐行重建踩掉死亡灰化(改就地更新);库存清空反馈被常读刷新覆盖(持有期);窗口态被 presenter 全量刷新 stomped(窗口期跳过常读重建——click_probe 首跑即抓)。Waiting 刷新代理按 OQ12 退役(UI 仅 Active 受理)。探针:ui_probe 增五区断言+L2 雾段;click_probe 增刷新确认链/图例/tooltip/模态遮挡/去饱和/首格计时(133–151ms ≤500ms)。回归:smoke 149/149 + 三探针 PASS(click_probe 六种子)。占位登记:意图映射/演出/字体(HUD框架 正式化)归 战斗表现/HUD框架 批。
37. **攻击类型 × 护甲克制批落地(2026-09-12 用户拍板——设计会话设定表定稿"没有问题"后落程序)**:**结构**(词汇随 2026-09-15 命名统一批 + 抽象分离批改写:攻击类型 = 伤害属性轴、开格/标中旗 = 奖励触发源)——敌人护甲类型 {轻甲,魔法护甲,重甲}(EnemyTable.armor_type,映射 goblin=light/bugbear=ward/ogre_chief=heavy 教学梯度候选)× 主角攻击三段构成(①普通 atk×(1+attack_up) 不吃克制 ②穿刺 / ③魔法 = 充能(按攻击类型分桶,投桶归奖励定义 settlement.charge_grants:开格→穿刺桶、标中旗→魔法桶,后者与 weaken 同键每雷实例一次去重);三分量各自 floor 相加,hero_attack 行携带 normal/pierce/magic)+ 克制矩阵 SettlementTable.armor_effectiveness(克制 150/中性 100/被克 50;刀/AOE/清图恒定表值不吃克制)+ 开格充能单轮计数上限 8 + **标错旗随机惩罚三选一**(enrage 暴走敌+25% / ambush+2 层 / off_guard 失衡我方+25%,dur=1,零新流确定性派生 (x×7+y×13+板×5)%3 同种子可回放,每雷格实例一次去重沿用)。**数值全部 provisional**(charge_grants 现行 开格→穿刺 1/格·计数上限 8、标中旗→魔法 2/雷/矩阵/enrage·off_guard 25%/映射——登记于 .tres 注释,难度曲线与Boss 按 F6 复算)。**验证**:冒烟 161/161(+12 专项断言:护甲三档传播/矩阵表值/三分量字段/flag_miss+反噬行/充能进攻击/派生回放)· ui_probe/tune_probe/click_probe 全 PASS。**实现坑**:enemy_card_view set_intent 引用越作用域变量 d → 类编译失败敌人卡零构建(ui_probe 抓获)——改成员变量 _armor 传递。**正式侧义务(GDD/registry 修订待文档批)**:敌人系统(armor_type)/战斗结算(三分量构成+反噬编排+矩阵载体)/增益状态(六行状态表+flag_miss 授予)/排雷玩法 OQ1(惩罚候选升级三选一+重复性=每雷实例一次)/registry(enemy/settlement/status_effect 条目+行动经济 条款②③锚重推导)/难度曲线与Boss(provisional 数值接管)。**世界观记录**:design/research/lore-nest-metaphor-2026-09-12.md(雷=巢穴/旗=封印、伤害A=地利/伤害B=暴露、反噬=封印失败——6 个开放问题待新会话拍板后写回 game-concept)
38. **呈现层 code-review 修复批(2026-09-12,/code-review CHANGES REQUIRED → 用户拍板全项修复)**:全切片 53 脚本评审(含两 specialist 并行审查 views/ 与 smoke/+schemas/)裁决 7 项必改,本批清偿:① **TunePanel 封装破口**(视图直写 hero 表 + 视图 load smoke 驱动 core → 面板模拟 pct² 口径 + 模拟后表值残留污染真实对局)——重构纯视图信号外发,加成落表收口组合根 `_apply_hero_override` 单一路径(每次从基线幂等重算),模拟编排拆 `tune_sim_controller.gd` ② **意图徽标双翻译**(presenter 译中文投影 vs EnemyCardView 英文 key 匹配 → 色相/重击标记永久失效)——presenter 直传 敌人系统 原键,渲染映射唯一定义处归 EnemyCardView ③ **C 区 RAP 死分支**(presenter 从不投影 a3.rap,行动经济对 HUD框架 的清零反馈不可达)——持续投影 + 视图改 `_last_rap` 成员存储 ④ **smoke_all 恒真断言**改带标签真实断言 ⑤ **level_runner core↔core 接线 lambda ×4 → 方法 Callable**(ADR-0001 S6)⑥ **战斗结算 `diagnostic_snapshot()` 诊断观测面**(main/click_probe 零私有字段直读)⑦ **main.gd 761→667**:节点构建/模态层级/叙事文案/模拟编排四拆分(ui_assembler + modal_stack + battle_narrator + tune_sim_controller,均无 class_name 走 preload;.uid 已生成)——剩余为 ADR 规定组合根职责,进一步压缩登记 HUD框架 批候审。探针同步:ui_tune_probe 重写(真实按钮路径接缝 + 两条双写叠加回归断言)、click_probe 改诊断 API。**验证**:smoke 141/141 · 三探针全 PASS(click 六种子)。登记待办:自动玩家四份复制收口 / schema 溯源行 / S1–S8 扫描脚本化 + S1 豁免口径 / views 转发信号契约头注。
<!-- CONSISTENCY-CHECK: 2026-09-12 (lore 换轴概念层增补后全量) | GDDs checked: 10 (数据配置/行动经济/地形变异/增益状态/棋盘生成/排雷玩法/敌人系统/地图战斗资源/战斗结算/难度曲线与Boss) + game-concept/game-pillars/ux-battle/registry/session-state 专查 | Conflicts found: 2 🔴 (registry 09-11 批 fields 行漏网——category 五值残留三值 / p_min 默认 4 残留——同日修正完毕、复查清零) + 2 ⚠️ (战斗结算/增益状态"雷是赌桌不是陷阱"措辞碰撞 / lore ②敌种行 vs 切片 DND 命名 goblin-bugbear-ogre_chief) + ℹ️ 在案确认(refresh 字段名统一归 HUD框架 批、增益状态 weaken documented-exception 维持、已登记待办批对账清单核验在册) | 概念层专项: 排雷玩法 OQ1 重复性已被 entry 37 切片实现收口(每雷实例一次)→ lore ⑤-3(c) 措辞可定"当轮反扑",待 排雷玩法 修订批确认 | Report: docs/consistency-report-2026-09-12.md -->
39. **封装收口批落地(2026-09-13,architecture-review 改编批 → 用户拍板 P1+P2+P3 全修)**:代码架构审查报告 `docs/architecture/code-architecture-review-2026-09-13.md`(Verdict: CONCERNS——分层纪律 S1–S7 全合规,封装欠账 = 核心状态公有 + 呈现层链式穿透)。本批清偿:**E1** 战斗结算 协作对象 a1/b2/b3/b4 私有化 + `presentation_snapshot()/is_battle_live()/stock_count()/query_reward_identity()` 成文呈现面(a2/a3 保留公有 = API Boundaries 登记的 HUD框架 契约面);**E2** 排雷玩法 board/revealed/flags 私有化 + `current_board()/reveal_record()`(board_view 直读 `.revealed` 的自相矛盾收口);**E3** 敌人系统 hero/enemies 私有化 + `hero_unit()/all_enemies()` 投影(presenter 死亡残位需求收进 API);**E5** 行动经济/RngService 只读字段 getter-only 机制化(phase/ap/rap/last_round_end/master_seed);**O1+O2** 调试模式拆 `debug_session.gd`(调参语义单一实现;battle_created 先于 begin_battle = ADR-0001 接线归组合根 + 缺陷①时序——ui_probe 抓获初版 battle_ready 才接手 b1 的雾提示丢失);**O3** `core/damage_math.gd` 纯算术抽取 + board_generator 重复求解合并;**P3** 头注溯源 ×4 / 地图战斗资源 返回值统一 null / equivalence_supply 表行 duplicate / load→preload ×3。**附带根治基线既有重入隐患**:main `_on_board_action` 清图判定在 settle_batch 同步重入(关卡终局置空 b1)后摸 `b1.a2` 的 SCRIPT ERROR——click_probe stderr 归零(优于基线)。**验证**:冒烟 141/141 + 三探针 PASS(click done=true 失效=0 问题=0)。**P2 余项设计稿待用户审**:E4 表值参数化(敌人系统.spawn 契约漂移须 GDD/registry 修订)+ O4 自动玩家四份复制收口(合并 W-3)。
40. **P2 收口批落地(2026-09-13,用户拍板两项均做——封装审查 P2 设计稿批准)**:① **E4 表值参数化**:db.hero 表写通道全删(main `_apply_hero_override`/runner `start_level` 写表),加成经 encounter 显式参数(战斗结算 begin_battle +hero_atk/hero_max_hp 字段 → 敌人系统.spawn +atk_override/max_hp_override 参数,-1 表值兜底)——双写叠加 6→18→54 与双基线同步整类隐患移除,数据配置 单一事实源机制化;registry 新增 `hero_override_parameter_passing`(ADR-0009 候选,敌人系统.spawn/战斗结算 encounter 接口漂移登记,正式侧 GDD 修订随 ADR-0009 批);ui_tune_probe ⑦⑧ 断言语义升级(表运行期不可变 + 完整关卡路径单次加成快照断言)。② **O4 自动玩家单一实现**(合并 W-3):`smoke/auto_player.gd`(choose_dig + window_selection,差异参数化 heal_hp_div/round_gate/knife_compare),四消费方(smoke_all 3/3/best · monte_carlo 2/0/sum · dump_battle 3/3/sum · level_autoplay 2/3/best)+ click_probe 引用同步;同种子回放断言全绿 = 等价性证明。**验证**:冒烟 141/141 · 三探针 PASS。**遗留**:正式侧 战斗结算/敌人系统 GDD 修订(随 ADR-0009);main.gd 400 行目标受 ADR-0001 组合根职责约束(HUD框架 正式化批候审)。
41. **art-bible §1–4 定稿(2026-09-13,/art-bible retrofit 批,solo 模式)**:`design/art/art-bible.md`(2026-09-10 初稿,§1–4 已有核心方向)本批按极性提案与 2026-09-12 隐喻换轴**定向增补定稿 §1–4**——① 绘制优先级栈插徽章位(数字 > 小人 > 旗 > 徽章 > 纹理 > 底色,§1.2/§3.4 同步);② 雷格隐喻换轴同步(雷 = 被惊动的巢穴,"机关"旧称退役;兑现档红更名危险红、色值不变);③ §1.4 格子样张测试验收标准成文(第一验收项 = 数字可读性硬指标 ≥4.5:1 可测判据 + 回退规则"改氛围色不改数字";雾格排除在外);④ §4.6 图标键契约冻结(效果图标 增益状态 数据六行 + sapped 提案键 / 奖励徽章 地图战斗资源 默认根八行 + clear_blast 并列预留 / 格面类型图标五类〔提案 R1,未开格预读徽章墨族单色防色相泄漏〕/ 敌种线索键 敌人系统 Rule 8 契约化〔行为拍姿态/环长直觉/强度档位/预告时序/恒定义务〕——键与通道分配冻结,终稿美术归样张与 asset-spec 批);⑤ 雾格资产规格一行占位(内容封禁期暂缓,雾重设计批再启)。registry terminology 增三词条(图标键/徽章/极性)+ referenced_by 增 art-bible;systems-index 新增 2026-09-13 art-bible 登记块(范围声明:§5–9 未建不阻塞 HUD框架,HUD框架 消费面五节点名)。AD 门禁 solo 跳过,出稿待人工复核。**冲突清单(不改 GDD/提案,列示待裁决)**:① game-concept 视觉锚原则 1"暗色地牢底色" vs art-bible 明亮底色反转(art-bible §1.3 2026-09-10 用户定稿在案;概念侧注记待概念层修订批);② 敌人系统 GDD 敌种键 {grub, ambusher} vs 切片 DND 更名 {goblin, bugbear, ogre_chief}(2026-09-12 consistency-check ⚠️ 在案;图标键契约以 GDD 键集为锚、声明键集事实源归 敌人系统/难度曲线与Boss);③ 地图战斗资源 GDD 默认根八行(clear_knife)vs 切片供给控制器批(clear_blast + 三可选类移 active_inject——entry 21 正式侧义务待清偿;徽章键按 reward_id 冻结、池归属无关);④ 极性提案 §3.5 跨文档回写清单全部待实施批(增益状态 四行→七行、地图战斗资源 schema 扩列、排雷玩法 OQ1 关闭等)。**下一步 = HUD框架 design-review(HUD框架 GDD 已于 2026-09-13 solo 出稿并完成 lean 迁移,状态 Designed 未经评审——新会话跑 `/design-review design/archive/gdd-2026-09-14/d1-hud-framework.md`,PASS 后登记 Approved 即 MVP 十系统全收口)**。
42. **GDD lean 格式迁移完成(2026-09-13,11 份全量,子 agent 串行/双并发)**:全部系统级 GDD 按新模板(`.claude/docs/templates/game-design-document.md`)重排,`tools/gdd_lint.py` 11/11 PASS(表格占比 81–89%);修订注记出正文→版本历史表;原稿备份 `design/gdd/legacy-2026-09-13/`。**随迁按 registry 回执写现行的语义统一**:增益状态(weaken −65、D=1)、数据配置(八字段/p_perfect {100,200}/category 五值/ActionEconomyTable 现行值)、战斗结算(EC-9 单件制)。**🔴 遗留重算义务**:战斗结算 F1/F4/F5 派生数值(V_safe=D_ref 恒等式、E_life 12.0、E_dig 7.2、裕度 2.0×/2.6×)仍按 defense_up duration=2 旧基线——registry 已 D=1(2026-09-11 批),锚腿读数须 战斗结算/难度曲线与Boss 对账重跑(非格式批可改)。迁移代理另有 6 处保守处理待人工复核(地图战斗资源 AC-19 对账对、难度曲线与Boss Rule 编号引用等,详见各文件版本历史)。
41. **零承伤根因分割探针 + playtest-09-12 Bug #1–#3 处置 + Q1 复扫基线(2026-09-13,playtest-2026-09-12 报告 Top3 授权任务)**:① **根因分割探针 `smoke/damage_probe.gd`**(boss/level 两模式——逐结算行打印 beat / atk.total / hero_defense 池 / d_tick)。快照盲区发现:settlement_snapshot 取在衰减段之后,时效 1 的 defense_up 当轮授予当轮衰减——真人局 JSONL buffs[] 恒空 ≠ 池为空(报告悬置机理);探针从结算行 pool_value 重建战斗段时点池值(effect_pool_map 表驱动)。**结论:零承伤根因 = 旧数据 defense_up -50×2 = clamp -100 触底 ×0(设计语义,H1 成立)**——fresh 池裸验 Boss 攻击链全额兑现(attack 9/9×2 · heavy 18/18 · charge 0 设计,6 轮击倒英雄)否证攻击链缺陷(H2);当前数据(-30 批)墙最深 -60 > clamp_lo -100 归零不可达(重证),墙轮残余 ×0.40。② **BUG-0002/0003/0004 建档**(production/qa/bugs/,自 BUG-0001 顺延):报告 #1 空遭遇 = **首轮全灭被快照盲区误读**(seed 42 回放 d0 spawn=1/d1 spawn=3 同签名;遭遇骰下限 ≥1 双闸 + 100 场扫描零越域;settlement_snapshot 增 spawn_count 字段机制化判别)→ Closed(Rejected as coded);报告 #2 Boss 攻击零兑现 = 设计语义非 bug → Closed(Rejected as coded);报告 #3 grant_node_active 绕过 _supply.notify_granted = 代码实锤 → **Fixed**(stock 受理后补入账,战斗域清零语义不变 = 零战斗数值影响,纯口径)。回归断言 +7(spawn_count 字段/等值 · 遭遇全深度×12 种子全域 60 场 · _smoke_attack_chain_fresh_pool 攻击链钉死 · _smoke_supply ⑦ 节点奖励入账)。③ **Q1 复扫基线**(level_monte_carlo 增 F4 两列「普通承伤/场% · Boss承伤%」——round 回卷分段 + 末段 Boss 判定;N=30×10 档、种子 4200–4229):基线通关率 **17%**(F5 带 40–60%)· +100% 档 43%(中天赋 ≥95%)· +200% 档 63%(高天赋 100%);普通场承伤 **35.1–43.1%/场**(带 ≤20%)· Boss 场 **71.3–134.9%**(带 ≤50%)(hp+0 档)——**F4/F5 全档位越带**,拆墙 + v3 atk 叠加后难度由严重不足摆向严重过剩。**本批零数值变更**(敌 hp 与奖励供给禁独立调参——registry 预警⑥联动;杠杆方向列待拍板,基线 = F7 测量输入)。**验证**:冒烟 **148/148**(141+7 新回归)· 三探针 PASS · damage_probe boss 7/7 + level 种子 42/43/44 全 PASS。**待拍板/待设计批**:①难度杠杆重拍板(F4/F5 越带——候选 atk 回撤/防御权重回升/供给联动,归 难度曲线与Boss F7);②墙语义候选改法(clamp 收紧/乘法衰减/重击拍穿防——/propagate-design-change + 增益状态 GDD 文字同步);③供给量语义重拍板(每战斗 vs 关卡域首件保证——难度曲线与Boss);④浅深度首轮跳战可玩性(难度曲线与Boss)。切片 README 同批登记。
42. **HUD框架 已收口(Designed,2026-09-13,/design-system solo 模式一次会话定稿)**:GDD 全节已写入(`design/archive/gdd-2026-09-14/d1-hud-framework.md`,12 节 + 台账表/冲突清单零占位,25 条 AC;**专员/总监代理全部跳过,出稿待人工复核;未经 /design-review,独立评审须新会话**)。定稿要点:① **呈现义务台账 27 项逐项落位**(排雷玩法×6/敌人系统×4/增益状态×4/地图战斗资源×5/战斗结算×3/地形变异×3/行动经济+棋盘生成 EC5——Dependencies 落位表;battle.md §13 承接升格系统级验收,已裁决项全部直接继承)② **切片教训三条硬性要求兑现**(entry 17:载荷 schema 13 项成文表 Core Rule 17 / 场景级 headless 探针 AC-19 / 信号时点可见性规则 Core Rule 18 + AC-20)③ 订阅纪律按 ADR-0001 收窄——呈现层只订 战斗结算 步骤流/快照与 runner,零事件外发面 = **命令式回执驱动**五面成文(registry `hud_presentation_surface` 登记;battle.md §Events Fired 措辞差列冲突⑥)④ **命名统一核销**(entry 35:request_refresh/refresh_cap_per_round 正式名,AC-25 grep 断言零残留)⑤ 程序化占位策略(art-bible §1.4 引用依据、样张未制作不阻塞、占位同受数字可读性硬指标)⑥ _draw 维持 GridContainer 裁决(ADR-0003 Decision 3 兑现——复议留样张后 OQ1)⑦ HUD框架 裁决:MVP 格面徽章只在已开格呈现(地图战斗资源 Rule 8 承接——冲突⑤)⑧ 发现冲突清单 ⑧ 项成文(不改已定稿正文与提案,含 game-concept 底色/敌人系统 敌种键/clear_blast/极性提案批/订阅表述/行动经济 刷新计数读数/战斗结算 settlement_snapshot 契约〔entry 41 并行批仍在切片使用该信号——OQ3 登记更增补登记必要性〕)。registry +1 条目 + terminology 两词条;systems-index HUD框架 进度行 + 门禁增补记录块(接口漂移登记 ×3)。**下一步 =(新会话)`/design-review design/archive/gdd-2026-09-14/d1-hud-framework.md` → `/review-all-gdds` → `/gate-check`**(Systems Design → Technical Setup 门两件 = HUD框架 GDD〔本条〕+ /review-all-gdds;**MVP GDD 设计顺序前 10 位全部收口**)。
42. **四项拍板落地(2026-09-13,用户四问裁决——本批零玩法数值变更)**:①**难度主杠杆 = 先真人试玩再拍**(F5 真人修正系数标定优先于数值调整;模拟基线 17% vs 带 40–60% 的越带方向真人预期只会更确认,杠杆方案保持待拍板:atk 回撤/组合/专项三案备选);②**墙语义维持现状 + 归零护栏**:smoke_all `_smoke_wall_zero_guard` 表级不变式(2×defense_up.magnitude > pool_clamp_lo——BUG-0003 事故类永久免疫,未来调参造出 ×0 墙即红灯强制重审);③**供给量先观测再拍**(BUG-0004 封口后账目完整,随复测批/真人局取数);④**跳战并入难度复测再议**:level_monte_carlo 增「跳战率」列(普通战斗 round-1 即胜占比),基线实测 **8%**(+50% 13% / +100% 24% / +150% 27% / +200% 38%)——**seed 42 为高跳战轨迹**(autoplay d0–d3 全部 round-1 全灭),真人局跳战体验含种子成分,基线下跳战是少数派,④复议数据前提成立。附带:defense_scan 过时期望标签清理(「墙轮承伤应为 0」→「合法 ×0.40 帽」)。**验证**:冒烟 **149/149**(+1 护栏)· 复扫各列与 Q1 基线逐值一致(collect_rows 开启不改变行为——确定性交叉验证)。**下一步(用户侧)**:真人试玩一局(观测清单:通关/败北节点 = F5 修正系数分子;普通场掉血体感;Boss 战轮数;d0–d3 跳战与否;治疗包缺血时刻与库存残留 = 拍板③数据)→ 会话分析 JSONL 出修正系数与①③④复议数据。
40. **魔法道具 GDD 定稿(2026-09-14,/design-system solo 模式一次会话——用户设计指令"每个维度都要有对应道具,稀有道具尝试高数值和多维度结合")**:`design/archive/gdd-2026-09-14/a5-minesweeper-aux-items.md`(lean 格式,lint PASS 表格占比 84%)· registry 登记 `aux_items` 条目 + terminology 四词条(叠加层/真视窄域护栏/渗透率)+ `variation_table.counter_item_ids` 回填 [probe_dust](地形变异 预授权 魔法道具-1 义务闭环)· systems-index 门禁增补块 + 魔法道具 状态 Designed。**设计要点**:五维度框架 {info, risk, action, plan, counter} + F2 覆盖谓词("每维度都有对应道具"= 加载后内容审计断言,机器可查)· 承重护栏 = 真视窄域(替代推理 ≤3×3、恢复推理可全图——P1 防塌方,schema 校验强制)· MVP 六行 = 四常规单维(显影尘/工兵令/探宝罗盘/探巢摆钟,t2)+ 两稀有多维高数值(地穴全图卷 = 全雾显影×全图预读、爆破工兵包 = +4 AP×3×3 真视,t3、≈0.17 件/板)· 获取挂 地图战斗资源(aux_item 预留枚举激活——义务 地图战斗资源×①…⑤)· 使用经 战斗结算 挖掘期编排(use_aux 规范序 validate→apply/grant→consume 序即原子——义务 战斗结算×①②③)· 板级叠加层三集(零特判延伸——排雷玩法 代码零 魔法道具 分支、零回写 排雷玩法/地图战斗资源、随图消亡)· 行动经济 grant_ap 第 9 API 接口漂移预授权(义务 行动经济×①)· 21 项跨 GDD 义务清单 + F1–F3 + 14 AC;地形变异 EC6/OQ2 与 地图战斗资源 OQ2 收口。**生效前提**:地图战斗资源/数据配置/行动经济 修订批兑现前 aux 行入池会加载致命(地图战斗资源 Rule 1 预留值拒绝)——AC-12/13 deferral 已登记。**待办**:/design-review(新会话)→ 对侧修订批(地图战斗资源/数据配置/行动经济/战斗结算/HUD框架)→ UX Flag(/ux-design Phase 4 前置);设计顺序下一站 = 难度曲线与Boss 复核批/冒险结构。
## Session Extract — /review-all-gdds 2026-09-14
- **Verdict: FAIL**——2 blocking(① 增益状态/战斗结算:defense_up 减伤墙批 −30 未回写 owner、战斗结算 锚算术三重漂移致条款③⑤闭合回执失效;② 数据配置 漂移批五处:encounter 流/pool_tag active_inject/active_p0·decay/k_dmg 禁区/clear_blast 行集+HelperItemTable 更名)+ ⚠️×16 挂各修订批;增益状态/战斗结算/数据配置 已标 Needs Revision。报告:`design/archive/gdd-2026-09-14/gdd-cross-review-2026-09-14.md`
- **同日 魔法道具**:/design-review --solo 3 blocking + 5 recommended 核销,用户拍板两项边缘规则(area_3x3 边缘窗口裁剪 / 零信息目标不可用不消耗)后免复审标 **Approved**;日志 `design/archive/gdd-2026-09-14/reviews/a5-minesweeper-aux-items-review-log.md`
- **下一步**:新会话按报告 §七 批调度跑回写批(数据配置/增益状态 → 战斗结算 重算 → 地图战斗资源 规格 → 难度曲线与Boss 收口 → 零散)→ `/review-all-gdds since-last-review` 增量复核 → PASS 再 `/create-architecture`;⚠️ 评审期间检测到并行会话修改 GDD(难度曲线与Boss 回写批半途落地致两代理结论互斥)——批收口前勿多会话并行改设计文档
43. **冒险结构 GDD 定稿(2026-09-14,/design-system solo 模式一次会话定稿,与 /review-all-gdds 并行——冒险结构 为新增文件零冲突)**:`design/archive/gdd-2026-09-14/c2-adventure-structure.md`(lean 格式,lint PASS 表格占比 86%)· registry 新增 `level_table` / `adventure_table` 两条件目 + 补登 `hero_override_parameter_passing`(切片 E4 批实现但 registry 缺登——缺口闭合,owner=战斗结算,ADR-0009 候选状态注记)+ terminology 三词条(HP 账本/关卡收束点/关卡大奖励)· systems-index 门禁增补块 + 冒险结构 状态 Designed。**冒险结构 待决四问收口**:① 关卡序列 = MVP N=2 线性(L1 → L2 雾解锁台阶),冒险通关 = L2 Boss;加关 = 内容批,N=2 生效前提 = 难度曲线与Boss L2 深度轴行值填充批(未落地前 N=1 合法态)② 大奖励 = 上限 +10 / 血回满 / 代币 +10 三件固定(不进库存域、末关不兑付;血回满与 难度曲线与Boss 满血开局校准口径闭合——F1 冒险通关率合成 [6,20]% 的前提)③ 失败重开 = 死亡即冒险终、重开全新种子、放弃同失败型(MVP 无 UI 入口)④ 关卡节点地图/冒险结构 边界 = 收束点在 关卡节点地图(先调 战斗结算 level_clear 再宣布 level_end),接口契约四件套(start_level / report_battle_end / heal_clamped / level_end)为 关卡节点地图 GDD 强制输入。**切片先例切分转正**:level_runner 冒险域归 冒险结构、关内行进归 关卡节点地图;两处切片简化改写(逐关播种 → 冒险单种子;每关 HP 回满 → 跨关延续)。**下游义务**:难度曲线与Boss×1(L2 行值——生效前提)· 数据配置×2(reseed 入口 / AdventureTable 建表)· 战斗结算×1(begin_battle 入参供给方转正)· 元进度×2(远)。**下一步 =(新会话)/design-review design/archive/gdd-2026-09-14/c2-adventure-structure.md → 关卡节点地图(设计顺序第 14 位,以 冒险结构 接口契约四件套为强制输入)**;solo 出稿待人工复核注记已入 GDD 头部。
44. **完美策略档测量批(2026-09-14,用户拍板"增加完美策略档测试验证"——OQ7 技能轴上界仪,零玩法数值变更)**:auto_player 增 single+subset 完美求解器(零盲挖/全标旗/卡死刷新,只读 排雷玩法 查询面、去 safe_set oracle)+ level_autoplay `policy` 参数 + level_monte_carlo 策略轴(CLI 第 3 参)与踩雷/刷新观测列(零踩雷断言 quit(1));core 零改动,冒烟 **149/149**。**读数(N=30,种子 4200–4229)**:0 加成完美档通关 **100%**、剩 HP 均 **47.4/50**、踩雷 0.00(弱策略基线 60%);+50%~+200% 恒 100% 满血——F5 带与 S/K 区间对技能轴零分辨力,calibration_gap 获机制解释与定量上界。**待拍板**:完美档目标带口径 + 杠杆(r_boss 走廊/群战/decay 0.6 + 新候选"上限掺运气"系:供给量值随机化/承伤硬地板);详情 = 切片 README「2026-09-14 完美策略档测量批」。
45. **伤害量值区间批(2026-09-14,用户拍板②——验收口径改完美策略档 0 加成 ≤40%;两步全落地 + 无效性实测)**:第一步奖励侧五行 power 区间化(heal_minor[2,6]/knife_t1[5,11]/heal_pack[6,18]/knife_adv[10,22]/clear_blast[25,55]——身份批追加取号,E14 快照口径不变,战斗结算/呈现零改动)+ 第二步敌方 atk 区间(六行 ±3,遭遇骰同流 spawn 期整战持久——每拍抖动否决〔数字可读性锚〕,敌人系统 零随机保持,spawn +1 参数接口漂移登记);中点恒等现值 = 行动经济 条款①锚不漂移;schema 双批校验(成对/中点锚/buff 禁止)+ smoke `_smoke_power_interval` 4 断言;冒烟 **154/154**。**实测(N=30)**:完美档 0 加成仍 **100%**(承伤 3.5→3.9——方差真实流动被 47/50 血缓冲全吞);基线档 17% 不变——**数值区间杠杆族对 ≤40% 线无效已坐实**(完美玩家结构性优势 = 零踩雷直伤 + weaken 顶格 + 快杀)。**待用户三选裁决(难度曲线与Boss OQ7 主项)**:①承伤硬地板(战斗结算/敌人系统)②weaken 饱和语义(增益状态/战斗结算——拆全标旗基石)③极端宽度(建议否决——毁基线与可读性);区间机制保留(普通玩家方差体验有效)。registry reward_table/enemy 条目 + clause5 义务 + 难度曲线与Boss 行值总表/F5/OQ7 同批登记。
46. **GDD 体系重构(2026-09-14,用户拍板批)**:旧 GDD 体系整体封存为 `design/archive/gdd-2026-09-14/`(只读参考、不作事实引用,两个 legacy 子目录不保留);`design/gdd/` 原位重建循环式新骨架——6 份顶层文档 + `systems/` 四循环(排雷/战斗/冒险/表现与支撑)20 份子系统占位文档,根索引 = `02-系统清单.md`(文档增删必须同步)。雾格已从设计中移除,地形变异未来范围只覆盖非雾变异(待定)。
47. **新骨架 00–05 成文 + 全仓旧路径清偿(2026-09-14,用户逐份审阅批)**:00 游戏概念 / 01 核心循环 / 03 内容规模 / 04 美术音频方向 / 05 不做清单 成文(子 agent 起草、用户审阅定稿,02 索引已随骨架建立);元进度外层循环补入 01——元进度资源定名**钥石**(关底 Boss 看守的区域核心,击杀取走、局外解锁永久提升,用户拍板;registry 登记随元进度设计批补)。**旧路径清偿**:CLAUDE.md 头部导航与 Project Layout 改指新骨架 + 新增「新骨架过渡口径」条款(lean/lint/两件套纪律仅约束归档,新骨架纪律 = 可读性优先 + 索引同步 + 不建 analysis);registry owner ×33 与切片代码头注 ×17 改指归档路径;gdd_lint PostToolUse 钩子停用(工具留 `tools/` 备查)。**已知待办**:registry/数据表雾残留清理批(variation.tres fog 行 / board_gen L2 锚行雾参数 / 显影尘·地穴全图卷 fog_reveal / L2 层名"雾漫巢径");registry status_effect.mvp_content 缺暴走/失衡两行登记。
48. **文档写作规范成文 + 引用纪律补入(2026-09-14)**:`docs/doc-conventions.md` v1 成文(另一会话,整合全部写作纪律为写文档前必读的单一权威),本会话补第 7 节「引用纪律」(单点定义/规范名唯一/引用不转述/反向边登记/删除概念 SOP,雾格事故为对照反例);CLAUDE.md 挂必读指针与摘要。同批:`systems/排雷循环/行动经济.md`(自归档迁移定稿)与 `systems/表现与支撑/教学引导.md`(范围草案)成文(另一会话)。
49. **命名清偿批(2026-09-15,用户拍板批)**:旧系统代号(a1–d6)全仓清偿为中文规范名——design/gdd(02-系统清单新增「中文规范名↔英文代号↔旧代号」对照表)/ux/art/research 全绿复扫;registry owner 改指新骨架文档 + 前缀键名改领域命名(minesweeper_/aux_/hud_/settlement_/reward_)+ 头部注记;本文件历史条目同步清偿。QA 四份 Closed BUG 记录删除(用户拍板);切片代码变量领域命名批(子 agent 执行,smoke/探针回归见批报);归档维持只读、后续随批删除。
50. **两批验收 + 收口批(2026-09-15,本会话)**:对 2026-09-15 两批(攻击/护甲命名统一 v0.5 + 攻击类型/奖励抽象分离 v0.6)做只读核对 + 文档层收口(零数值零机制改动;**不改 v0.7 文件**——战斗结算.md / 地图战斗资源.md 属 v0.7 格面资源批所有者、口径仍在移动,本批不动)。**核对**:9 项口径↔实现全闭合(charge_grants 键与值 / 甲效矩阵 9 格 / armor_type 三值 / hero_attack 分量字段 normal·pierce·magic / round_facts charge_counts·charge_points / 敌卡标签 / 明细行拆行文案 / 攻击类型定义不含来源 / 矩阵数值逐格不动);残留旧名扫描仅命中批次注记原名与历史观测记录(一处 playtest 注记"现名 charge_pierce"陈旧,已订正为 charge_counts/charge_points);来源-类型硬绑扫描确认代码只剩两处计数埋点(`_charge_counts["safe_cell"]` / `["flag_hit"]`)+ charge_grants 键 + 行 source_class 归因。**实跑**:冒烟 201 项 0 失败;四探针 exit=0 无 FAIL。**收口(③,落在 registry + README + 本文件,GDD 侧只报告不改)**:① 收益对照表充能当量覆盖缺口登记(候选口径 = Σ各桶点数 × 当轮目标护甲平均甲效倍率 ÷ 100,1 伤害 = 1 当量守条款①;补式 / 登记待拍板二选一待回填批);② 两处已知落差登记(charge_grants 触发源扩展 vs 切片两处埋点;safe_cell/flag_hit 跨命名空间同名);③ playtest 快照键注记订正。**口径移动注记**:本会话运行期间 **v0.7 格面资源批**已在 GDD(战斗结算 v0.7 / 地图战斗资源 v0.4)+ registry 落地(五段 / 10 行型 / 极性路由 / 可选类删除),切片代码未同步——registry 已注明"切片代码修改随新会话执行、指导已产出";本批核对结论针对 v0.5/v0.6 两批语义,v0.7 代码同步为独立后置批。
51. **概念封装纪律入规范(2026-09-15,用户提出)**:`docs/doc-conventions.md` v5 新增第 7 节「概念封装纪律(概念对象化建模)」——概念即对象 / 属性归属唯一 / 包含关系显式写 / 概念状态用枚举 / 附加物独立成对象 / 关系不吸内容;原 7/8/9 节顺延为 8/9/10,第 6 节骨架表与 CLAUDE.md 摘要的章节指针同步改指第 7、8 节。
52. **CLAUDE.md 瘦身重组(2026-09-15,用户拍板)**:定桩 = 只装全局元信息(栈/运行验证/目录)+ 硬性红线(原 Conventions 五条 + 评审隔离,D2 旧代号标注清除、出处承接于 architecture.md)+ 「规范导航」表(写代码前 / 写文档前两条必读门 + 设计/架构/引擎/registry/会话记录七行);文档写作规范巨型条目与代码规范摘要块整体下沉子文档(code-conventions.md 经逐条核对着实为超集,零信息丢失);同步活引用三处(code-conventions.md「硬性红线」节名 / architecture.md 命名行去 CLAUDE.md 指涉 / doc-conventions.md 地位声明改"只保留导航指针")。
53. **格面资源批 · 批 1 落地(2026-09-15,切片代码修改批——proposal 批 1 数据面 + 路由;设计权威 = 地图战斗资源 v0.4 / 战斗结算 v0.7 / 排雷玩法 v0.3 / registry 2026-09-15 条目)**:v0.7 口径的切片代码同步,active.md 50 条注记的"切片代码未同步"开口就此闭合。**数据面**:reward.tres/reward_table.gd 结构性重写(category/use_timing/库存/供给轴下线;cell_type 五型 × polarity 十行字典 + clear_blast;五型正负齐备/池空/percent 必填/flat power 校验族重写,blast 负向加层行 power 例外——伏击加层独立兑付形态);删 reward_supply_controller.gd + reward_config_table.gd + reward_config.tres 三件;status_effects.tres 六→七行(**sapped**:hero −25 percent dur1 max16 stack,hero_offense 池);settlement.tres 五段 [grant, buff_debuff, combat, decay, verdict] + sapped→hero_offense 收编 + source_label_map 删 item;config_db 跨表校验族重写。**路由面**:cell_revealed 字段 reward_eligible→resource(initial 恒 false / chain·dig 恒 true 含雷格——雷安同池);reward_economy 重写为纯身份面(roll_board 全非封锁格正向权重摇号 + 清图批尾 + 区间追加取号;query_identity {reward_id, cell_type, tier} 未开格恒可查;polarity_row 字典查询面;库存轴整族删除;grant/grant_clear 幂等保持);battle_orchestrator 授予段极性路由(开安全格/标中 = 正向、开雷格/标错 = 负向、撤旗零兑付语义保持;**删踩雷固定伏击/标中固定 weaken/标错三选一哈希三套旧兑付**;heal 负向 = 主角直伤 4 + 战斗段 hero 存活守卫致死短路;blast 负向 = ambush+2 层 cap4 溢出行协议不变;行型 15→10;充能 charge_grants 路径不动);共享 地图战斗资源/库存延续语义随库存删除收窄(战斗各持容器,层间延续 = HP only);**关卡奖励点悬置为直通节点**(内容归 关卡节点地图 定稿批——待拍板)。**呈现面**:删 inventory_panel_view(E 区)与道具窗口全链(五区→四区);battle_log_view 行型收窄 10 类;board_view 徽章键 category→cell_type(占位字形——类型图标/极性视觉归批 2);status_slot_row 补 sapped 键(七行全映射)。**smoke**:删 supply_scan 与窗口/库存断言族;新增极性路由(真实流逐格断言 + origin 指回来源格)/负向字典逐型直验/资源资格面(雷格携带 + 封锁格无资源)/五段全序 + 行型封闭/身份面幂等五段,201→**211 项 0 失败**(回放断言保持——同种子同意图步骤流逐行相同);reward_expectation 重写为类型频次测量(实测收敛 25.3/20.3/20.3/19.0/15.2% = 权重涌现值,封锁格泄漏 0);**顺手修** monte_carlo.gd 缺 AutoPlayer preload(HEAD 起即解析失败)。**验证**:冒烟 211/211;四探针(ui_probe/ui_tune_probe/ui_click_probe 双种子/ui_layout_probe)全 PASS;工具脚本回归零错误。**待拍板/批 2**:①关卡奖励点内容(关卡节点地图)②已开格类型徽章+极性视觉(纯呈现)③"剩余未探索安全区域"计数(切片现无该计数器——随批 2)。切片 README 同批登记。
54. **待拍板收编批 + 会话收口自动化(2026-09-16,用户拍板批,零代码零数值)**:① **新建顶层文档 `design/gdd/06-待拍板清单.md`**(四个循环 H2 + 系统小节,四列表:条目/现状与失义原因/建议归属/状态),收编全项目待拍板事项 **70 条** = 17 份系统文档「待拍板」表 60 + 散落 9(地形变异 3 / 棋盘生成 1 / 教学引导待设计问题清单 5)+ 元进度「待设计问题清单」补收 6(1 条并入"代币与钥石");合并跨文档重复 5(代币钥石两处 / 连锁批量溢出三处 / 文案定稿权 / 资源模型),护甲等级三连等 6 组近似条目互指保留不合并。17 份「待拍板」章节与元进度「待设计问题清单」缩为一句话指路存根,正文 33 处「见"待拍板"」引用靠存根重定向零改动;02-系统清单 顶层文档表补 06 行(v0.5);doc-conventions 第 8 节新增「待拍板单点登记」(新增条目直接登记清单、裁决后改状态列留痕不删行;v6)。子 agent 执行、主会话独立核验:存根下零残留表格行、清单 70 数据行与状态列逐一对账、全量链接 0 失效。**两处失效旧交叉引用按"迁移不改写"原样搬运待清理**(敌人系统"标错惩罚的数值"称排雷玩法已登记〔实已被其 v0.3 删除〕、难度曲线"速杀退化预警"称登记见地图战斗资源〔其表无此条〕)。② **会话收口自动化**:工作区 `.zcode/config.json` 启用钩子(`hooks.enabled: true`)——SessionStart 快照 + Stop 守卫两脚本(`.zcode/hooks/`):Stop 时工作区相对会话开始有改动(`git status --porcelain` 行哈希 + `git diff HEAD` 内容哈希双判据,后者覆盖"快照时已 M 文件再编辑"盲区)且 active.md 本会话未更新 → exit 2 阻止停止、经 stderr 注入登记提醒请求续跑(平台侧至多续跑 3 次,脚本侧每会话至多提醒 1 次;纯问答会话零打扰)。四场景手工测试通过。**测试期两起操作事故已核实无损**:清理命令误对 playnote.md 跑 `git checkout`(既有 M 经 VS Code 本地历史核实为纯 CRLF 差异、零内容损失)+ 测试命令 `git add -A docs/` 误暂存两路径(已精确 unstage、探针文件已删);纪律沉淀:清理只碰本批自己创建的文件。钩子自下一会话起生效。
55. **文档三补丁批(2026-09-16,06 清单第一类免拍板项闭环,零代码零数值)**:① 战斗表现 v0.2 新增「一屏样张的验收标准」(内容清单 + 五项按序判定 + 判定回退,四件锁定物过判口径落到 art-bible §1.4/§3.1/§4.1 与 battle.md 四区/双舞台已冻结口径上);② 战斗结算 v0.9 新增「呈现只读面」节——切片已实现的 presentation_snapshot / is_battle_live / query_reward_identity / settlement_snapshot / battle_finished 五件登记为对外契约(载荷字段、唯一读取出口纪律、诊断观测面非契约定位);③ 音频 v0.2 新增「临时音效的覆盖清单」(必覆盖五挂点 / 选配二 / 明确不覆盖二 + 切片验收口径),顺手修明细行型 15→10 陈旧两处(格面资源批漏同步)。06 清单三条改「已解决(2026-09-16)」留痕。
56. **06 清单改版批(2026-09-16,用户两点拍板,纯文档)**:① 术语——「待拍板」全仓改「待办」:清单 git mv 更名 06-待办清单.md;20 份系统文档存根节与正文引用、02-系统清单(v0.6 行)、doc-conventions(v7 行,第 8 节规则更名「待办单点登记」)、code-conventions、architecture、registry 活条目同步;版本历史行与 registry # 批注按「历史不改写」保留旧称。② 格式——清单由四列表格改为四循环 H2 + 系统 H3 + 每条事项 H4 + 粗体属性段(现状/归属/状态),70 条原样搬运(67 待办 + 3 已解决)。自检:条目数对账、旧文件名活引用清零、重叠文件(entities.yaml/难度曲线与Boss)diff 核对仅含本批改动;并行 AC 换装批的切片文件集未触碰未提交。
57. **护甲等级掷点批 · 定稿落地(2026-09-16,用户拍板"数字即规范"——切片代码 + 文档 + registry 同批,终局修复无伤通关根因)**:**判定式**:攻击结算掷 1d20,掷点 ≥ 防守方 AC + attack_bonus(结构位恒 0)→ 全额,低掷按缺口三档折扣(1-3→×0.75 · 4-7→×0.5 · 8+→×0.25,无零档);nat20 暴击该基础攻击分量 ×2 恒全额(双方同规);伤害下限全局 max(1,·)("被减伤归零 v=0"零值伤害行退役,重档行文本记"被压制");掷点只吃基础攻击分量(主角普通分量 / 敌方攻击与重击拍基线),穿刺/魔法充能与棋盘来源必中全额。**换装**:defense_up(减伤 −30% ×2)整行退役 → ac_up(护甲强化 +1 AC/层 ×2 层,unit=ac 新量纲、不入任何池);hero AC 10 / 敌方首关 0(暂定——正式行值归怪物设定批,新待办已登记);off_guard 与池结构零改动。**实现**:rng_service 增 armor_roll 流(salt 0xC2B2AE3D27D4EB2F,每次掷点恰一 scope,黄金向量 m=42 scope0=4806095330042243845);settlement.tres 七掷点参数(roll_faces/bounds[3,7]/discounts[75,50,25]/crit_roll/crit_multiplier/damage_floor/armor_roll_stream + attack_bonus)+ effect_pool_map 删 defense_up;hero/enemy 表 + armor_class 字段(域 [0,999]);battle_orchestrator 战斗段掷点判定 + damage_math 纯函数(roll_discount_percent / rolled_component)+ 伤害行随行 roll/ac/tier/crit 留档;presentation:英雄卡/敌人卡 AC 展示位、ac_up 状态槽图标◇、nat20 金框高亮行、开始页帮助文案表值驱动(顺手修 AP 8→6 遗留硬编码)。**验证**:冒烟 **233 项 0 失败**(+22:换装护栏〔defense_up 三处零残留 + 免伤墙护栏泛化〕+ 掷点行为面〔查档全掷点域 AC10/AC12 分布 + EV 锚 1575/2000=21.25% + nat20 种子扫描行为断言 + 池触底保底 1 + AC12 档位实际流动 + 棋盘必中〕);fresh 池攻击链回归改掷点口径;三探针 PASS;damage_probe/defense_scan(改 AC 口径)/monte_carlo 工具全通;真实种子逐行核算(seed 4200:roll5/AC11→×0.5→floor(4×1.75×0.6)=4 逐行归因;seed 23 nat20 暴击 24=6×(1+100%)×2);level_monte_carlo -- 30 4200 both:完美档 0/0 通关 **100%**(维持)、承伤 22.4→30.9(减伤墙 −60% 退役 + AC10 −21.25% 兑换净效果,零承伤轮结构性消失)、Boss 场 29.8%→36.0%(带 ≤50% 内)、盲挖档 7% 持平。**文档**:战斗结算 v0.10(掷点节定稿 + 调参表五参数 + 验收改写)/ 敌人系统 v0.4 / 难度曲线与Boss v0.5(换装点锚定:基准 AC10 自带约 −21% 敌方输出期望,与加难杠杆扫描合并调;带宽补扫含暴击档与折扣档)/ 增益状态 v0.4 / 地图战斗资源 v0.6 / 03-内容规模 / registry(rng_service 四流 + settlement ac 两字段定稿 + enemy/hero/reward_table/status_effect + 修订记录)/ 06-待办清单(三项 AC 条目改已裁决留痕 + 新增「敌方护甲等级正式行值」待办)。**已知口径注记**:批提案 EV 参考数 AC12=32.5% 与判定式复算 28.75% 不符,按判定式(规范)登记 28.75% 并在文档注明复算口径。
58. **美术素材管线拍板 + 主角样例批(2026-09-16,任务已收口)**:评估结论 = art-bible §1–4 足以支撑 §1.4 格子样张批,全套生产素材缺口 = §5 角色比例 / §8 资产规格(像素尺寸/格式/帧规范未成文,样张候选建议 32px,需拍板)。主角 DND 冒险者站姿像素样例经 PIL 脚本程序化生成(`design/art/samples/`:hero-standing-pose.png 32×48 + 四联测试条〔掩尘/裸土/暗底/灰度〕+ generate_hero_sample.py 字符画生成器;小人蓝主色 / 亮色描边 / 落影底盘 / 3 头身候选 / 对称剪影,art-bible 合规自检全过)。**用户评效不佳,拍板美术素材改走 ComfyUI 自行生成**——角色/场景插画级不再用脚本直出;脚本管线仅留给图标/格面/样张类精度约束资产(如立项);样例三件留存未删。合规校验义务不随管线转移:ComfyUI 出图仍按 art-bible §1.4 验收项(对比度/灰度可辨)做程序化校验。
60. **敌人技能池批落地(2026-09-16,用户拍板实施批——批 1+2+3 合并,设计权威 docs/proposal-skill-pool.md v1.0)**:确定性出招剧本(行为环)整体退役,改技能池 + 开轮摇号(behavior_roll 封闭流第五流 + 每敌子流派生向量 spawn_index×1000000+摇号序;独立抽签器 SkillLottery;两道闸 = 全技能各自冷却 + 保底 M=4;死亡作废不进账;拍结构保留)。**代码**:新增 skill_table.gd/skills.tres(五行 + pity_threshold)/skill_lottery.gd 三件;enemy.tres 六行 pattern→pool(9/1 · 6/2/2 · 6/2/2 provisional);status_effects 七→九行(empower/fortify——enemy_defense 敌方防御池新词汇);settlement.tres effect_pool_map 增两键;unit_container 重写(实例池/冷却/待发/保底);battle_orchestrator 开轮摇号编排 + 三乘法链 + 敌方防御池乘区;呈现替代(pending_* 三字段 + 敌卡动画位/环点拆除/施放行/状态键九行全映射);smoke 211→**263 项 0 失败** + 四探针全 PASS。**六项验收**:同种子回放逐位复现 ✓ / 单敌轨迹独立复放 ✓ / EV 抽样对锚 ✓(地精 1.1056〔保底闸抬升,登记难度曲线重锚〕/ 熊地精 0.9998 / 酋长 1.0236)/ 死亡打断作废 ✓ / 空池不可能 ✓ / 加载校验拒绝 ✓。**文档**:敌人系统 v0.5 / 战斗结算 v0.11 / 增益状态 v0.5(顺手清偿 sapped 文档漂移)/ 难度曲线与Boss v0.6 / 战斗表现 v0.3 / HUD框架 v0.4 / battle.md 改型注记 / registry(skill 新条目 + rng/enemy/status_effect/settlement 修订 + 术语七词条)/ 06-待办清单(改型"单拍行为环体验验证"、关闭"行为环废除与蓄力拍退役"、新增 P1 五项 + P2 图鉴)。**实现决策**:保底 M = 技能表全局字段;冷却时序 = 排除→递减(与提案口径可摇集合恒等);apply_effect duration_override 通道;敌方防御池乘区 = 主角攻击 Σ三分量后。**遗留登记**:hero_offense 池未并入主角攻击合计乘区(切片现状,归 ADR 批); RewardConfigTable 数据配置表清单残留(格面资源批遗留,非本批引入);AP6+AC 验收文档读数待技能池落地后另批重测(本批未动该文档)。