写卡(迭代41两卡v1.2): 「拆分边界纪律(DDD/高内聚)」落卡——用户2026-10-28裁:任何拆分边界沿职责轴不沿阈值轴,迭代40实现所见凑阈值拆分不可再犯

①两卡新增红线契约——卡2契约7/卡3契约9:拆出单元须有职责语句+单一变化原因+集体身份(命不出名字、只能说「剩下的成员」的打包=凑计数袋,禁);「过阈值」只许作发现信号,作拆分动机即违规;拆不出内聚单元→停卡呈报走豁免/还债通道,禁硬拆凑绿;code-conventions §1.1为上位规约;两卡§8.3审计新增拆分边界抽检项+§9 L3增款

②卡3改法修正——u1类变量收拢由「14成员混装一袋」改按柜台子域拆件(树/锻造/同调/刷新与最近各成状态件,宿主6→9键照清,T1核查结果同步);u2补装饰域与图状态不混装;u3定名「单格绘制输入集」;u4演出计数与装配态可分则分组;接口块状态件形态注记补纪律——审查发现:六个inner class状态件的成员选取标准=「探针直读之外的剩余成员」打包,纯计数导向非领域导向,u1四柜台混装为最重例

③审查结论随卡在案——卡2逐项核对T1-T9拆分族与新件8全部有职责语句与集体身份(校验域/装载域/管线阶段/槽位文件域/存档内元进度数据域/三域容器/列族段),v1.2为确认性纪律零改法变更;卡3私有函数族按绘制元素拆属机械但无害,u13删16抄写成员持ctx/u20u21三束为良好去重;迭代40校准=battle_fx_host/reward_grant/settlement五段/orchestrator结构实读均领域内聚

④读数锚重锚(波0刷新d219dd3d后)——卡2完成定义「较216下降86」改「较T0实测基线168下降86」+契约3补波0批外刷新注记;卡3 S13读数「命中216/恶化2」改「基线168/恶化1」(battle_orchestrator行数已随迭代40归绿,实测1037=登记1037),完成定义与T5批末对拍WORSENED改0(level_map_screen由u2归绿吸收);architecture行号锚(:88/:89/:90/:126/:183/:311)经v1.22实核未漂移零改动;卡3估时+0.1d已含区间,编排在册13.15工作日口径不变;待办清单两卡描述行同步v1.2

⑤过程注记:子Agent两次派生均因工具路由无文件访问权阻塞(如实呈报,未产出),审查与落卡由主会话完成
This commit is contained in:
DKChan committed 2026-10-28 06:34:39 +08:00
1 parent 9b0112684d
commit 1e256b01a8
3 files changed
+24 -20

No files matched your search

