流程(登记): gdstyle存量债全量清偿条目——216键/60文件按病根分波整改(P0紧急,用户裁)——撤销总账/拆多条两案并单条登记,细则落清点报告reports/审计-gdstyle存量债清点与清偿方案-2026-10-26.md(口径与账目:基线登记234=实存216+陈旧18/gdstyle默认阈值表/波次方案波0基线对账刷新·波1battle_orchestrator拆件·波2数据校验族40键·波3结算管线·波4生成器族·波5伤害效果管线·波6呈现层构建函数族54键·波7结构小件·波8散条兜底40键·尾波三宿主残留/纪律六条:逐波独立卡零待裁点+行为零变化+真实入口验收+基线禁refresh换绿+PARITY触面对拍经批准+呈现golden锚+逐波写卡前重测读数;波次键数生成脚本实算断言202+规避14=216);规避迭代39三宿主(adventure_runner/level_runner/board_view已编主副卡禁触);吸收两旧条目删除=「gdstyle基线陈旧键待人工清理」并入波0+「结构审查未立项小件候审」并入波7(结构小件定点修卡v1.2停卡待裁随事项重裁);新条目状态待文档设计,改动面游戏代码+工具代码;pipeline_gate绿(56条目/39行/7链/15卡),文档域闸绿

This commit is contained in:
DKChan committed 2026-10-26 18:46:02 +08:00
1 parent 6c37cf014a
commit 6eae89d54e
2 files changed
+420 -20

No files matched your search

@@ -0,0 +1,404 @@
# gdstyle 存量债清点与清偿方案(2026-10-26)
- 性质:设计讨论段过程稿(登记支撑件)——待办清单条目「gdstyle 存量债全量清偿」的裁决源;结论被需求卡片吸收后本件按「吸收即死」退役。
- 清点时点:2026-10-26,master 分支 f3b148ce;工具 gdstyle v0.4.0(版本钉定),配置 `tools/gdstyle.toml`,扫描面 game/core/game/data/game/presentation 共 109 个 .gd。
- 优先级:P0(紧急)——2026-10-26 用户裁。
- 范围裁定:2026-10-26 用户裁——撤销「一条总账」与「按病根拆多条」两案,并入待办清单单条总账事项(存量债全部清除),细则落本报告;adventure_runner/level_runner/board_view 三宿主已编迭代 39,规避不重复整改。
## 一、口径与账目
S13 闸=「当前扫描 vs 基线对账」:判红仅两种——基线外新违规(NEW)、同键数值较登记值恶化(WORSENED);存量登记在案不判红(判据与键形态见 `tools/gdstyle_gate.py` 头注)。因此「债存在」与「闸绿」并行不悖:闸的职责是冻结债务不增长,清偿走迭代批。
账目(键=文件|规则|函数名 稳定身份键;同文件同规则多条命中合并取较大值):
- 基线登记 234 键 = 实存 216 + 陈旧 18(迭代 37 重构已消、键未清——原「gdstyle 基线陈旧键待人工清理」条目,本方案并入波 0)。
- 实存 216 键分布 60 个文件;阈值型 10 规则与缺陷型 4 规则有命中,其余 8 个在跑规则零命中。
- 阈值全部取 gdstyle 默认值(改阈值=基线口径变,须随批人工重生成基线):
| 规则 | 查什么 | 阈值 | 实存 |
|---|---|---|---|
| quality/max-function-length | 单个函数体行数 | ≤50 行 | 49 |
| quality/max-local-variables | 单函数局部变量数 | ≤10 | 46 |
| quality/max-branches | 单函数分支数 | ≤8 | 32 |
| quality/max-parameters | 函数参数个数 | ≤5 | 22 |
| quality/max-class-variables | 类成员变量数 | ≤15 | 18 |
| quality/max-returns | 函数 return 语句数 | ≤6 | 16 |
| quality/max-nesting-depth | 嵌套深度 | ≤4 层 | 12 |
| quality/max-public-methods | 类公开方法数 | ≤20 | 7 |
| quality/max-file-length | 文件总行数 | ≤1000 行 | 1 |
| quality/max-inner-classes | 文件内 inner class 数 | ≤5 | 0 |
| 缺陷型 4 条 | allocation-in-loop(循环内 .new())/no-debug-print(残留 print)/no-else-return/await-in-loop | 无阈值,命中即记 | 9 文件/2/1/1 |
## 二、规避清单(已处理事项,不在本事项范围)
- adventure_runner/level_runner/board_view 三宿主:已编迭代 39 主副卡(`reports/需求卡片-冒险域拆件与账本实体化批-2026-10-26.md` v1.2+`reports/需求卡片-同调配装充能域封装批-2026-10-26.md` v1.2),类变量改善目标 42→约20/38→约30/45→32 已写死卡内(三宿主实存债 14 键:adventure_runner 4/level_runner 4/board_view 6)。本事项全部波次禁触三宿主文件,防与迭代 39 批次冲突。
- 尾波回收:迭代 39 合回后三宿主必有残留债(拆件目标是职责拆分与计数改善,非清零),届时重新清点并入尾波处理。
## 三、清偿波次
原则:一波=一个病根=一张需求卡;每波独立走写卡→编排五段推进(工作量限制属迭代层非卡片层);波内文件即该卡改动面边界。键数为 2026-10-26 实测。
| 波 | 范围 | 键数 | 病根与做法方向 | 前置与注意 |
|---|---|---|---|---|
| 波0 | 基线对账刷新(`tools/gdstyle_baseline.txt`) | 18 陈旧键 | 人工 `--refresh` 一次清理陈旧键(原「gdstyle 基线陈旧键待人工清理」条目并入本波);随批处置 iter38 两条恶化(battle_orchestrator 行数 1314/1302、level_map_screen 类变量 22/21)——批准随批 refresh 则新水位挂账归波 1/波 6 清偿,或还债压回;处置权在用户 | 须在 iter38 合回后执行;骤降守卫 18/234≈7.7% 低于 10% 线,无需 --force |
| 波1 | battle_orchestrator | 22 | 22 条全库单文件最大户(文件 1302 行/类变量 50/begin_battle 141 行 17 分支等);按变化原因拆协作件(先例=AdventureRunner 真拆分 architecture v1.16 流程) | 前置=文档设计段闭合;文件在 PARITY_TOUCH_FACES——实跑对拍须经用户批准、不得借机重锚 |
| 波2 | meta_tree_table+treasure_item_table+board_gen_table+enemy_table+forge_table+level_gen_params+meta_table+reward_table+skill_table+variation_table+status_effect_table+config_db_cross_validator+config_db_resolver | 40 | 数据校验族同病根:validate()/cross_validate() 过长过分支(treasure_item 147 行 44 分支、enemy 116 行 32 分支、cross_validate 107 行 21 分支);方向=校验骨架抽取或按校验域拆函数 | fail-fast 契约与校验覆盖面零变化;断言面=现有 validate 系单测逐字保留 |
| 波3 | grant_segment+combat_segment+settlement_table | 12 | 结算管线:grant_segment run() 211 行/36 局部/33 分支(全库最大单函数)+_judge_seal 84 行;combat_segment run() 83 行 | settlement/ 在 PARITY_TOUCH_FACES——对拍须用户批准;结算数值与行型协议零触碰(iter38 卡④刚收敛) |
| 波4 | board_generator+node_map_generator | 17 | 生成器族:board_generator(measure_inferability 64 行 12 分支)+node_map_generator(validate_output 132 行 34 分支 22 局部) | 推理层生成正确性断言面在册;生成结果逐位零变化 |
| 波5 | damage_controller+effect_engine | 17 | 伤害与效果管线:damage_controller(_hero_attack_ctx/redeem 双超长、open_ticket 参数 12/5)+effect_engine(_cond_ok return 19/6、多余 else 一条) | 伤害数值与效果语义零触碰;effect_engine.validate_trigger_row 的文案计数修正随 iter38 卡③,写卡时核现行 |
| 波6 | camp_overlay_view+level_map_screen+board_cell_unit+standee_body+hero_info_panel_view+battle_end_overlay+debug_overlay+ui_assembler+battle_stage_view+curio_pick_overlay+settings_overlay+battle_log_view+curio_interact_controller+ap_bar_view+board_zone_view+board_fx_view+legend_overlay | 54 | 呈现层构建函数族同病根:_init/_build/_paint_cell/_draw 超长(camp_overlay _init 149 行 28 局部、board_cell_unit _draw 147 行 29 分支、_paint_cell 139 行 24 分支);循环内 new 多在本波 | 改前建 golden 基线或对拍 0.00%(先例=iter38 卡① level_map.png);对拍差异非零即红 |
| 波7 | 结构小件定点修(吸收原「结构审查未立项小件候审」条目) | —(审计来源,无 S13 计数) | 卡已写:`reports/需求卡片-结构小件定点修批-2026-10-26.md` v1.2(main 死变量与 confirm 旁路/settle_batch 空判/row_pacer 常驻 flush/_fatal assert 剥离/rng_service early-return 五件);iter38 卡②施工中途停卡呈报(wr5/wr6 验收载体与闸机错误扫描结构性互斥),改动已还原零提交 | 随本事项重裁验收载体后续用;卡内行号按合回后 master 重核 |
| 波8 | 散条兜底(19 文件) | 40 | 散条兜底:类级超标大户(config_db 公开方法 44、main 类变量 49、adventure_table 类变量 44、save_manager 公开方法 52)+参数族(curio_flow_context _init 16/5、hud_presenter 三件、unit_container spawn 10/5)+测量面(print 残留×2、循环内 await) | 测量面两件 print 是否留档豁免随批裁;散条可并卡也可零星随其他波搭车 |
| 尾波 | 三宿主残留 | 待清点 | iter39 合回后 adventure_runner/level_runner/board_view 残留债重新清点并入 | 前置=迭代 39 合回 |
合计核对:波 1–6+波 8=202 键+三宿主规避 14 键=216 键(断言在生成脚本内)。
## 四、纪律与额外要求
1. 五段流水线逐波走:每波独立需求卡(零待裁点)、独立编排;本条目只做登记与波次总账,不代替写卡段。
2. 验收铁规:每波行为零变化(结构整改不改游戏行为)+真实入口断言+撤销证明;禁删断言、禁放宽阈值换绿。
3. 基线纪律:禁为过闸改基线或 refresh 换绿;还债=数值下降自然绿;出现恶化=停卡呈报。波 0 是唯一一次经用户批准的 refresh。
4. MC/对拍:数值与 RNG 零触碰则 11 对拍不补跑;波 1/波 3 触 PARITY_TOUCH_FACES,实跑对拍须经用户批准、不得借机重锚。
5. 呈现零变化:波 6 触视图面,改前建 golden 基线(先例=iter38 卡① level_map.png),对拍差异非零即红。
6. 读数漂移:本清点基于 master f3b148ce;iter38 合回与后续批次会漂移读数——每波写卡前以当时 master 重新实测,禁按本附录行号直接施工。
## 五、附录:216 键全量清单(按文件,2026-10-26 实测)
读法:`现值/阈值`;「文件级」=类或文件维度超标,其余点名到函数。规避三宿主照列并标注,供尾波清点对账。
### game/core/battle_orchestrator.gd(22 条)
- 文件级 文件行数 **1314/1000**
- 文件级 类变量 **50/15**
- `_fx_fact()` return数 **7/6**
- `begin_battle()` 函数长度 **141/50**
- `begin_battle()` return数 **7/6**
- `begin_battle()` 分支 **17/8**
- `begin_battle()` 局部变量 **16/10**
- `_place_variants()` 函数长度 **52/50**
- `_place_variants()` 局部变量 **14/10**
- `_place_variants()` 嵌套 **6/4**
- `use_treasure()` 函数长度 **62/50**
- `use_treasure()` return数 **8/6**
- `use_treasure()` 分支 **18/8**
- `use_treasure()` 局部变量 **11/10**
- `_grant_routed()` 参数 **8/5**
- `_dispatch_row()` 参数 **6/5**
- `_apply_percent_row()` 参数 **6/5**
- `_apply_gp_row()` 参数 **6/5**
- `_apply_flat_row()` 参数 **7/5**
- `_apply_flat_row()` return数 **9/6**
- `_submit_flat_hero()` 参数 **7/5**
- `_emit_row()` 参数 **8/5**
### game/presentation/views/camp_overlay_view.gd(10 条)
- 文件级 类变量 **19/15**
- 文件级 循环内new
- `_init()` 函数长度 **149/50**
- `_init()` 局部变量 **28/10**
- `_rebuild_tree()` 函数长度 **61/50**
- `_rebuild_tree()` 局部变量 **21/10**
- `_rebuild_forge()` 函数长度 **72/50**
- `_rebuild_forge()` 局部变量 **20/10**
- `refresh_camp()` 函数长度 **61/50**
- `refresh_camp()` 局部变量 **17/10**
### game/core/damage_controller.gd(9 条)
- 文件级 类变量 **19/15**
- `open_ticket()` 参数 **12/5**
- `_hero_attack_ctx()` 函数长度 **61/50**
- `_hero_attack_ctx()` 分支 **9/8**
- `_hero_attack_ctx()` 局部变量 **16/10**
- `_hero_attack_redeem()` 函数长度 **54/50**
- `_hero_attack_redeem()` 分支 **10/8**
- `_hero_attack_redeem()` 局部变量 **12/10**
- `_resolve_enemy_skill()` 局部变量 **13/10**
### game/core/node_map_generator.gd(9 条)
- `check_params()` 分支 **12/8**
- `validate_output()` 函数长度 **132/50**
- `validate_output()` return数 **7/6**
- `validate_output()` 分支 **34/8**
- `validate_output()` 局部变量 **22/10**
- `_build()` 局部变量 **15/10**
- `_add_forks()` 局部变量 **12/10**
- `_assign_types()` 分支 **11/8**
- `_check_fork_rules()` 嵌套 **5/4**
### game/core/board_generator.gd(8 条)
- `generate()` 函数长度 **62/50**
- `generate()` 局部变量 **14/10**
- `_attempt()` 函数长度 **51/50**
- `measure_inferability()` 函数长度 **64/50**
- `measure_inferability()` 分支 **12/8**
- `measure_inferability()` 局部变量 **13/10**
- `measure_inferability()` 嵌套 **5/4**
- `_finalize()` 参数 **6/5**
### game/core/effect_engine.gd(8 条)
- 文件级 多余else
- `rebuild()` 函数长度 **55/50**
- `rebuild()` 嵌套 **5/4**
- `_cond_ok()` 函数长度 **52/50**
- `_cond_ok()` return数 **19/6**
- `_cond_ok()` 嵌套 **5/4**
- `validate_trigger_row()` 分支 **14/8**
- `validate_trigger_row()` 局部变量 **11/10**
### game/core/settlement/grant_segment.gd(8 条)
- `run()` 函数长度 **211/50**
- `run()` 分支 **33/8**
- `run()` 局部变量 **36/10**
- `run()` 嵌套 **6/4**
- `_judge_seal()` 函数长度 **84/50**
- `_judge_seal()` 分支 **14/8**
- `_judge_seal()` 局部变量 **11/10**
- `_judge_seal()` 嵌套 **6/4**
### game/presentation/views/board_view.gd(6 条)〔规避:迭代 39 三宿主〕
- 文件级 类变量 **45/15**
- 文件级 公开方法 **27/20**
- 文件级 循环内new
- `_paint_cell()` 函数长度 **139/50**
- `_paint_cell()` 分支 **24/8**
- `_paint_cell()` 局部变量 **22/10**
### game/presentation/views/level_map_screen.gd(6 条)
- 文件级 类变量 **22/15**
- `_init()` 函数长度 **135/50**
- `_init()` 局部变量 **21/10**
- `_draw_graph()` 函数长度 **78/50**
- `_draw_graph()` 分支 **9/8**
- `_draw_graph()` 局部变量 **27/10**
### game/core/config_db_cross_validator.gd(5 条)
- `cross_validate()` 函数长度 **107/50**
- `cross_validate()` 分支 **21/8**
- `cross_validate()` 局部变量 **24/10**
- `cross_validate()` 嵌套 **5/4**
- `validate_skill_pool_links()` 局部变量 **11/10**
### game/presentation/views/ui_kit.gd(5 条)
- 文件级 公开方法 **26/20**
- `beams_rect()` 局部变量 **13/10**
- `modal_shell()` 参数 **6/5**
- `_init()` 参数 **6/5**
- `bcard()` 参数 **6/5**
### game/core/adventure_runner.gd(4 条)〔规避:迭代 39 三宿主〕
- 文件级 类变量 **42/15**
- 文件级 公开方法 **23/20**
- `_apply_curio_pick()` return数 **9/6**
- `_apply_curio_pick()` 分支 **10/8**
### game/core/config_db_resolver.gd(4 条)
- `resolve_enemy_rowset()` 分支 **12/8**
- `_resolve_progress()` 函数长度 **52/50**
- `_resolve_progress()` 分支 **16/8**
- `_resolve_progress()` 局部变量 **11/10**
### game/core/level_runner.gd(4 条)〔规避:迭代 39 三宿主〕
- 文件级 类变量 **38/15**
- 文件级 公开方法 **54/20**
- `start_level_external()` 参数 **7/5**
- `_enter_node()` return数 **7/6**
### game/data/schemas/meta_tree_table.gd(4 条)
- `validate()` 函数长度 **86/50**
- `validate()` 分支 **26/8**
- `validate()` 局部变量 **13/10**
- `validate()` 嵌套 **5/4**
### game/data/schemas/treasure_item_table.gd(4 条)
- `validate()` 函数长度 **147/50**
- `validate()` 分支 **44/8**
- `validate()` 局部变量 **26/10**
- `validate()` 嵌套 **6/4**
### game/presentation/views/battle_end_overlay.gd(4 条)
- 文件级 类变量 **20/15**
- 文件级 循环内new
- `_init()` 函数长度 **81/50**
- `open_victory()` 参数 **8/5**
### game/presentation/views/battle_log_view.gd(4 条)
- `_format_row()` 函数长度 **68/50**
- `_format_row()` return数 **13/6**
- `_format_row()` 分支 **9/8**
- `_format_row()` 局部变量 **21/10**
### game/presentation/views/board_cell_unit.gd(4 条)
- 文件级 类变量 **31/15**
- `_draw()` 函数长度 **147/50**
- `_draw()` 分支 **29/8**
- `_draw()` 局部变量 **19/10**
### game/presentation/views/hero_info_panel_view.gd(4 条)
- 文件级 循环内new
- `_init()` 函数长度 **74/50**
- `set_treasure_inventory()` 函数长度 **57/50**
- `set_treasure_inventory()` 局部变量 **13/10**
### game/presentation/views/standee_body.gd(4 条)
- 文件级 类变量 **29/15**
- 文件级 循环内new
- `_draw()` 函数长度 **84/50**
- `_draw()` 局部变量 **26/10**
### game/core/reward_economy.gd(3 条)
- `roll_board()` 函数长度 **54/50**
- `roll_board()` 局部变量 **11/10**
- `_skewed_cell_rows()` 局部变量 **13/10**
### game/core/save_manager.gd(3 条)
- 文件级 公开方法 **52/20**
- `_peek_summary_at()` return数 **7/6**
- `load_from_disk()` return数 **8/6**
### game/core/status_container.gd(3 条)
- `apply_effect()` return数 **9/6**
- `apply_effect()` 嵌套 **5/4**
- `_new_instance()` 参数 **7/5**
### game/core/unit_container.gd(3 条)
- `spawn()` 函数长度 **81/50**
- `spawn()` 参数 **10/5**
- `spawn()` 局部变量 **17/10**
### game/data/schemas/board_gen_table.gd(3 条)
- `validate()` 函数长度 **67/50**
- `validate()` 分支 **20/8**
- `validate()` 局部变量 **16/10**
### game/data/schemas/enemy_table.gd(3 条)
- `validate()` 函数长度 **116/50**
- `validate()` 分支 **32/8**
- `validate()` 局部变量 **29/10**
### game/data/schemas/forge_table.gd(3 条)
- `validate()` 函数长度 **95/50**
- `validate()` 分支 **30/8**
- `validate()` 局部变量 **20/10**
### game/data/schemas/level_gen_params.gd(3 条)
- `validate()` 函数长度 **59/50**
- `validate()` 分支 **15/8**
- `validate()` 局部变量 **18/10**
### game/data/schemas/meta_table.gd(3 条)
- `validate()` 函数长度 **60/50**
- `validate()` 分支 **14/8**
- `validate()` 局部变量 **14/10**
### game/data/schemas/reward_table.gd(3 条)
- `validate()` 函数长度 **99/50**
- `validate()` 分支 **30/8**
- `validate()` 局部变量 **20/10**
### game/presentation/hud_presenter.gd(3 条)
- `refresh()` 参数 **8/5**
- `_refresh_out_of_battle()` 参数 **6/5**
- `tune_sim_report()` 参数 **10/5**
### game/presentation/tune_sim_controller.gd(3 条)
- 文件级 print残留
- 文件级 循环内await
- `run()` 局部变量 **11/10**
### game/presentation/ui_assembler.gd(3 条)
- 文件级 循环内new
- `build_start_overlay()` 函数长度 **83/50**
- `build_start_overlay()` 局部变量 **16/10**
### game/presentation/views/battle_stage_view.gd(3 条)
- 文件级 循环内new
- `_init()` 函数长度 **97/50**
- `_enemy_portrait_tex()` return数 **9/6**
### game/presentation/views/debug_overlay.gd(3 条)
- 文件级 类变量 **17/15**
- `_build()` 函数长度 **124/50**
- `_build()` 局部变量 **22/10**
### game/core/config_db.gd(2 条)
- 文件级 类变量 **25/15**
- 文件级 公开方法 **44/20**
### game/core/meta_progression.gd(2 条)
- 文件级 公开方法 **31/20**
- `tree_can_buy()` return数 **8/6**
### game/core/settlement/combat_segment.gd(2 条)
- `run()` 函数长度 **83/50**
- `run()` 局部变量 **13/10**
### game/core/treasure_items.gd(2 条)
- `validate_use()` 分支 **11/8**
- `validate_use()` 嵌套 **5/4**
### game/data/schemas/settlement_table.gd(2 条)
- 文件级 类变量 **18/15**
- `validate()` 分支 **16/8**
### game/data/schemas/skill_table.gd(2 条)
- `validate()` 函数长度 **80/50**
- `validate()` 分支 **29/8**
### game/data/schemas/variation_table.gd(2 条)
- `validate()` 函数长度 **58/50**
- `validate()` 分支 **20/8**
### game/presentation/curio_flow_context.gd(2 条)
- 文件级 类变量 **16/15**
- `_init()` 参数 **16/5**
### game/presentation/treasure_interact_controller.gd(2 条)
- `_init()` 参数 **7/5**
- `inventory_projection()` 局部变量 **11/10**
### game/presentation/views/curio_pick_overlay.gd(2 条)
- `_init()` 函数长度 **52/50**
- `_icon_for_id()` return数 **7/6**
### game/presentation/views/settings_overlay.gd(2 条)
- `_build()` 函数长度 **77/50**
- `_build()` 局部变量 **13/10**
### game/core/action_economy.gd(1 条)
- 文件级 类变量 **18/15**
### game/core/minesweeper_rules.gd(1 条)
- `_do_dig()` 函数长度 **53/50**
### game/data/schemas/adventure_table.gd(1 条)
- 文件级 类变量 **44/15**
### game/data/schemas/status_effect_table.gd(1 条)
- `validate()` 分支 **12/8**
### game/presentation/battle_narrator.gd(1 条)
- `bonus_card_text()` return数 **9/6**
### game/presentation/camp_flow_context.gd(1 条)
- `_init()` 参数 **12/5**
### game/presentation/curio_interact_controller.gd(1 条)
- 文件级 类变量 **18/15**
### game/presentation/main.gd(1 条)
- 文件级 类变量 **49/15**
### game/presentation/playtest_logger.gd(1 条)
- 文件级 print残留
### game/presentation/views/ap_bar_view.gd(1 条)
- `_init()` 函数长度 **69/50**
### game/presentation/views/board_fx_view.gd(1 条)
- 文件级 循环内new
### game/presentation/views/board_zone_view.gd(1 条)
- `_init()` 函数长度 **59/50**
### game/presentation/views/legend_overlay.gd(1 条)
- 文件级 循环内new
+16 -20
View File
@@ -2,6 +2,22 @@
本清单是流水线的唯一登记处:要做的事先在此登记一条,随流水线段推进改状态,做完整条删除;各系统文档的「待办」节只留一行指路存根,不再自建条目。条目格式(标题=登记元数据含可选优先级,正文=实况/缺口/改动面/状态四属性)与状态机以 [doc-conventions §12.1](design/engineering/doc-conventions.md) 为权威。
#### gdstyle 存量债全量清偿——216 键按病根分波整改(2026-10-26 登记,来源=会话提及,优先级=P0)
**实况**:S13 闸实测存量债 216 键/60 文件(2026-10-26,master f3b148ce,gdstyle v0.4.0 默认阈值;基线登记 234 键=实存 216+陈旧 18)。全量清单、波次方案与纪律见清点报告(本条目裁决源)。2026-10-26 用户裁:撤销「一条总账」与「按病根拆多条」两案,并为本条单账(存量债全部清除,紧急优先级);原「gdstyle 基线陈旧键待人工清理」条目并入波 0(基线对账刷新),原「结构审查未立项小件候审」条目并入波 7(卡已写、停卡待裁)。
关联文档清单:
- 清点报告 reports/审计-gdstyle存量债清点与清偿方案-2026-10-26.md(2026-10-26,216 键全量清单+波次方案+纪律)
- 需求卡片 reports/需求卡片-冒险域拆件与账本实体化批-2026-10-26.md v1.2(规避指向:三宿主债归此卡与姊妹副卡,本事项禁触,残留归尾波)
- 需求卡片 reports/需求卡片-同调配装充能域封装批-2026-10-26.md v1.2(同上规避指向)
- 需求卡片 reports/需求卡片-结构小件定点修批-2026-10-26.md v1.2(波 7 现成卡:iter38 卡②停卡退回上游,随本事项重裁验收载体)
**缺口**:波 1(battle_orchestrator 拆件)等结构类波次须先过文档设计段闭合才可写卡;逐波写卡前须按当时 master 重新实测读数(iter38 合回与后续批次漂移本清点数字)。
**改动面**:游戏代码+工具代码
**状态**:待文档设计
#### AdventureRunner 职责真拆分——三宿主共 25 条转发属性属 S13 计数迎合装置,须按变化原因重立协作件(2026-10-25 登记,来源=批次移交,优先级=P0)
**实况**:
@@ -42,26 +58,6 @@
**状态**:待文档设计
#### 结构审查未立项小件候审(2026-10-25 登记,来源=批次移交)
**实况**:证据=reports/审计-game代码结构审查-2026-10-24.md §三「其余小件」清单(2026-10-24 写卡会话未立项,随迭代 37 批后收尾移交本条)。六件:①level_map 视图直读/BFS;②main 死变量与 confirm 旁路;③settle_batch 空判;④row_pacer 常驻 flush;⑤_fatal assert 剥离;⑥rng_service early-return。逐件论证与行号址见该审计报告 §三(报告留档在册)。**2026-10-26 用户裁「全六件立项」**——审计原编号②③④⑤⑥五件立「结构小件定点修批」(行号已按迭代 37 拆件后重定位)、原①(level_map 三段)独立立卡;写卡会话实查增补:confirm 三处旁路现行址(main_overlay_flow.gd:88+main.gd:312/321)、p5 走 orchestrator 既有封印传导、p6 增可测违约回调;rng open_stream 同函数 master_seed<0 分支(:104-106)同款病根留 L3 停卡呈报通道。
关联文档清单:
- 需求卡片 reports/需求卡片-结构小件定点修批-2026-10-26.md(2026-10-26 v1.2,grilling 两轮复核(一轮附四应修+二轮附三应修均闭合),零待裁点;估时 ≈0.75d)
- 需求卡片 reports/需求卡片-levelmap装配越界与BFS缓存批-2026-10-26.md(2026-10-26 v1.2,grilling 两轮复核(一轮回炉两阻断闭合+二轮附一应修),零待裁点;估时 ≈0.75–1d——呈现零变化锚「改前建 level 屏 golden 基线」)
**改动面**:游戏代码
**状态**:已写卡+已编迭代 38
#### gdstyle 基线陈旧键待人工清理(2026-10-25 登记,来源=批次移交)
**实况**:证据=`tools/gdstyle_baseline.txt` 存量条目有不命中盘面的旧键——adventure_runner 的 `_draw_curio_candidates`/`resume_adventure`/`_start_current_level` 与 `_resume` 前族、level_runner 迁出函数名对应条目、board_view 已压回阈值内函数对应条目(迭代 37 卡②③④ 重构后函数已迁出或压回)。新键形态(文件|规则|函数名)下陈旧键无害,但属噪声。处置=下次人工发起 `--refresh` 时一并清掉(骤降守卫已内建于 refresh 路径,commit `37625317`)。发起时点由用户定。
**改动面**:工具代码
**状态**:待执行
#### 效果引擎校验文案计数错误——封闭事实词表数写死「9 项」实为 18(2026-10-25 登记,来源=审计发现)
**实况**:证据=reports/审计-game代码结构审查-2026-10-24.md §三 漂移清单第 5 条(原「架构与规范对齐批」条目⑦,该条目 2026-10-25 闭合删除、未决先迁本条):game/core/effect_engine.gd:360 校验报错文案「事实词汇封闭 9 项」实为 18 项——一行字符串修订,零行为变化。属游戏代码字符串修订,按改动四类走需求改动通道。**2026-10-25 写卡会话复核与裁点**:FACTS 实数=19(审计 18→今 19 两次漂移实证);同文件头注 :21-23 另有一处写死计数(EFFECT_KINDS 注释「类型实数 24」实为 32)一并治理;用户裁修法=动态取 FACTS.size()(不留死数);奖励节点承接包经裁点 P 乙迁出独立卡(同日新条目在册)。