@@ -1,6 +1,6 @@
# 需求卡片:呈现层结构收敛批(gdstyle 存量债清偿·波 6+波 8 呈现侧——视图内部拆私有函数+工厂/参数面收敛+类变量全清)
- 版本:**v1.1**(v1.0 自审六查+grilling 一轮记录见 §12;v1.1 = 2026-10-27 用户裁决四条款折入——全清口径取代残留申报+print 删除落死+main/await 两键架构豁免,自审与 grilling 二轮记录同 §12 末段)
- 版本:**v1.2**(v1.1 = 2026-10-27 用户裁决四条款折入——全清口径取代残留申报+print 删除落死+main/await 两键架构豁免;v1.2 = 2026-10-28 用户裁「拆分边界纪律(DDD/高内聚)」落卡——新增契约 9+u1 子域拆件改法+状态件职责语句义务+审计⑨+L3 增款+读数锚重锚〔基线 216→168、恶化 2→1,随波 0 刷新 d219dd3d 与迭代 40 归绿〕;自审与 grilling 记录见 §12)
- 来源:[待办清单](../待办清单.md)「gdstyle 存量债全量清偿——216 键按病根分波整改」条目(2026-10-26 登记,P0,状态=文档设计已闭合+待写卡)——**需求性工程条目,证据指认形态**(唯一事实源:[审计-gdstyle存量债清点与清偿方案-2026-10-26.md](审计-gdstyle存量债清点与清偿方案-2026-10-26.md) §六第 3 条〔波 6 视图内部拆私有函数、不拆构建步件〕+第 7 条〔归并裁定:本卡=波 6(54 键/17 文件)+波 8 呈现侧 8 文件(17 键)=71 键〕);设计段裁定=纯代码内部收敛、**零设计改动**
- 归属:`game/presentation/` 25 文件(波 6 十七件+波 8 呈现侧八件)+消费面随动改址(§7 结构图注记;v1.1 增 board_view 写入行随动,见 §0);treasure_interact_controller 已移卡 1(B1 战斗域拆件批),不在本卡
- 排期:未编入(迭代批卡片;估时 ≈5.0–5.5 个工作日,估 ≈5.3d)
@@ -21,10 +21,10 @@
| # | 单元(文件) | 现行键(值/阈值) | 改法 |
|---|---|---|---|
| u1 | camp_overlay_view.gd | 类变量 19/15;循环内 new×7;_init 149 行 28 局部(:42);_rebuild_tree 61 行 21 局部(:222);_rebuild_forge 72 行 20 局部(:301);refresh_camp 61 行 17 局部(:386) | _init 拆四柜台构建私有族;_rebuild_*/refresh_camp 拆行板构建私有族;循环体提行板构建私有函数;**类变量收拢(v1.1)**:探针冻结 5 成员(S17)保持宿主,其余 14 个(_tree_holder/_forge_lock_l/_forge_workbench/_forge_zone_weapon/_forge_zone_armor/_forge_rows/_ws_scroll/_ws_lock_l/_attune_header_l/_attune_btns/_attune_nodes/_refresh_l/_refresh_btn/_recent_list)收进内部状态件 → 宿主 6 |
| u2 | level_map_screen.gd | **类变量 22/15(基线登记 21——iter38 恶化债 c4c69701,本卡归绿义务)**;_init 135 行 21 局部(:58);_draw_graph 78 行 9 分支 27 局部(:423) | _init 拆构建私有族;_draw_graph 拆绘制私有族(节点/通道/底栏);**类变量收拢(v1.1)**:探针冻结 6 成员(S17:_cand_ids/_hover_id/_content_size/_layout_cache/abandon_btn/status_badge)保持宿主,其余 16 个收进内部状态件(_node_icons/_noise_rect/_tint_level 三件在状态件内持 `_layer_decor` 域字典,装饰域归并形态随迁)→ 宿主 7;恶化债归绿被 ≤15 吸收(键消失) |
| u3 | board_cell_unit.gd | 类变量 31/15;_draw 147 行 29 分支 19 局部(:135) | _draw 拆绘制私有族(底面/接触带/数字徽标/封印/高亮/点迹各域);**类变量收拢(v1.1)**:探针直读 4 成员(glyph/fog_state/plate/glyph_color)保持宿主,board_view 直写 26 成员收进内部状态件、board_view 写入行随动改址(约 40 行 `u.X =` → `u.st.X =`,机械改址零语义——S17 实查:31 成员中 30 个被 board_view 直写 47 行,本件为被动绘制壳,全清唯一路径=写入行随动)→ 宿主 6(4 冻结+_glow_layer+状态件) |
| u4 | standee_body.gd | 类变量 29/15;循环内 new×2(:268/:296);_draw 84 行 26 局部(:414) | _draw 拆绘制私有族(立绘/血条/意图/护甲徽标/顺位徽标);循环体提私有构建函数;**类变量收拢(v1.1)**:外部直访 4 成员(box/font/slot_row/has_world_hp_bar——battle_stage_view 直写 :122/:180/:214/:268、fx_probe/ui_probe 直读,S17)保持宿主,其余 25 个收进内部状态件(含 _death_shards/_hit_sparks/_flash_count 三探针出口计数——经 fx_probe() 方法出口,随迁方法读点)→ 宿主 5 |
| u1 | camp_overlay_view.gd | 类变量 19/15;循环内 new×7;_init 149 行 28 局部(:42);_rebuild_tree 61 行 21 局部(:222);_rebuild_forge 72 行 20 局部(:301);refresh_camp 61 行 17 局部(:386) | _init 拆四柜台构建私有族;_rebuild_*/refresh_camp 拆行板构建私有族;循环体提行板构建私有函数;**类变量收拢(v1.2 改法=按柜台子域拆件,禁四柜台混装一袋)**:探针冻结 5 成员(S17)保持宿主,其余 14 个按子域分组各成状态件——树域(_tree_holder)/锻造域(_forge_lock_l/_forge_workbench/_forge_zone_weapon/_forge_zone_armor/_forge_rows/_ws_scroll/_ws_lock_l)/同调域(_attune_header_l/_attune_btns/_attune_nodes)/刷新与最近域(_refresh_l/_refresh_btn/_recent_list),每件一句职责语句(分组微调属代拍板白名单,契约 9)→ 宿主=冻结 5+子域件 4=9(键照清) |
| u2 | level_map_screen.gd | **类变量 22/15(基线登记 21——iter38 恶化债 c4c69701,本卡归绿义务)**;_init 135 行 21 局部(:58);_draw_graph 78 行 9 分支 27 局部(:423) | _init 拆构建私有族;_draw_graph 拆绘制私有族(节点/通道/底栏);**类变量收拢(v1.1)**:探针冻结 6 成员(S17:_cand_ids/_hover_id/_content_size/_layout_cache/abandon_btn/status_badge)保持宿主,其余 16 个收进内部状态件(_node_icons/_noise_rect/_tint_level 三件在状态件内持 `_layer_decor` 域字典,装饰域归并形态随迁)→ 宿主 7;恶化债归绿被 ≤15 吸收(键消失);状态件须有职责语句、装饰域与图状态跨子域不混装(契约 9) |
| u3 | board_cell_unit.gd | 类变量 31/15;_draw 147 行 29 分支 19 局部(:135) | _draw 拆绘制私有族(底面/接触带/数字徽标/封印/高亮/点迹各域);**类变量收拢(v1.1)**:探针直读 4 成员(glyph/fog_state/plate/glyph_color)保持宿主,board_view 直写 26 成员收进内部状态件、board_view 写入行随动改址(约 40 行 `u.X =` → `u.st.X =`,机械改址零语义——S17 实查:31 成员中 30 个被 board_view 直写 47 行,本件为被动绘制壳,全清唯一路径=写入行随动;状态件职责语句=「单格绘制输入集」——被动绘制壳的全部绘制入参,单一变化原因成立〔契约 9 预检〕)→ 宿主 6(4 冻结+_glow_layer+状态件) |
| u4 | standee_body.gd | 类变量 29/15;循环内 new×2(:268/:296);_draw 84 行 26 局部(:414) | _draw 拆绘制私有族(立绘/血条/意图/护甲徽标/顺位徽标);循环体提私有构建函数;**类变量收拢(v1.1)**:外部直访 4 成员(box/font/slot_row/has_world_hp_bar——battle_stage_view 直写 :122/:180/:214/:268、fx_probe/ui_probe 直读,S17)保持宿主,其余 25 个收进内部状态件(含 _death_shards/_hit_sparks/_flash_count 三探针出口计数——经 fx_probe() 方法出口,随迁方法读点)——演出计数与装配态可分则按子域分组,整件收拢须给「站桩演出状态」职责语句并核单一变化原因(契约 9)→ 宿主 5 |
| u5 | hero_info_panel_view.gd | 循环内 new×2(:55/:189);_init 74 行(:24);set_treasure_inventory 57 行 13 局部(:162) | _init 拆段构建私有族;槽位循环体提私有构建函数 |
| u6 | battle_end_overlay.gd | 类变量 20/15;循环内 new×4(:222/:251/:271/:303);_init 81 行(:31);open_victory 参数 8/5(:116) | _init 拆行板构建私有族;循环体提私有构建函数;open_victory 可选尾参收拢 opts 字典(4 参);**类变量收拢(v1.1)**:探针直读 4 成员(_btn/_gp_name/_gp_row/_gp_val,S17)保持宿主,其余 16 个收进内部状态件 → 宿主 5 |
| u7 | debug_overlay.gd | 类变量 17/15;_build 124 行 22 局部(:153) | _build 拆五区块构建私有族(探针直引公开面逐字保留);**类变量收拢(v1.1)**:探针直读 3 成员(seed_edit/_sim_btn/_dbg_btn,S17)保持宿主,其余 14 个收进内部状态件(_run_data/_run_labels 经 run_data_probe()/update_run_data() 方法出口,随迁方法读点)→ 宿主 4 |
@@ -48,7 +48,7 @@
| u25 | main.gd | 类变量 49/15 | **架构豁免(v1.1)**:组合根类变量面=探针契约面(约 46 句柄被探针挂载假设钉死),v1.19「呈现层装配与会话生命周期」节 S13 豁免登记在册——**键永久基线内、禁再恶化;禁收拢 main 句柄、禁为清键改写探针挂载契约**。卡内任务=核对注记在位(v1.19 :183)+实现报告申报豁免状态(依据指针 v1.19);死成员清点删除任务随豁免取消(类变量面冻结) |
**完成定义**:
1. u1–u25 落地;`python tools/gdstyle_gate.py` 读数:**基线外新违规(NEW)=0**;**恶化(WORSENED)=1 条且仅为 battle_orchestrator 行数(卡 1 义务,不归本卡)**;**71 键=69 键清零+2 键豁免**(main 类变量、tune_sim 循环内 await——v1.19 两处豁免登记段在册,键永久基线内;§8.4 账目)。
1. u1–u25 落地;`python tools/gdstyle_gate.py` 读数:**基线外新违规(NEW)=0**;**恶化(WORSENED)=0**(开工时点唯一在册红 level_map_screen 类变量由 u2 归绿吸收;battle_orchestrator 行数已随迭代 40 归绿——v1.2 重锚);**71 键=69 键清零+2 键豁免**(main 类变量、tune_sim 循环内 await——v1.19 两处豁免登记段在册,键永久基线内;§8.4 账目)。
2. 呈现逐像素零变化:§7 T0 建锚面(甲/乙/丙三组)改后对拍全 0.00%。
3. 现役全套断言面绿:探针面(含源码锚字面量契约)与单元/集成套件零红、零删改(契约 5)。
4. 撤销证明逐行落地(§8 对照表末列);三份产出物写齐(T5,含豁免两键申报件);独立验收审计过。
@@ -66,7 +66,7 @@
## 3. 现状事实(2026-10-27 写卡会话实测于 master 8b146321;开工日 T0 复核行号)
**S13 读数**(`python tools/gdstyle_gate.py`):命中 216 条/基线内 216/基线外新违规 0/恶化 2(battle_orchestrator 文件行数 1314>1302=卡 1 义务;level_map_screen 类变量 22>21=**本卡还债义务**,iter38 卡① _layout_cache 缓存成员特批带红挂账 c4c69701)。25 文件逐文件读数见 §1 改动单元清单(gdstyle v0.4.0 实测,与清点报告 §五 2026-10-26 读数逐条吻合、行号为本次实测)。
**S13 读数**(v1.2 重锚——波 0 刷新 git d219dd3d 后基线 168 键):基线外新违规 0/恶化 1(level_map_screen 类变量 22>21=**本卡还债义务**,iter38 卡① _layout_cache 缓存成员特批带红挂账 c4c69701;battle_orchestrator 行数红已随迭代 40 卡①还债归绿——实测 1037=登记 1037)。25 文件逐文件读数见 §1 改动单元清单(gdstyle v0.4.0 实测,与清点报告 §五 2026-10-26 读数逐条吻合、行号为本次实测)。
**探针与测试直引面**(重构冻结面,逐条实测;v1.1 补全收拢件冻结成员——S17):
@@ -108,6 +108,8 @@
🔴 **契约 8 · 豁免键零重构**:tune_sim 测速循环(:65 逐帧 await)**禁重构**(D6——wall-clock 步进承载语义,重构即测量口径漂移);main 句柄面禁收拢(契约 3)。豁免键在实现报告各申报一行(键值/依据指针 v1.19 段名/禁再恶化注记)。
🔴 **契约 9 · 拆分边界纪律(DDD/高内聚,2026-10-28 用户裁)**:一切拆分(私有函数族/内部状态件/参数束)的边界沿职责轴、不沿阈值轴——①每个拆出单元须有可陈述的职责语句(实现报告逐件一行)与单一变化原因;②内部状态件须有集体身份:成员共同表达一个可命名的领域概念,**禁跨子域混装**(u1 四柜台子域为硬例——树/锻造/同调/刷新各成状态件);「探针直读之外剩下的成员」打包=凑计数袋,禁;③「过阈值」只许作为发现信号,作为收拢动机即违规;④某视图按本条拆不出内聚单元 → 该键不强清:停卡呈报走豁免/还债通道(main.gd 同款架构豁免登记),禁硬拆凑绿;⑤私有函数族边界沿绘制/构建域(底面/徽标/封印等既判分组为准),无域可循的长函数拆分停卡呈报。code-conventions §1.1 为上位规约。
## 5. 范围边界
**做**:u1–u25;消费面随动改址(§7 结构图注记行;含 board_view 写入行机械随动——u3 全清必要执行面);T0 锚面采集;撤销证明;产出物(含豁免申报件)。
@@ -178,7 +180,7 @@
**内部状态件形态(v1.1 收拢件统一形,u1/u2/u3/u4/u6/u7 取用)**:
```gdscript
# 宿主文件内嵌套声明(零新文件——契约 6);探针/外部直访冻结成员(S17)住宿主,不进状态件
# 宿主文件内嵌套声明(零新文件——契约 6);探针/外部直访冻结成员(S17)住宿主,不进状态件;状态件须有职责语句+单一子域(契约 9,跨子域混装禁)
class _DrawState extends RefCounted:
var glyph_col := UiKit.INK # 纯状态数据成员逐个迁入(命名随宿主原成员)
# 宿主侧:
@@ -254,7 +256,7 @@ func _init(db_ref, views: Dictionary, getters: Dictionary, flow: Dictionary) ->
### T1 营地与地图面拆分(≈1.6d)
- [ ] u1 camp_overlay_view:_init 拆四柜台构建私有族、_rebuild_tree/_rebuild_forge/refresh_camp 拆行板构建私有族、七处循环体提私有构建函数;**类变量收拢**——冻结 5 成员保持(S17 ①),其余 14 个迁 `_CampState` inner class、宿主读点改 st.X;源码锚句(S2 两组)整行原样保留。可核查结果:gdstyle 单文件复扫该文件键全清(类变量 6/15 键消失);ui_struct camp 源扫描绿;theme camp 三锚绿;camp 乙组帧对拍 0.00%。
- [ ] u1 camp_overlay_view:_init 拆四柜台构建私有族、_rebuild_tree/_rebuild_forge/refresh_camp 拆行板构建私有族、七处循环体提私有构建函数;**类变量收拢**——冻结 5 成员保持(S17 ①),其余 14 个迁 `_CampState` inner class、宿主读点改 st.X;源码锚句(S2 两组)整行原样保留。可核查结果:gdstyle 单文件复扫该文件键全清(类变量 9/15 键消失——子域件形 v1.2);ui_struct camp 源扫描绿;theme camp 三锚绿;camp 乙组帧对拍 0.00%。
- [ ] u2 level_map_screen:_init/_draw_graph 拆私有族;**类变量收拢**——冻结 6 成员+状态件保持(S17 ②),其余 16 个迁 `_MapState`(_node_icons/_noise_rect/_tint_level 在状态件内持 `_layer_decor` 域字典);S16 冻结成员与 layout_probe/display_probe 行为逐字不变。可核查结果:单文件复扫类变量 ≤15(键消失,恶化债归绿被吸收);level_map_info_fog_test 全绿(V1/V2 缓存断言继承);level_map golden 对拍 0.00%。
- [ ] u3 board_cell_unit:_draw 拆绘制私有族;**类变量收拢**——探针直读 4 成员+_glow_layer+状态件保持(S17 ③),board_view 直写 26 成员迁 `_CellPaintState`、board_view 写入行机械改址约 40 行(`u.X =` → `u.st.X =`,逐行对照 T0 直写清单,等价形禁改语义)。可核查结果:单文件复扫类变量 6/15 键消失+函数级键全清;board_view 随动行 grep 对账(改址行数=清单行数);棋盘三图 golden 0.00%(甲组);ui_input/player_copy 直读面回归绿。
- [ ] u4 standee_body:_draw 拆绘制私有族、循环体提私有构建函数;**类变量收拢**——外部直访 4 成员保持(S17 ④),其余 25 个迁 `_StandeeState`(fx 出口三计数随迁,fx_probe() 方法体读点改 st.X、返回键名零变化);standee 源锚四句(S6)逐字保留。可核查结果:单文件复扫键全清(类变量 5/15 键消失);standee_fx_sweep_test+fx_probe+theme 源锚段绿。
@@ -285,11 +287,11 @@ func _init(db_ref, views: Dictionary, getters: Dictionary, flow: Dictionary) ->
### T5 撤销证明+产出物落位卡(≈0.45d,末卡)
- [ ] 逐 wr 行撤销证明(§8.1 末列——读数对拍类:回退该文件 hunk→对照 T0 读数表该文件键读数回升=红→还原复绿;消费面迁移类:回退生产 hunk→随动消费方调用断红=更强证明;print 类:回退→源码 grep 命中=红;随动改址类〔board_view〕:回退改址 hunk→board_view 写入行对迁出成员断红)。记录进实现报告。
- [ ] S13 批末读数对拍:gate 输出 NEW=0、WORSENED 仅 battle_orchestrator 一条、**71 键账目对账(§8.4)逐键核对=69 键消失+2 键豁免在册**(main 49/15、tune_sim await——两申报行落位)。可核查结果:读数对拍表+豁免申报对账进实现报告。
- [ ] S13 批末读数对拍:gate 输出 NEW=0、WORSENED=0(开工时唯一在册红 level_map_screen 类变量由 u2 归绿吸收——v1.2 重锚)、**71 键账目对账(§8.4)逐键核对=69 键消失+2 键豁免在册**(main 49/15、tune_sim await——两申报行落位)。可核查结果:读数对拍表+豁免申报对账进实现报告。
- [ ] 写齐三份产出物(实现报告〔各卡状态+读数对照+豁免两键申报行+实机目检总清单——乙组三屏与丙组四态实机开合目检登记(登记不阻塞)〕/代拍板追认单/反哺点清单〔§6 逐条落点〕);临时抓帧脚本与丙组过程帧按中间产物纪律退役。
- [ ] 合并前置:独立验收审计(§8.3)逐行「通过」。
**估时合计 ≈5.3d**(区间 5.0–5.5;v1.0 ≈4.0d 上调 ≈1.3d——收拢增量明细:u1/u2/u4 各 ≈0.15d+u3 收拢与 board_view 随动改址 ≈0.25d+u6/u7 各 ≈0.12d+u13 束注入改址 ≈0.2d+print 删除与豁免申报 ≈0.1d;超软盒预挂=iter39 先行合回致行号重定位面扩大时 T0 +0.2d)。
**估时合计 ≈5.3d**(区间 5.0–5.5;v1.2 子域拆件增量 ≈+0.1d 已含区间内;v1.0 ≈4.0d 上调 ≈1.3d——收拢增量明细:u1/u2/u4 各 ≈0.15d+u3 收拢与 board_view 随动改址 ≈0.25d+u6/u7 各 ≈0.12d+u13 束注入改址 ≈0.2d+print 删除与豁免申报 ≈0.1d;超软盒预挂=iter39 先行合回致行号重定位面扩大时 T0 +0.2d)。
## 8. 验证闸
@@ -332,7 +334,7 @@ func _init(db_ref, views: Dictionary, getters: Dictionary, flow: Dictionary) ->
### 8.3 独立验收审计
入口=未参与实现的会话或子代理;报告落 `reports/iter<N>-验收审计-<日期>.md`;抽查重点=①T0 时点铁序(锚面采集先于码改——git 提交序核)②golden 对拍读数复现(抽 3 锚直跑)③S13 读数对拍表逐键复核+基线文件 git diff 零变化+**71=69 清+2 豁免账目复核(豁免两键依据指针 v1.19 段名在册)**④源码锚字面量契约抽检(S2/S6/S7/S9)⑤撤销证明抽两条复现⑥探针直引 46 名+S17 冻结成员零迁移抽检⑦**board_view 随动改址抽 5 行复核(等价机械形、零语义漂移)**⑧main.gd git diff 为空+await 行零触碰复核。未过不得合并。
入口=未参与实现的会话或子代理;报告落 `reports/iter<N>-验收审计-<日期>.md`;抽查重点=①T0 时点铁序(锚面采集先于码改——git 提交序核)②golden 对拍读数复现(抽 3 锚直跑)③S13 读数对拍表逐键复核+基线文件 git diff 零变化+**71=69 清+2 豁免账目复核(豁免两键依据指针 v1.19 段名在册)**④源码锚字面量契约抽检(S2/S6/S7/S9)⑤撤销证明抽两条复现⑥探针直引 46 名+S17 冻结成员零迁移抽检⑦**board_view 随动改址抽 5 行复核(等价机械形、零语义漂移)**⑧main.gd git diff 为空+await 行零触碰复核⑨拆分边界抽检(契约 9:各状态件/私有函数族职责语句逐件在案、u1 子域分组核对,跨子域混装或凑计数袋即红)。未过不得合并。
### 8.4 S13 账目(71 键=69 清+2 豁免,v1.1 全清口径)
@@ -346,7 +348,7 @@ func _init(db_ref, views: Dictionary, getters: Dictionary, flow: Dictionary) ->
- **L1(自救)**:行号漂移(T0 复核自吸收);私有函数命名、inner class 状态件命名与注释措辞;对拍帧采集的等价实现形态(探针帧直拷 vs 临时脚本)。
- **L2(记录继续)**:乙组 battle 帧跨跑次非 0.00% 降级丙组(判定记录写明);消费面随动改址的单行等价写法(含 board_view 写入行 `u.st.X =` 等价形);读数改善幅度与预估偏差(非清键义务单元);u4 fx 出口计数随迁后 fx_probe() 返回键序变化(键名零变化前提下)。
- **L3(停机呈报)**:任何 golden 对拍差异非零(契约 1);探针直引面/源码锚契约与拆分或收拢互斥(契约 2——S17 冻结成员被误迁状态件即属此);board_view 改址遇非机械点(写入行与读取交织/条件内联——契约 7);main 句柄面出现任何改动企图、测速循环重构企图(契约 3/8);机检键与契约互斥(契约 4);拆分或收拢产生基线外新违规且不可在阈值内消化(契约 4);发现收编清单外同病根新键(禁扩面——呈报由用户裁);**逐文件实查发现触碰 owner 契约/GDD 陈述**(D5——停笔呈报,禁内联求裁);豁免注记(v1.19 两段)缺位或段名漂移(T0 核对不通过)。
- **L3(停机呈报)**:任何 golden 对拍差异非零(契约 1);探针直引面/源码锚契约与拆分或收拢互斥(契约 2——S17 冻结成员被误迁状态件即属此);board_view 改址遇非机械点(写入行与读取交织/条件内联——契约 7);main 句柄面出现任何改动企图、测速循环重构企图(契约 3/8);机检键与契约互斥(契约 4);拆分或收拢产生基线外新违规且不可在阈值内消化(契约 4);发现收编清单外同病根新键(禁扩面——呈报由用户裁);**逐文件实查发现触碰 owner 契约/GDD 陈述**(D5——停笔呈报,禁内联求裁);豁免注记(v1.19 两段)缺位或段名漂移(T0 核对不通过);拆分边界无职责语句可陈述/状态件跨子域混装/凑计数袋(契约 9——停卡呈报走豁免/还债通道)。
## 10. 代拍板白名单(超清单必呈报)
@@ -1,6 +1,6 @@
# 需求卡片:核心数据面结构收敛批(gdstyle 存量债清偿·卡 2——数据校验族/生成器族/效果引擎/core-data 散条 86 键)
- 版本:**v1.1**(写卡段修订成文——2026-10-27 用户全清裁决四项折入+拆件面实查补全;自审六查与 grilling 自检一轮记录见 §12)
- 版本:**v1.2**(v1.1=2026-10-27 用户全清裁决四项折入+拆件面实查补全;v1.2=2026-10-28 用户裁「拆分边界纪律(DDD/高内聚)」落卡——新增契约 7+审计⑪+L3 增款+基线读数锚重锚〔216→168 键,随波 0 刷新 d219dd3d〕;自审六查与 grilling 自检记录见 §12)
- 来源:[待办清单](../待办清单.md)「gdstyle 存量债全量清偿——216 键按病根分波整改」条目(2026-10-26 登记,P0,状态=文档设计已闭合+已写卡)(唯一事实源:清点报告 [审计-gdstyle存量债清点与清偿方案-2026-10-26](审计-gdstyle存量债清点与清偿方案-2026-10-26.md) §六第 2/3/4/7 条裁定——证据指认形态,见 §2)
- 归并账目(清点报告 §六第 7 条):本卡收编=**波 2(40 键/13 文件)+波 4(17 键/2 文件)+effect_engine(8 键)+波 8 core/data 侧 10 文件(21 键)=86 键/26 文件**;与卡 1(B1 战斗域拆件批 45 键)、卡 3(呈现层结构收敛批 71 键)账目闭合 45+86+71=202+三宿主规避 14=216。**2026-10-27 用户全清裁决:86 键全部清零**——v1.19 在册豁免仅两处(组合根 main 句柄面/测量面 tune_sim await),均不在本卡文件集,本卡零豁免零残留
- 归属:`game/data/schemas/` 12 文件+`game/core/` 14 文件+`game/data/tables/adventure.tres`(等值迁移)+**新件 8**(`game/core/config_domain_combat.gd`/`config_domain_run.gd`/`config_domain_crossrun.gd`/`slot_store.gd`/`meta_state_store.gd`+`game/data/schemas/adventure_quota_segment.gd`/`adventure_value_segment.gd`/`adventure_cap_segment.gd`)+消费方改址(`game/core/`、`game/presentation/`、`game/tests/`、`game/probe/`、`game/sim/` 约 60 文件,实查合计 ≈1330 处——§3.5 分面计数)
@@ -24,7 +24,7 @@
**清偿账目**:86 键全清——校验族 40+生成器族 17+效果引擎 8=65 键由文件内私有拆分清偿(gdstyle 直扫键消失,闸读数下降自然绿);波 8 core/data 侧 21 键由结构收敛清偿:config_db 44+25 两键=归位+容器(44→8/25→9)、save_manager 52=拆件(52→7)、meta_progression 31=瘦身(31→20)、adventure_table 44=拆段(44→12)、action_economy 18=删并(18→15)、unit_container spawn 参数=束化(10→1)、save_manager `_peek_summary_at`/load_from_disk 返回键与 meta_progression tree_can_buy 返回键=留置函数原位拆分清偿。新件 8 封闭面全部在阈(§7 预检逐件核验),零基线外 NEW。
**完成定义**:
1. §7 结构图全部行落地(含 8 新件);`tools/gdstyle_gate.py` 改前改后读数对拍:**基线外 NEW=0(含新件)、恶化=0、在案键计数较 216 下降 86**(86 键消失清单+新件键账表进实现报告);
1. §7 结构图全部行落地(含 8 新件);`tools/gdstyle_gate.py` 改前改后读数对拍:**基线外 NEW=0(含新件)、恶化=0、在案键计数较 T0 实测基线(波 0 刷新后 168 键,git d219dd3d)下降 86**(86 键消失清单+新件键账表进实现报告);
2. 行为等价证据齐:数据校验族断言面(data_config 八套件+core 直引 12 文件)全绿;生成器同种子逐位一致(现役 determinism 断言继承);效果引擎现役四套件全绿;**存档读写逐位等价**(save 现役断言面改址保持全绿——原子写/兜底/拒读/迁移链语义零变化);
3. 撤销证明逐 wr 行落地(§8.1 末列);三份产出物写齐(T10);独立验收审计过。
@@ -102,7 +102,7 @@
🔴 **契约 2 · 断言面逐字保留**:现有 validate 系单测(data_config 八套件+core 直引 12 文件)、生成器断言面(board_generator_test/node_map_generator_test/node_map_determinism_test 等)与 save/meta 断言面(save_manager_domain/save_slot_isolation/save_slot_summary/save_boot_no_activate/breakpoint_resume/meta_progression_forge/tree_requires_level 等)**禁删禁改判据**;确需改判据=测试削弱申报节逐条列明理由。测量面改址(§7-K 列明的调用点换址)=访问路径改写,断言语义与判据逐条保持。
🔴 **契约 3 · S13 纪律**:`tools/gdstyle_baseline.txt` 禁改禁 refresh;还债=数值下降自然绿;**在案键的函数禁搬移文件**(基线函数级键逐一核对:save_manager 两函数键与 meta_progression tree_can_buy 返回键全部原位留置——本卡搬移面均为无键方法,§3.5 已核对);新件封闭面按 §3.5 预演值落地、禁超阈;机检键与卡片契约互斥时停卡呈报。
🔴 **契约 3 · S13 纪律**:`tools/gdstyle_baseline.txt` 禁改禁 refresh(波 0 已于 2026-10-28 批外刷新至 168 键,批内禁改口径不变);还债=数值下降自然绿;**在案键的函数禁搬移文件**(基线函数级键逐一核对:save_manager 两函数键与 meta_progression tree_can_buy 返回键全部原位留置——本卡搬移面均为无键方法,§3.5 已核对);新件封闭面按 §3.5 预演值落地、禁超阈;机检键与卡片契约互斥时停卡呈报。
🔴 **契约 4 · 禁为机检文本保留无效成员**(req-card 第 13 条,本卡属重构类):禁为迎合机检消息文本(含计数)保留或新增无效成员/别名/死存储/**转发壳**(action_economy `_next_round_mode` 删除即本契约的执行例;K1′ 删除的两访问器禁以兼容名留转发、K3′ 退役的两纯转发禁在 meta_progression 留同名委托);机检键与本卡契约互斥时实现段一律停卡呈报,不得自造第三条路。
@@ -110,6 +110,8 @@
🔴 **契约 6 · 核心层纪律不破**:Core 层零 UI 依赖(拆分后完整战斗仍可 `--headless --script` 跑通);数值单一事实源(adventure_table 拆段后玩法数值仍只存 `data/tables/*.tres` 经 ConfigDB 单点读取——口径按架构 v1.19 :88:「经 ConfigDB 单点读取」=经其持有的表对象,访问器语义不变);RNG 单点(零新增随机);**新件零 autoload**(SlotStore/MetaStateStore 由 save_manager 组装持有、经 `save.slots`/`save.meta_state` 直连——组合根句柄面与 autoload 链零新增,架构 :89/:90 消费依赖单向)。
🔴 **契约 7 · 拆分边界纪律(DDD/高内聚,2026-10-28 用户裁)**:一切拆分(私有函数族/新件/段件/容器)的边界沿职责轴、不沿阈值轴——①每个拆出单元须有可陈述的职责语句(「X 域归 Y 件,因为 Z」,实现报告逐件一行)与单一变化原因;②单元须有集体身份:成员共同表达一个可命名的领域概念——命不出名字、只能说「剩下的成员」的打包=凑计数袋,禁;③成员被互不相干调用方分别消费=边界切错,按消费域重切;④「过阈值」只许作为发现信号,作为拆分动机即违规;⑤职责上不可分且拆不出内聚单元 → 停卡呈报走豁免/还债通道(architecture「S13 豁免登记」同款),禁硬拆凑绿。code-conventions §1.1(高内聚低耦合/禁为机检保留无效成员)为本条上位规约。**v1.2 审查预检结论**:本卡 T1–T9 拆分族与新件 8 逐项核对均有职责语句与集体身份(校验域/装载域/管线阶段/槽位文件域/存档内元进度数据域/三域容器/列族段),无凑计数形态——本条对卡 2 为确认性纪律,无改法变更。
## 5. 范围边界
**做**:§3 所列 26 文件的结构拆分与 §7-K1′–K6′ 公开面收敛(含 8 新件建件与 ≈1330 处消费方改址);adventure.tres 等值迁移;撤销证明;产出物。
@@ -317,13 +319,13 @@
### 8.3 独立验收审计
入口=未参与实现的会话或子代理;报告落 `reports/iter<N>-验收审计-<日期>.md`;抽查重点=①错误清单逐字等价(任选三 schema 改前改后坏表对拍读数)②生成器同种子逐位一致记录③效果引擎装载序与词表零 diff(git diff 查 EVENTS/EFFECT_KINDS/FACTS/OPS 四常量)④归位映射抽检(每容器 ≥3 处行数据逐字+K1′ 溶解/迁移/委托三形态各 ≥2 处)⑤拆件抽检(save roundtrip 逐位读数+激活回退四态断言+纯转发零残留 grep 复跑)⑥拆段表值逐字(全组合读数对拍)⑦新件键账零 NEW(gdstyle 直扫 8 新件)⑧S13 基线未改(git diff 查 `tools/gdstyle_baseline.txt` 零变化)⑨改址抽检(五组各 ≥3 处断言语义等价)⑩撤销证明复现。未过不得合并。
入口=未参与实现的会话或子代理;报告落 `reports/iter<N>-验收审计-<日期>.md`;抽查重点=①错误清单逐字等价(任选三 schema 改前改后坏表对拍读数)②生成器同种子逐位一致记录③效果引擎装载序与词表零 diff(git diff 查 EVENTS/EFFECT_KINDS/FACTS/OPS 四常量)④归位映射抽检(每容器 ≥3 处行数据逐字+K1′ 溶解/迁移/委托三形态各 ≥2 处)⑤拆件抽检(save roundtrip 逐位读数+激活回退四态断言+纯转发零残留 grep 复跑)⑥拆段表值逐字(全组合读数对拍)⑦新件键账零 NEW(gdstyle 直扫 8 新件)⑧S13 基线未改(git diff 查 `tools/gdstyle_baseline.txt` 零变化)⑨改址抽检(五组各 ≥3 处断言语义等价)⑩撤销证明复现⑪拆分边界抽检(契约 7:新件/段件/拆分族职责语句逐件在案,抽 3 件核「单一变化原因+集体身份」两判据,凑计数袋形态即红)。未过不得合并。
## 9. 异常分级
- **L1(自救)**:行号漂移(T0 重锚自核);私有 helper 与投影内部实现的命名与注释措辞(投影键构成与公开签名不属此列);拆分域边界微调(各件 ≤阈值前提下)。
- **L2(记录继续)**:五组改址中发现清单外调用点(同法改址+计数记录进实现报告);束键解包的等价实现细节;段件/容器成员的 @export 形态细节(类型化成员语义不变前提下)。
- **L3(停机呈报)**:任何断言红且非测试问题;拆分后错误清单与改前不等价;RNG 取号序失配;存档读写逐位不等价或原子性语义漂移;归位后表读取语义漂移(空表护栏/缺省兜底);发现触碰 GDD/owner 契约的病根(停卡呈报,禁内联求裁);新件或留置面超阈(封闭面破坏——契约 3);K 清单外须动公开面的场景(实现段零裁断——退回上游)。
- **L3(停机呈报)**:任何断言红且非测试问题;拆分后错误清单与改前不等价;RNG 取号序失配;存档读写逐位不等价或原子性语义漂移;归位后表读取语义漂移(空表护栏/缺省兜底);发现触碰 GDD/owner 契约的病根(停卡呈报,禁内联求裁);新件或留置面超阈(封闭面破坏——契约 3);K 清单外须动公开面的场景(实现段零裁断——退回上游);拆分边界无职责语句可陈述或凑计数袋形态(契约 7——停卡呈报走豁免/还债通道)。
## 10. 代拍板白名单(超清单必呈报)
+2 -2
View File
@@ -18,8 +18,8 @@
- 清点报告 reports/审计-gdstyle存量债清点与清偿方案-2026-10-26.md(2026-10-26,216 键全量清单+波次方案+纪律+设计段裁定记录 §六含整合裁定第 7 条)
- 设计定稿 design/engineering/architecture/architecture.md v1.19(2026-10-27:波 1 拆件定稿 v1.18 节+全清设计补课——ConfigDB 访问器归位与域容器持有+SlotStore/MetaStateStore 两新件行+组合根句柄面/测量面两处 S13 豁免登记)
- 需求卡片 B1 战斗域拆件批卡(2026-10-27 v1.1 全清口径修订后编入;已随迭代 40 实现批合回退役,git 历史可考——合并提交 514457d1)
- 需求卡片 reports/需求卡片-核心数据面结构收敛批-2026-10-27.md(2026-10-27 v1.1 全清口径修订:config_db 访问器归位+三域容器+SlotStore/MetaStateStore 拆件+adventure_table 拆段+spawn 束化;估时 ≈7.9d;零待裁点)
- 需求卡片 reports/需求卡片-呈现层结构收敛批-2026-10-27.md(2026-10-27 v1.1 全清口径修订:print 删除+七件绘制态内部收拢+main/await 两键按 v1.19 豁免申报;估时 ≈5.3d;零待裁点)
- 需求卡片 reports/需求卡片-核心数据面结构收敛批-2026-10-27.md(v1.2=v1.1 全清口径修订〔2026-10-27〕+拆分边界纪律契约 7 落卡〔2026-10-28 用户裁 DDD/高内聚〕;config_db 访问器归位+三域容器+SlotStore/MetaStateStore 拆件+adventure_table 拆段+spawn 束化;估时 ≈7.9d;零待裁点)
- 需求卡片 reports/需求卡片-呈现层结构收敛批-2026-10-27.md(v1.2=v1.1 全清口径修订〔2026-10-27〕+拆分边界纪律契约 9 与 u1 子域拆件改法落卡〔2026-10-28 用户裁 DDD/高内聚〕;print 删除+七件绘制态内部收拢+main/await 两键按 v1.19 豁免申报;估时 ≈5.3d;零待裁点)
- 三宿主主副卡(已随迭代 39 实现批合回退役,git 历史可考——合并提交 ffb0ac15;原「规避指向:本事项禁触三宿主」随三宿主债清偿完成历史使命,残留归尾波)
- 需求卡片 结构小件定点修批卡(波 7 现成卡:iter38 卡②停卡退回上游后经 v1.3→v1.4 修订定稿编入;已随迭代 40 实现批合回退役,git 历史可考——合并提交 514457d1)