Commit Graph
617 Commits
Author SHA1 Message Date
DKChan b33469ac09 卡②T2a(呈现层结构收敛批): u5/u6——u5 hero_info_panel_view(_init拆数据行/秘宝槽/三区段构建私有族+单槽/槽图标/字形标签/浮窗四域+set_treasure_inventory填充域拆分,循环体提函数)+u6 battle_end_overlay(_EndOverlayState战末呈现与演出态状态件[fx三计数并一字典]+探针冻结4住宿主+_init拆头部[蜡封图/庆祝立绘]/三行账构建域+open_victory可选尾参收拢opts束4参[键gp_summary/ks_summary/bonus_summary/gp_gain/gp_total缺省逐字]+四处演出循环提函数[封印光点/纹章碎砖/坐砖尘絮/尘金粒子])+消费点5处改址(main×2束形/main_adventure_flow×2/ui_struct_probe×1,三参调用缺省兼容零改动) 2026-10-28 14:53:17 +08:00
DKChan f878c3c45f 卡②T1补(呈现层结构收敛批): u4 standee_body——_StandeeState站桩演出状态件(24成员收拢含setter语义_owner回引/hp_value与意图动画tween属性路径随迁)+外部直访冻结4住宿主(box/font/slot_row/has_world_hp_bar)+源码锚承载成员_intent_charge住宿主(theme源锚句行逐字保留)+_draw拆五绘制域(地面/血条/立绘/意图徽标/护甲名行)+死亡碎块与命中火花循环体提函数(_spawn_death_shard/_spawn_hit_spark);类变量29→19在册键计数下降=改善,锚四句逐字在位 2026-10-28 14:47:47 +08:00
DKChan 98ac923938 卡②T1(呈现层结构收敛批): 营地与地图面四件——u1 camp_overlay_view(四柜台子域状态件_TreeState/_ForgeState/_AttuneState/_SideState+冻结5住宿主+_init拆顶栏/四柜台/底栏构建私有族+树行板/Fork行/锻造卡[标量束+状态文案+三钮域]/秘宝匣卡/同调行构建域+刷新三域;类变量19→9)+u2 level_map_screen(_MapState运行态状态件+_layer_decor装饰域字典[图标/石纹/tint]+冻结6住宿主+_init拆顶栏/画布/状态栏/头像/加成五族+_draw_graph拆上下文束/通道层/房间/图标/标签五域+_room_color共享;类变量22→6恶化债归绿键消失)+u3 board_cell_unit(_CellPaintState单格绘制输入集[26成员含setter语义_owner回引逐字]+冻结4住宿主+_draw拆底层/接触/中层/顶层四域+九绘制域;类变量31→30在册键计数下降=改善)+u3随动board_view写入行56处(u.X=u.st.X机械改址,接收者白名单u/hu/_contact_unit/_cells,探针冻结4成员与Dictionary键零触碰);源码锚S2两组逐字保留(STONE等式11处/336三处/SIZE_FILL四处);工作区gdstyle闸64键NEW=0恶化=0 2026-10-28 14:43:35 +08:00
DKChan 070a5340b3 卡①T9(核心数据面结构收敛批): 散条组——K5 action_economy(删_next_round_mode死存储+_ap_exhausted_last派生合并(ap_exhausted_last_round改_last_round_end.path_tag派生读,同源同刻等值)+last_round_end属性→方法,消费方minesweeper_rules:495改址)/reward_economy roll_board规范化域提取(_normalize_eligible开流前零RNG)+_skewed_cell_rows两域(_skew_families分族+_apply_skew权重装配,守恒assert随段迁移)/minesweeper_rules _do_dig拆_reveal_chain(cell_revealed发射序即链序整体随段搬迁)/K6′ unit_container spawn签名束化(10→1 req Dictionary,束键封闭词表缺省逐字)+体内拆_spawn_hero_unit/_spawn_rowset/_row_instance_counts+调用点24处9文件改束形(orchestrator+测试8,断言标签字面量零触碰);gdstyle 92→83键NEW=0 2026-10-28 08:46:22 +08:00
DKChan 2bd2625194 卡①T8(核心数据面结构收敛批): adventure_table拆段+.tres等值迁移——三段件建件(AdventureQuotaSegment 13/ValueSegment 13/CapSegment 9,段内槽名逐字不动)+宿主44→12(3段成员+9 knob留置)+curio_quota/curio_value/curio_cap三访问器签名与返回语义逐字(内部改读段成员,未列组合=0/缺省99语义保持)+adventure.tres等值迁移(22在册值逐槽照抄嵌套段sub_resource,单.tres保持;rap/time_sand与cap缺省槽保持缺省语义)+测试改址4处(adventure_feats:206读段路径/pool_case_d:164:165:190段路径读写,断言语义不变);表值等值载体=deck_total结构锚+访问器全组合读数[用户运行验证] 2026-10-28 08:41:01 +08:00
DKChan a9a163f924 卡①T7(核心数据面结构收敛批): config_db归位+域容器——三容器建件(ConfigDomainCombat 7表/Run 7表/Crossrun 5表,类型化纯持有)/config_db瘦身44→8公开(push_diag/is_fatal/reset_diagnostics/diagnostics/diagnostics_count/load_tables/set_reload_gate/reload)+类变量9(容器3+is_ready+诊断/resolver/validator/reload_gate/fatal_flag)/溶解16+迁移14+委托3访问器归位表类(shop_table 7方法/meta_table 2/forge_table 3[route_rows避routes属性]/variation_table 2/level_table level_count)+resolver装配段注入三表(board_gen.resolve_row/enemy.resolve_rowset/difficulty.resolve_modifiers委托,resolver文件零搬移)/删2(meta_conversion_row/forge_weapon_route_by_type生产零消费)/私1(validate_skill_pool_links→_);全域改址86文件(组①db.<表>→db.<容器>.<表>组②33访问器归位新名+删2消费面直扫同判据+桩件三处适配FakeDB/_BoardRowStub嵌套holder+treasure_items has_method改crossrun探测);首跑清扫漏表名bug已整树回滚重跑修正;gdstyle 168→92键NEW=0;[测试动作移交用户:套件停跑] 2026-10-28 08:37:22 +08:00
DKChan ced64d9cb3 卡①T6补: meta_progression两键收口——hero_override抽_forge_axis_bonus轴加值原语(11→8局部)/tree_can_buy出参聚合(8→2返回,判据逐字禁early-return合并语义等价) 2026-10-28 08:23:23 +08:00
DKChan 52661761c3 卡①T6(核心数据面结构收敛批): meta_progression瘦身(31→20公开=K3′封闭面定稿)+status_container/treasure_items拆分——纯转发退役2(keystone_balance/is_item_unlocked消费方直连meta.meta_state)/内联3(hero_override收编锻造加值与树淬炼flat,输出逐字)/私3(_forge_route_unlocked/_tree_spent_total/_tree_gate_text)/并组3组(forge_select(kind,rid)/hero_type_axes{attack,armor}/tree_camp_status{rows,fork_groups})/补meta_state装配成员+本类读写全改经meta_state;status_container apply_effect三臂域拆(_grant_snapshot/_apply_refresh/_apply_stack公共尾部单点+_new_instance 7→5参snap束)/treasure_items validate_use三域(_spatial_reject_reason/_window_cells/_preview_window_dead);消费方9文件改址(camp/hud/main/verifier/treasure_interact/forge/tree_requires/save_slot_isolation/theme_projection);[测试动作移交用户:套件停跑] 2026-10-28 08:22:37 +08:00
DKChan b182073941 卡①T5(核心数据面结构收敛批): 存档域拆件——SlotStore建件(槽位族10公开+槽位态随迁+_migrate_legacy_save/_copy_file/_remove_file随迁,_rename_overwrite留save IO单点)/MetaStateStore建件(写口原语13+只读投影6+add_keystone私有)/save_manager瘦身(52→7公开:load_from_disk/write_to_disk/register_migration+断点族4;_load_parsed/_peek_migrated读盘域提取,迁移链文案经fail数组逐字带出;类变量6)/全域改址449处(槽位族→save.slots.,元进度族→save.meta_state.,读面投影改形career/tree/forge/attune_state;meta转发与GainJournal.vision_used按卡留T6);[用户特许2026-10-28:本批测试动作移交用户,套件与闸停跑,实现继续] 2026-10-28 08:14:14 +08:00
DKChan 989c489c55 卡①T4(核心数据面结构收敛批): 效果引擎四域拆分——rebuild三装载域(_load_feat_triggers/_load_attune_triggers/_push_tree_rules+单规则助手,调用序feats→treasure→tree逐字=装载声明序冻结)/_cond_ok四算子域(_cmp_ok出参聚合/_ends_with_ok/_has_ok/_counter_op_ok,unknown-op致命路径与判定语义逐字)/bucket_of elif收口if序(前缀判定序round→lvl→adv→battle逐字)/validate_trigger_row三键域(_vtr_when_keys/_vtr_do_keys+_vtr_from_refs悬空域,static同形,错误追加序逐字);四词表常量零diff,8键全清,效果面6套件全绿(138checks adventure_feats) 2026-10-28 08:03:31 +08:00
DKChan 331d6b039a 卡①T3(核心数据面结构收敛批): 生成器族两文件拆分——board_generator generate收束(_board_params快照+_attempt_loop重试主循环+_accept_fallback三分出口)+_attempt布雷剃雷两域(_populate_mines Fisher-Yates取号段整体随迁+_shave_ring零RNG)+measure三算子域(_apply_chain_rule/_apply_single_rules/_derived_constraints/_apply_derived_rules)+_finalize删_db参5参化;node_map_generator validate_output六阶段域(_vo_node_fields/_vo_edges/_vo_flow_facts/_vo_depth_reach/_vo_shop_counts/_vo_terminal_shops/_vo_terminal_depths/_vo_width_rules/_vo_params_check)+check_params两分(_cp_domain/_cp_structural)+_build主链区域两段(_build_trunk/_build_region零RNG)+_add_forks锚收集段零RNG提取+_assign_types两分(_fill_ratios取号序整体搬迁+_fix_detour_heads零RNG)+_check_fork_rules签名两助手;RNG消费序冻结同种子逐位一致,17键全清,node_map三件+generator套件全绿 2026-10-28 07:24:56 +08:00
DKChan 9646ce545d 卡①T2(核心数据面结构收敛批): 校验族小表组+跨表校验器+解析器八文件拆分——board_gen 行/约束/收窄三域/level_gen_params 行头(skip)/形态/计数三域+层深尾段/meta_table 三行族域/skill_table 行头(skip)/公共/四类型域+表不变量/variation 行域+效果互锁+全局互锁/status_effect 行头+量纲域/cross_validator 七编号块域函数化(_cv_reward_dangling/_cv_reward_treasure/_cv_poolmap/_cv_source_labels/_cv_skill_pool/_cv_shelf_pool/_cv_counter_closure+decls/reads分层)+validate_skill_pool_links计数束化/resolver resolve_enemy_rowset三纯行扫描+_resolve_progress三段(坐标对束化);错误清单与告警序逐字,23键全清,data面13套件全绿 2026-10-28 07:14:57 +08:00
DKChan c56b816fee 卡①T1(核心数据面结构收敛批): 数据校验族大表组五文件validate拆私有域函数族——meta_tree 4域+两尾段(requires/requires_level)/treasure_item 行头+订阅+活行+N值+充能档位+积点闸+解锁互斥+效果数值+谓词九域(enemy skip语义经aux同款信号承载)/enemy 行头基面+数值+atk区间+池模板+攻防类型+行序违例+锚行尾段/reward 轴+aux投放(skip信号)+池标签+数值+区间+表闭合/forge 行头(skip)+数值+解锁通道+初始覆盖尾段;错误清单类别/文案/追加序逐字保持(契约1①),17键全清(gdstyle直扫5文件零warning),data_config 12套件+下游5套件全绿 2026-10-28 07:07:03 +08:00
DKChan c22c343b29 工程(测试判据试点归位): treasure_effects_test 断言级内部直查 12 处改钉公开可观测面——新判据(test-conventions §8.2,提交 145c1865)首次真实评估,套件内直查零残留(件核 grep=0):① ActionEconomy 私有字段→公开属性 ap/rap 直换×7(晨操令夹具读/试炼镐×3/储备罐×3——同值 getter 零语义差);② RefreshBank _refresh_x→free_left==refresh_y+refresh_stock 公开面等价式(X=free_left−Y−存量 恒零,逻辑等价);③ _board_face_dig 探针×3→settle_batch 公共意图面真实提交(D1→A2 边界):远程镐反例先跑(拒绝零副作用,sub_reason=not_adjacent+棋盘事实零变化)、正例受理+is_revealed 双面(比原单面探针强——真挖真揭示)、信标边界同式;④ ⑭装配同源 runner._attunement 私有读→战斗公开装配集==冒险启动参数逐位对比(活引用链全公开面)。撤销证明口径:本批零产品码=零行为改动可撤,§8.4 真撤销不适用,断言语义等价由逐处 diff 审读承载;验证集清单对账 PASS 零差异(改钉全落 check_quiet 通道=提取扫描面外,§5.2 工具面备案在册);孤立验证=单套件直跑 exit 0 全绿。评估结论(新判据首评):公开替代口在册率高(12/12 零产品码),成本重心=3 处 settle_batch 形态重塑,本套件为后续被批次触碰顺带换代的写法样板 2026-10-28 05:07:37 +08:00
DKChan 145c18658b 文档(测试判据升级): 单元层写法判据落文——「测试直接调用被测函数」升为「从领域类对外方法进、断言钉对外可观测面(返回值/信号/查询接口/落盘内容)」,内部字段直查降受控例外(无公开可观测面可钉才允许、对照表注明理由;存量不回头清扫、被批次触碰时顺带换代);§8.7 审计三件事→四件事(增核受控例外申报);README 层级表单元行判什么对齐+集成节立集成旅程清单(现状五行:存档⇄RNG往返/旧档迁移续玩/断点附随件与事件日志/关卡图断点重生成同图/回放确定性parity闸11,登记批按git考据:两件出身断言迁移批2026-10-23);architecture v1.21 测试域三层承载表单元行同步;待办清单登记「测试判据升级」条目(批1落文+批2试点归位,2026-10-28 plan批准+草案过目后落笔) 2026-10-28 04:51:42 +08:00
DKChan 514457d132 合并(迭代40): 卡①B1战斗域拆件+卡②结构小件定点修+收口段——卡①(battle_fx_host/reward_grant两新件+宿主45键清44+begin_battle/_place_variants/_emit_row全清+settlement拆段三列形+damage/treasure收编+同种子dump六组全等);卡②(六件定点修p1-p7含p5缝拆+RngService双违约通道+负面套件run_time_fatal_test+wr10三条+wr11);收口(三产出物+代拍板裁甲+独立审计通过+审计F1一行修+master三尾巴并入0166df26/185bf815/95a86cee+09指纹记账8467b4588a20)——审计通过;全量回执未取得=2026-10-28用户特许免闸直合;02存量红随master侧EV重锚批清偿,09存量红剩level_map_screen一条归迭代41卡③ 2026-10-28 04:43:04 +08:00
DKChan d26b5e68ee 工程(bp对拍载体退役): 删 game/tests/bp_baseline_dump.gd+.uid 边车——迭代39批bp1断点对拍的一次性dump载体,断点片段化后七时点对拍已收口进审计报告(292dumps×28键零漂移),件核全仓零引用;实现报告§五退役清单件,随批后收尾扫尾批执行(用户令2026-10-28'一并全部处理掉');属文档面收尾的代码面尾巴,按车道铁律走worktree小批 2026-10-28 04:33:43 +08:00
DKChan 185bf81560 合并 master(21cd0f2e) 进 iter40: 接回挂死防护·probe_gate件批(run_all_gates/probe_gate/run_all.gd超时守护/undo_proof/reshape_cards工具+process-conventions/architecture/test-conventions规约面+待办清账)——iter40侧同改文件仅run_all.gd(manifest wr8登记行),与守护改动异段预期自动合并 2026-10-28 04:18:32 +08:00
DKChan e55bc0c142 工程(02选跑过滤器收编): 文档同步——game/tests/README 补 --only 选跑用法(工具速查行+Running Tests 命令行)+套件数漂移订正(40→64,39 单元+1 集成→61+3,集成 1→3);architecture.md 测试与质量域 run_all 行补选跑态登记+同款计数订正(2026-10-28 实数);待办清单「02 闸选跑过滤器」条目完成整条删除——批已合回 master(fe62463b) 2026-10-28 03:01:49 +08:00
DKChan 6caf56b5c1 工程(02闸选跑过滤器): run_all.gd 加 --only 选跑态——OS.get_cmdline_user_args 解析 --only=<词[,词…]> 对套件 res:// 路径子串匹配只跑命中套件;零命中/空值=用法错 quit(2) fail-closed 禁零套件当绿;选跑态打印 FILTERED RUN 横幅+日志另名 run_all_filter_*(不覆写全量跑批日志);实跑数校验对过滤后清单,全量态条目与顺序零变化;默认路径(无参数)逐字节现行行为——批末全量闸不带参数不经选跑分支。验证口径=用户裁 2026-10-28:开发期零代码验证直跑,选跑分支判红绿正确性首次实证=实际使用;本批仅做秒级 --check-only 语法自检(不跑套件) 2026-10-28 02:49:12 +08:00
DKChan 33a4533947 闸基线(迭代40收口记账): 09 指纹刷新 91d45583cf6d→8467b4588a20(用户裁刷)——卡①拆件还债落地,battle_orchestrator 行数红项消失(实测1036≤登记1302;契约2残余36行系合并适配带入master迭代39内容,已裁登记残余债归待办清单),09红项两条收敛为一条(level_map_screen 类变量22>21=迭代38存量,还债归迭代41卡③);指纹按闸壳同款算法对用户探跑日志实算(FAIL 3行=恶化明细+gdstyle汇总+S13汇总),登记值只降不升,全量闸复验;02存量红已随master侧EV重锚批ba5105aa归绿并入合并0166df26 2026-10-28 02:28:11 +08:00
DKChan 0166df2699 合并 master(6326b083) 进 iter40: 接回收尾期 master 尾巴——①术语批(4f9de5fa/98d3a2ec/a8025945: 三件测试夹具哥布林→地精+敌人系统/验证集清单文档面);②EV锚重锚批(d6917c0a登记/8d6b1012+ba5105aa: round_flow goblin 带宽[1.00,1.20]→[0.82,1.02]+enemy.tres表注+baseline 02存量红归绿——02红在master侧已清,合树后run_all应65/65全绿)/6326b083待办清账;交接单盘面'b8b69c68已合术语批'与事实不符(b8b69c68父本=ffb0ac15),本轮为真合并;冲突仅验证集清单.md(双侧同表行)=按机器重生成解(extract_checks --force在合并树重跑,68源/1604调用点),两件.gd夹具术语行与拆件改址异段自动合并;合并后审计对象树=iter40代码+master尾巴,term/EV均为字串与注记面零行为改动 2026-10-28 01:45:48 +08:00
DKChan 8a31936958 测试(迭代40收口): 审计F1按用户裁闸前一行修——run_time_fatal_test:80 wr5第二条失败消息 %r 残留改 %s+str(与:73已实证形态同形;eb7b6b39声称两条实改一条的残尾);失败支路诊断面修正,绿路径与判据零变化,回归支路运行期验证受撤销禁令约束以静态同形+验收闸绿路径为证;审计报告F1补记修复落账 2026-10-28 01:36:53 +08:00
DKChan 8d6b1012ed 工程(EV锚重锚批): round_flow EV 抽样锚 goblin 带宽 [1.00,1.20]→[0.82,1.02]——迭代39触发器批孤注守势(w1·纯buff·血量≤35%情境入池)稀释含闸长期速率 1.1060→0.9148,旧带系触发器前唯一特殊技=突刺结构下登记随池构成换代作废;模拟器维持无情境口径(用户裁2026-10-28,trigger行不过滤、把最坏情形当长期速率),重锚注记随 enemy.tres 表注(照酋长先例)与测试注释;baseline 02 存量红(f74b9a48ef4a)归绿。撤销证明=带宽回退旧值断言复红(exit 1,实测0.9148)→还原复绿;孤立验证单跑套件 exit 0 2026-10-28 01:21:08 +08:00
DKChan 4c2f0a5d7c 测试(迭代40 断言索引重生成): tools/extract_checks.py --extract --force 重扫=68 源文件/1604 调用点(基点 50f9caa7 的 1599 → 现 1604,+5 恰=卡② variant_placement wr10 三条+pacing_queue wr4 两条;负面套件走 push_error 记录位不入 Kit.check 计数面)——新增源 run_time_fatal_test.gd 入列,全表行号随合并与改址重排。该文件不受闸覆盖、只由本脚本手工重生成(迭代34 起登记「由 T7 重生成」的陈旧欠账就此闭合),下次换代批仍须随批重扫〔结构小件批 V18〕 2026-10-27 22:36:42 +08:00
DKChan eb7b6b39f2 测试(卡②撤销证明轮两处判据面修正): 变异取证抓出的两个自身缺陷——①run_time_fatal_test 的 wr5 两条失败消息用了 GDScript 不存在的格式符 %r(MUT-M2 撤接线时才走到失败支路,push_error 先崩在格式符上=红因不可读)改 %s+str 包裹;②variant_placement 的 wr10③ 直接 call 未接线回调(撤销证明⑤态下 luck_bias_query 无效)→ Invalid call 中断本函数、其后 20 条断言全丢=红但红面过宽,改「is_valid 才取值、否则记 -1」让 ③ 正常判红且套件跑完。变异台账(全部在主源文件临时注入、跑完即 git checkout 还原,还原前三件已提交 b8b69c68):M2 撤 fatal 接线两行→负面套件 exit=2(红因=[run_time_fatal_test/wr5] 棋盘生成违约未传导封印 battle_result=空);M3 撤 p6 handler 调用位→exit=2(wr6 未知标签违约通道未记录 recorded=[]);M4 撤 p7 handler 调用位→exit=2(wr7 未播种通道未记录);M5 撤组装点注入一行→variant_placement exit=1、2/49 失败=wr10② 红+③ 红(取回 -1/池合计 77≠85)、① 不红(判定面仍在)=卡面撤销证明⑤预期逐字命中;WR11 缝拆整体回退(掷格件复原 _fx/_ctx/set_fx+内联三参发射+组装点补 set_fx 一行)六组 dump 与缝拆在位态逐字节 cmp 全等(L1 45/39/46 行、L2 75/78/116 行)=契约 1 合法路径零扰动坐实。注:wr11 卡片撤销列写「回退任一缝拆 hunk→复跑出差异」在现网数据面不可执行(game/data/tables/ 零 bias_rewards 行实查复确认=权重合成面在合法路径恒等,回退本应无差异),该判据的牙在 wr10③(夹具装载后 85 vs 未接线 77),差异归反哺点清单呈报。静态判据面:wr1 改前 battle_live 命中 1/现 0,重复四句 4→2;wr2 confirm_dialog.close() 直调 2→0+单口三处在位;wr3 防护两处在位;p6/p7 return null 两处在位(debug 下 return 位两态不可判别=契约 6 只走静态面+评审注记)。复绿:负面套件 exit=1 三点全绿、variant_placement 49 checks 全绿、pacing_queue PASS、ui_click_probe 问题=0 零 SCRIPT ERROR〔结构小件批 V17〕 2026-10-27 22:34:49 +08:00
DKChan b8b69c683d 合并 master(迭代39 拆件批+文档批) 进 iter40+主角账模型迁移适配——冲突两件按「保留本分支拆件结构+承接 master 语义」解:①battle_orchestrator 承 RunLedger 整类退役=新增 _journal()/_attune_loadout() 两读面(enc 派生、无成员接收)、_reseed_attune_charges 循环体换 AttuneLoadout.reset_cycle(写时种行/补行单源化)、冒险桶挂接改 enc["adv_bucket"](经 _fx_host.mount_buckets 下传)、战末 bonus 汇入换 GainJournal.gain_bonus(axis,value,"battle_export",axis);同时接回 master 的 B4 战斗指标面=_mines_hits 三读数账+开战清零+轮末转存、_roll_round_actions facts 组包四键(round_index/last_round_end/mines_hit_last/mines_hit_total)并传 check_trigger_unlocks/rollable_skills/special_skills 三参、enemy_hp_threshold 读数改 trigger.value。②RewardGrant 的 battle_ledger 引用改 battle_hooks 回调束三键(attune_consume/vision_add/negative_blast,bind_battle 缺键 assert)——授予件对账本零强引用、宿主侧单点留编排器,类变量封闭面 15 不减不增;use_treasure 充能消耗与真视计数改经回调,负向 blast 踩雷计数在 _flat_blast 判极点后回调宿主记账(等价承 master 的 _book_negative_blast 语义)。③treasure_effects_test 计数链断言取 master 口径(lg13.vision_used()==1)+本分支真实入口(reward_grant().use_treasure)。④trigger_cond_test V6 的两处 flat 行调用改指 reward_grant()._apply_flat_row(att 束形)——它原调编排器已迁函数触发 Invalid call,_init 在 quit 之前中断=进程挂死 124 超时(本轮排查实证:同件在 master rc=0 秒退,合并后挂死;修后 rc=0 全绿)。验收:run_all 65 套件 64 绿 1 红=已登记存量红(02 EV 锚 goblin 0.9148∉[1.00,1.20],迭代39 特批带红在册,重锚归后续数值批),零 SCRIPT ERROR;负向套件 run_time_fatal_test exit=1 三点绿;variant_placement 49 checks 绿(wr10 三条在位);gdstyle 待合并后复测〔结构小件批 V16〕 2026-10-27 22:25:53 +08:00
DKChan 98d3a2ec38 工程(测试夹具术语修正): 三件测试 mock 串 哥布林→地精(项目定名见 enemy.tres:761「goblin 地精」)——随 iter39 报告§六补录批的文档面 4f9de5fa 同源,主区直提被车道铁律拦,按规走 worktree 批收编;夹具设值与断言同串自洽,零行为改动 2026-10-27 18:50:30 +08:00
DKChan 4f9de5fafd 文档(迭代39补录): 报告§六领域拆分批补记与收口遗留清单入库+术语修正文档面(哥布林→地精: 敌人系统.md/验证集清单.md,项目定名见 enemy.tres:761,英文代码键 goblin 不动)——同批 .gd 测试面三件(damage_controller/pacing_queue/standee_fx_sweep 夹具字串同改)被 pre-commit 直改闸拦(主区禁直提代码面),按车道铁律留工作区待用户裁(worktree 批或用户侧 --no-verify) 2026-10-27 18:46:00 +08:00
DKChan ea322599f7 卡②(结构小件批p1-p7+V15): 七点定点修落地+运行期违约通道负面套件+wr10 偏运缝拆验收——①p1 状态角标判据去重(main_overlay_flow._sync_status_entry 一组重复赋值语句删除,battle_live 局部量随之退役=wr1 载体);②p2 确认窗开合归模态栈单口(main 两处 _on_confirm_* 改 _close_modal;存档删除入口改 root._open_modal(root.confirm_dialog) 后再 open,遮挡记账/挂起兜底/开侧同步同口);③p3 棋盘动作与 stop 两入口显式 settlement 空防护(锁谓词异常时不崩于空引用);④p4 会话更替即清队:_begin_session 首行 _row_pacer.flush()(待播行不住局态=机制保证非时序约定);⑤p5 缝拆:RewardEconomy 删跨域直持(_fx/_ctx/set_fx)改注入 luck_bias_query: Callable,reward_roll 发射与 bias_rewards 求和收回 BattleFxHost.luck_bias_for(cell_count)(三参形 dispatch,不带 facts——禁复用 fx_emit 的第四实参会打开 when 事实条件面),组装点 set_fx 一行换赋值一行 1 换 1;类变量 15−2+2 净 15,gdstyle 无第 16 枚;⑥p6/p7 RngService 未知用途标签与未播种取数两分支加 violation_handler 记录位+release 下 return null 空引用即刻崩(fail-fast 传导,合法路径不可达)——debug 下 assert 先中断函数本体两态不可判别,故记录位是唯一可观测面;⑦board_generator/reward_economy 各加 fatal_handler 注入位并由组装点接 orchestrator._fatal(release 剥 assert 后仍经 battle_result 封印真中止)。新件 tests/unit/core/run_time_fatal_test.gd(manifest 登记 expect=1 negative=true):wr5 协作件 _fatal 经组装点传导 p5 封印+缺省形态不外溢/wr6 未知标签通道/wr7 未播种通道(各用新建 RngService 实例,播种断言 _counter==0)。wr10 三条入 variant_placement_test=判定面夹具白盒装载(现网数据无 bias_rewards 行,沿 tree_rules_v11_test 先例)+接线同源+权重生效 77+4*2。验收:variant_placement 49 checks 全绿(wr10 ①②③ PASS:空订阅 0/命中 1 行/装载后 2;查询口有效且与宿主同源;偏运池实测 85);run_time_fatal_test 退出码 1 三点绿;pacing_queue 绿(wr4 前置夹具真入队 2 行→更替后清零);ui_click_probe 问题 0(wr2 遮挡账开/关两侧断言);round_flow_skill_pool 130 checks 绿;wr11 dump_battle 六组(L{1,2}×S{42,779401,779501})与改前 before_* 逐字节 cmp 全等;gdstyle 基线外新违规 0、恶化 1(level_map_screen 类变量 22>21=iter38 存量非本批触碰面)、基线文件零改动〔结构小件批 V15〕 2026-10-27 18:39:53 +08:00
DKChan 3530144e49 闸基线(迭代39特批带红合并): 02 记存量红(fp f74b9a48ef4a=round_flow EV 锚 goblin 0.9148∉[1.00,1.20],触发器批有意行为改动,重锚归后续数值批待用户发起)+08d 记存量红(red-nokeys=生涯.md:55 引 adventure_runner.gd:814 行号漂移,修复归合并后文档批,反哺点在册);07 基线红→现绿改善随下次重生成记账;09 指纹经 S9 注解修复(f96632de)回归登记值 91d45583cf6d 2026-10-27 18:07:20 +08:00
DKChan f96632dede 拆件批v1.3-修复B(S9类型闸回归): battle_orchestrator.gd _attune_loadout() 补返回类型注解 -> AttuneLoadout——全量闸 09 静态扫描指纹变化的根因=B4 新写的 encounter 派生读面有值返回缺返回类型注解(audit_type_hints R2,主仓无此红=本分支引入);R2 口径只要求 -> 在位,选具体类名而非 Variant/Guard 式——HEAD 原成员行 loadout=enc.get("loadout", null) 本无 is 守卫,逐字零变化原则下函数体不动只加注解(GDScript 4 对象类型返回天然可空,null=直构零装配语义不变)。验收:static_scan S9 零 FAIL(audit_type_hints PASS——产品码类型闸归零 R1/R2/R3),其余 S 条目读数不劣化(S13 仅存量债两条 battle 1314/level_map 22 与改前一致);gdstyle 基线外新违规 0/恶化恰 2 不变〔领域拆分批 V1〕 2026-10-27 18:06:03 +08:00
DKChan 741b6bd77b 拆件批v1.3-B4(战斗指标面收编): battle_orchestrator.gd 三踩雷计数变量(_mines_hit_total/_mines_hit_last/_mines_hit_round)并入 _mines_hits 一账(开战清零/轮末转存/负向 blast 入账三时点逐位同,事实面读键 int 包装);_hero/_loadout 两成员删除改 encounter 派生读面 _journal()/_attune_loadout()(begin_battle 经 enc["journal"]/enc["loadout"] assign 后全生命期可读,null=直构跳过语义同);负向 blast 计数抽 _book_negative_blast 私有助手;注释重排把文件长拉回注册值口径(1314,基线登记 1302——恶化存量债归迭代 40 卡①)。验收:全量套件 63 绿+round_flow EV 锚 goblin 已知预期红 1(0.9148∉[1.00,1.20],等用户重锚);bp 对拍 292dumps×28 键 mismatch=0(双基线);冒烟 17 项 0 失败;gdstyle 基线外新违规 0/恶化恰 2;begin_battle 125 行≤141〔领域拆分批 V1〕 2026-10-27 17:08:17 +08:00
DKChan 45faa92bc5 拆件批v1.3-B3伴随(私有助手抽取与用语统一): unit_container 抽 _pool_snapshot(开战实例池快照循环体逐字迁移)与 _pct_fact_blocked(self/hero 百分比事实阈值判定——分支逐字承原,六算子统一在阈值上)、skill_table validate 抽 _validate_trigger/_validate_trigger_domain/_validate_trigger_value/_validate_basic_row 四私有段(报错顺序=报告顺序逐字承原,行缺 trigger 早退等价)、config_db_cross_validator 抽 _pool_cast_side_errs 并修复拆分稿缺陷——append_array 误落逐行循环内会按技能行数重复追加守卫报错,移回全表恰一次恢复单份报错序;curio_deck/effect_context/level_autoplay 注释与 enemy.tres/status_effects.tres 调参登记注用语统一(通关→冒险成功/关卡完成率——零数值零行为改动)。验收:全量套件 63 绿+round_flow EV 锚 goblin 已知预期红 1;bp 对拍 292dumps×28 键 mismatch=0(双基线);冒烟 17 项 0 失败;gdstyle 基线外新违规 0/恶化恰 2(存量债)〔领域拆分批 V1〕 2026-10-27 17:00:47 +08:00
DKChan 012883f301 拆件批v1.3-B2(停点刷新账拆分): curio_stop.gd 刷新三源账与付费刷计数拆出 refresh_bank.gd 新件(uid 随建)——X 件账(每碰三选一重置不结转)/Y 冒险周期池/存量券账三源+spend_free 消耗序(X→Y→存量逐字)/gp_cost 报价(ceil(基价×曲线^本次停点已付费刷))/断点片段 refresh_stock+attune_refresh_y 两键(Y 缺键回退参数面=旧档行为零变化)归 RefreshBank 零停点态依赖,CurioStop 只留停点态编排(查在途→bank 支出→重抽重发),draw_candidates/feat_ticket_consider/curio_cap_ok/pool_stock/pool_stock_snapshot/attune_refresh_left/set_refresh_* 七转发退役(消费方直连 deck());构造参改 deps 字典(deck/stats/journal/bank);restore_resolved 收编置态+重发一步(时序逐位同)。消费方改址——adventure_runner(refresh_bank() 件出口+_init 建件+start/resume 预算注入改 bank+断点拼盘 bank_frag 两键+终局池快照直连 deck.stock_snapshot)、curio_interact_controller(余量读数 free_left/报价 gp_cost)、测试七文件白盒地址随动(curio_refresh_paid/feat_vouchers/meta_progression_forge/treasure_effects/adventure_feats/level_shop_economy/pool_case_d)。验收:全量套件 63 绿+round_flow EV 锚 goblin 已知预期红 1;bp 对拍 292dumps×28 键 mismatch=0(对 after_attune 与 after_split_B1 双基线);冒烟 17 项 0 失败;gdstyle 基线外新违规 0/恶化恰 2(battle 文件行数+level_map 类变量,存量债)〔领域拆分批 V1〕 2026-10-27 17:00:26 +08:00
DKChan 4ca4ddbc42 拆件批v1.3-修复A(挂死与残留两缺陷): trigger_cond_test V6 三处旧成员读随 B4 指标面换代——_mines_hit_total/_mines_hit_last/_mines_hit_round 三计数已并入 _mines_hits 一账,断言同强度改键读(total/last/round);旧读在 _init 中段即 SCRIPT ERROR 中止,quit 永不达→headless 进程高 CPU 不退出(两轮观测 ≥18/≥25 分钟复现,修复后 1.7 秒全绿);adventure_runner resume 已兑付分支删 reemit_resolved() 残留调用——restore_resolved 已收编置态+重发一步(时序逐位同),残留调 Nonexistent function 运行期红。验收:trigger_cond_test 单跑 1.7s 全绿 exit0;bp_resume_test 单跑 2.2s 全绿 exit0〔领域拆分批 V1〕 2026-10-27 16:48:26 +08:00
DKChan fde14f1c1c 拆件批v1.3-B1(主角账领域拆分): hero_ledger.gd 整件退役→三新件按领域各归各账——hero_stats.gd(生命/特性/类型轴/生效公式与回血封顶单点/续玩钳制收口 clamp_hp_to_resume_cap/断点片段 hero_hp+relics 两键,构造注入 GainJournal 只读引用消费加算汇总)、gp_wallet.gd(gp 单写原语+片段 gp 键)、gain_journal.gd(获得记录三层+三通道 gain_bonus 单写原语+购买档数/钥石/真视+reset_adventure_accounts+片段六键,record_gain 转私有,_record_gain 词表不变);断点拼盘改三片段并集(BREAKPOINT_FIELDS 28 键序不变,_resume_ledger 三还原各取各键,日记缺键汇总直载/在档推导比对拒载逐字承现);消费方改址——adventure_runner(建件三引用+件出口 hero()→stats()/wallet()/journal()/deck(),start/restart 三件先日记后钱包再置满同序,_resume_params 钳制改 clamp_hp_to_resume_cap,载荷_base 随附钱包读数——停点件零钱包依赖)、level_runner(ctx hero→stats/wallet/journal 三键,私有三件同源成对自建,gp/hero_hp 属性改指三件,effective_ap_bonus→journal,hero()→stats()+journal() 出口,_bind_shop refs 换代)、shop_session(refs wallet+journal,BONUS_AXES 归 GainJournal)、battle_orchestrator(encounter "hero"→"journal" 键+_hero 类型 GainJournal)、curio_stop(构造参 stats+journal,兑付落账 split 指针,头注换代清 HeroLedger 表述)、呈现/探针/模拟六文件 12 处读面改址、测试六文件改址(hero_ledger_test 重写为三件测试——文件名与 manifest 行不变,新增 hs1 零引用源码断言)。验收:全量套件除 round_flow EV 锚 goblin 已知预期红外全绿;bp 对拍 292dumps×28 键 mismatch=0;冒烟 17 项 0 失败〔领域拆分批 V1〕 2026-10-27 08:10:08 +08:00
DKChan 3a20a40891 Merge branch 'master' into iter40 2026-10-27 08:00:37 +08:00
DKChan 90dbf7288c 卡①T6(拆件批wr7/V14): 改址扫尾+键账复测+替代验收六组字节一致——①S9 类型闸三处归零(open_ticket 的 context 改 := spec.get(...) as Dictionary 推断形;reward_grant 的 gate_reject/reject 改 :=——两函数返回已标 -> Dictionary,显式裸 Dictionary 注解=R1 无类型容器);S8 日志「7 个 .gd」订正 9(T1 已把两新件登进 S8_FILES,清单 9 件而提示文案漏改);②改址扫尾实测:_grant_routed 仅 1 处注释(forge_test:665)、_flush_pending_reveals/_fx_enqueue_reveal 零命中、.escrow 全为 reward_grant().escrow 新形(tests 3 处改址到位,验证集清单旧快照由 T7 重生成)、open_ticket 30 处调用全 4 参 spec 形(脚本计数)、_emit_row 全 5 参 head 束形(脚本计数)、settlement 17 列平铺代码读零命中(注释/字符串除外);③键账:gdstyle 命中 172 条=基线内 172、基线外新违规 0、恶化 1(level_map_screen 类变量 22>21=iter38 存量,非本批触碰面);本批 45 键实测 44 键零命中(宿主文件级行数 999<1000 亦归绿)+唯一豁免键 battle_orchestrator 类变量 50→38(<登记值,§11 裁决④豁免第三条归反哺点清单);基线文件零改动;④替代验收:dump_battle 六组(L{1,2}×S{42,779401,779501})按 T0 同参 stdout-only 复跑,六份与改前 JSONL 逐字节 cmp 全等(此前 2>&1 捕获的尾注 ObjectDB/resource 泄漏告警与棋盘生成重试 WARNING 属 stderr,与游戏行无关)。验收:damage_controller_test 44 checks 绿、treasure_effects 12 件绿,均零 SCRIPT ERROR〔拆件批 V14〕 2026-10-27 07:59:43 +08:00
DKChan 139cef098e 卡①T5(拆件批wr6/V13): damage_controller 拆分+参数束——open_ticket 12参→(kind,source_class,display,spec)四参 spec 束(必载 channel/base_value/target_rule/ri 缺载 assert;可选 origin_cell/attack_type/rider/highlight/context 缺省同原签名;返回单据字典九栏目+requires/source_unit 逐字不变=契约8);类变量 19→15(dig_streak/charge_layers/rider_tier_bonus/rider_tier_crit→inject 束;fx_reveal_request/fx_ac_request→fx_calls 束 {reveal,ac});函数级拆分=_hero_attack_ctx→_ctx_rewrites(按序改写族四拍+armor_roll 发射+clamp_check 唯一发射点)+_ctx_clamp_delta(克制点数+订阅改写,消费同批命中禁重复发射);_hero_attack_redeem→_kill_overflow(kill 发射+贯穿弹射);_resolve_enemy_skill→_enemy_roll(掷点/折扣/克制/池乘/下限)+_enemy_shield_apply(damage_taken 施加面 {total,shield} 穿线,发射位留主函数保减伤落快照先后序)。调用点 30 处全改 spec 形(core 14=reward_grant 3+grant_segment 7+combat_segment 3+控制器内部 overflow 1;damage_controller_test 15;system_contracts_test 1)+inject/fx_calls 注入点改键(combat_segment :34/:37/:62、begin_battle :341-347)。验收:gdstyle 基线外 0 NEW(damage_controller 9 条存量键全清:branches/length/locals×3/class-vars 19→15/params 12→4)+ unit/integration 62 套件 1698 PASS 零 SCRIPT ERROR(〔dc1〕damage_controller 44 检查全绿含 A/B 模式/死亡作废/requires 门/flush_submit/AC 合流/池乘区;〔dc2〕system_contracts 九栏目契约绿;〔dc3〕round_flow/seal_polarity/level_shop 全绿)+ system_test 70 项 0 失败三闸过〔拆件批 V13〕 2026-10-27 07:52:02 +08:00
DKChan e2a2fbf3ee 卡①T4c(拆件批wr5/wr9/V12): settlement 拆两子 Resource 段——新建 settlement_core_table.gd(7列:source_label_map/effect_pool_map/pool_clamp_lo/pool_clamp_hi/round_direction/p_perfect/seal_hit_premium)+damage_roll_table.gd(10列:equivalence_ref_damage/armor_effectiveness/roll_faces/attack_bonus/roll_tier_bounds/roll_tier_discounts/crit_roll/crit_multiplier/damage_floor/armor_roll_stream)+.uid边车;主表三列形(segment_order留主表+core+damage_roll,类变量18→3,const四枚随主表),validate拆五私有(_validate_scalars/_validate_roll_scalars(9分支超阈续拆)/_validate_frozen/_validate_tier_table/_validate_armor_matrix)错误载荷逐字同构+段缺失fail-fast;settlement.tres单文件嵌套重建(两sub_resource,18列值与尾注批注史逐字—脚本比对18/18无diff+tail_equal);消费方改址97处(.settlement.<列>→.settlement.core./damage_roll. 链式95处+cross_validator局部2处,逐规则计数断言全中;segment_order直读1处零改址);测试改址9文件含G15清单(sim/probe/config_db交叉校验)。验收:gdstyle基线外0 NEW+16套件924 PASS+零SCRIPT ERROR〔拆件批 V12〕 2026-10-27 07:41:09 +08:00
DKChan bc7a171e3d 卡①T4b(拆件批wr5/V11): combat_segment run 拆三私有——run 留案C闸复位+本轮事实推导(streak/踩雷清零)+蓄力层注入,调 _hero_strike(主角先手单+连珠矢分段)/_enemy_actions(逐敌技能行兑现,施放行与伤害行两支,hero hp=0短路)/_board_deferred_settle(地图账补提交/主角倒下留未生效行/段界flush);调用序=主角→敌方→地图殿后逐字,开单序/行发射点/载荷零变化。验收:gdstyle基线外0 NEW+十套件742 PASS+零SCRIPT ERROR〔拆件批 V11〕 2026-10-27 07:34:46 +08:00
DKChan dcdde6ad99 卡①T4a(拆件批wr5/V10): grant_segment run 拆批私有族+_judge_seal 两分+施加面分面——run 编排骨架保留(案C闸→开格批→地形批→封印批→轮末收口),批族=_reveal_batch/_reveal_safe(施加面_reveal_safe_apply)/_reveal_mine(施加面_reveal_mine_apply返回{halve_pct,mine_reduce})/_terrain_batch(damage_taken施加面_terrain_damage_reduce返回减后值)/_seal_batch(_seal_strike_batch+_seal_strike_value)/_round_end_apply(_round_end_blast_tickets);_judge_seal两分_judge_seal_hit(_seal_burst_tickets/_seal_hit_effects/_seal_preview_area)/_judge_seal_miss;段序/发射序/取号序逐字(减伤落快照仍在blas_scaled之后、counter在入队前、grant_material在提交后、escrow读改写序逐位一致),载荷与行字典字段零变化。验收:gdstyle基线外0 NEW+十套件742 PASS+零SCRIPT ERROR〔拆件批 V10〕 2026-10-27 07:31:42 +08:00
DKChan 8fb3310cae 卡①T3(拆件批wr5): 宿主超标函数拆分全清+_emit_row束形改形——begin_battle(141行/17分支/16局部/7返回四键)拆编排骨架+_begin_<段>私有族(accept含spawn受理门/dice区间骰+_dice_roll单轴函数/preview_economy),段序=受理与敌人spawn→装板→同调/fx运行态与订阅重建→常时参数与充能重置→巢穴预告与经济注入→轮始发射,取号序逐字(数量骰先/atk骰后/行集空不开流);_place_variants(52行/14局部/6嵌套三键)拆_place_variants_apply+_variants_fringe(嵌套深度5→3,variant_place取号序逐字:vrow单抽先于片生长);_emit_row 8参→5参head归因束(键集type/source_class/origin_cell/highlight缺省空,行字典字段与step_row载荷逐字)调用点全量改形28处=宿主2+grant段6+combat段2+verdict段3+decay段1+battle_fx_host emit_cb 3+reward_grant 9+damage_controller emit_row_cb 6+damage_controller_test _on_row签名+extended_row_violation直调2(卡面G5/G6清单漏计combat2/verdict3/decay1与grant段实为6处、两测试消费方,实查补全);宿主行数压至999≤1000(契约2还债归绿:拆分壳开销以家族归并+陈旧横幅合并+叙事类注释清理吸收,禁删注释凑行数红线未碰——所删皆变更叙事/三写重复说明);gdstyle键账=宿主仅剩类变量38(豁免第三条在案)行数键消失,全闸0 NEW。验收:十套件绿(round_flow/seal/feats/settle/treasure/level_shop/forge/damage/contracts/node_map_determinism)+零SCRIPT ERROR〔拆件批 V9〕 2026-10-27 07:11:56 +08:00
DKChan e40aa6f8c1 Merge branch 'master' into iter39 2026-10-27 07:05:47 +08:00
DKChan 05745df3fb 工程(闸 09 存量红照实记+基线只降不升): 撤销「把两条恶化登记为现行值」的做法(用户裁:标准是尺,不以现状为尺)——①tools/gdstyle_baseline.txt 两条登记值回退 battle_orchestrator max-file-length 1314→1302、level_map_screen max-class-variables 22→21(波 0 已批准的 18 条陈旧键清理保留不动);②tools/gdstyle_gate.py 逐条 NEW/恶化行加 FAIL 前缀——gate 09 的存量红指纹只取含 FAIL 的行,原「NEW/WORSENED」行不进指纹,两次不同恶化集指纹相同=存量红期间任何新增违规或进一步恶化都会被「同款存量红」放过;顺带加 refresh 抬升守卫(重生成会把任一登记值抬高即拒写,须 --force 显式确认;原只有骤降守卫,37625317 曾借重生成静默吸收 3 条抬高);③game/tests/.gates/baseline.json 09 条目改 exit=1+现算指纹 91d45583cf6d(红项=上列两条,逐条点名可核;此前记的 user-approved-iter38 是手写标记,永不等于现算指纹,合回必被拦),note 记现行口径:阈值不变=gdstyle 默认(文件 1000 行/类变量 15 等),还债归迭代 40 卡①与迭代 41 卡③;④static_scan.sh S13 头注补 FAIL 前缀与只降不升两句。验证:--refresh 实测拒写且基线文件逐字节未变;静态扫描实测 exit=1,两条恶化逐条列名。 2026-10-27 06:27:36 +08:00
DKChan 4f4a9bdaad 工程(闸 09 基线刷新): 用户裁不还债, 两项恶化登记为现行值——gdstyle 基线重生成(216 条, 消失键 18 条为历史改善键清账; 恶化 2 条 battle_orchestrator max-file-length 1314/level_map_screen max-class-variables 22 登记为现行值)+.gates/baseline.json 的 09 条目改 exit=0/fp=green。还债归迭代 40 卡①(B1战斗域拆件批已写明 iter38 行数恶化债本批还债归绿), 该批合回后再次刷新收紧。 2026-10-27 06:12:35 +08:00
DKChan cc02bb9315 卡①T1+T2(拆件批wr1/wr2/wr3): BattleFxHost+RewardGrant两新件建件+fx/grant族迁移+use_treasure拆分+三触点分家——battle_fx_host.gd(14类变量:bundle7+grant_cb+engine+counters_ctx+ac/reveal两束;fx_emit/emit_round_start/apply_ac_bonus/enqueue_reveal/flush_pending_reveals取号序逐字/rebuild_subscriptions/mount_buckets/reset_battle_state/bonus_delta_drain/reveal_busy)+reward_grant.gd(15类变量:bundle11+escrow+defer+treasure_inventory+battle_ledger;grant_routed随att归因束改形/submit案C闸/use_treasure四步骨架+_charge_gate+_apply_use_kinds+_safe_dig_open+_cell_removal_open/grant_clear_reward三参形宿主态经参传入/reveal_redeem兑付回调面);宿主删fx族11成员+grant族3成员,组件出口fx_host()/reward_grant(),_fx_host_fact五事实单点+_attune_safe_seen_read读投影,treasure_inventory带setter转发,begin_battle七接线点改指,_battle_over改bonus_delta_drain,_roll_gp_drop读_reward_grant.escrow;两段三引用构造(与T4接口块同形先行)读写面改指(oc._submit实为7处G5清单漏1,oc._fx_bonus_delta axis/axis_f两形);treasure_interact_controller改ctx束8键+三现值同查+inventory_projection拆_projection_row/_auto_row;main_ui_build构造改束(grant_get=run_scope.settlement.reward_grant()现值);S7/S8登记两新件7→9;测试改址:adventure_feats 75+round_flow 8+treasure_effects 7(含G11漏载的ctrl4构造点)+settle_segments 3+seal_polarity 10(含G11漏载的_grant_clear_identity直调)+level_shop 4+forge 2,另修reward_grant内部_submit/_outcome_of旧名三处与adventure_feats orch._fx/orch0._fx.rebuild两残漏(脚本错误静默吞断言假绿形态,修后feats 138PASS/seal 73PASS恢复全额);代拍板:①RewardGrant bundle 12→11键(minesweeper改经fx_host同源引用)腾位battle_ledger独立成员(卡面15≤15算术缺口,16键=基线外NEW停卡不可取)②bind_grant落_reward_grant.reveal_redeem(query_full_snapshot唯授予件持有,D1「RewardGrant授予面」兑付回调口径)③续拆四私有(迁入形逐键过阈值义务)④grant_clear_reward测试改址传宿主态读(s._board_from_midround_refresh/perfect_sweep_earned)。验收:七套件直跑绿+零SCRIPT ERROR+gdstyle基线外新违规0(battle_orchestrator行数恶化键随拆件归绿989<1302;level_map_screen 22>21=iter38存量漏登记非本批触碰面)〔拆件批 V8〕 2026-10-27 06:07:15 +08:00
DKChan 88bd4de09a 收口(迭代39审计闭合): 独立验收审计通过(附例外)——三件合并前事项处理:V3保底不逼断言落码(special_skills双态+SkillLottery 30摇零逼出,夹具内存改行白盒先例)/level_shop_economy RunLedger注释残留清+al4零引用源码断言落hero_ledger_test/审计备案两行入反哺点12-13(check_quiet提取器局限+V5基线载体改道);审计报告落位(对照表8行抽查/undo1复现红绿/削弱检查72删全改址/S13基线零改动/292×27键零漂移) 2026-10-27 05:31:12 +08:00
DKChan 8bfd249402 工程(user目录隔离): 每个代码面 worktree 独立 Godot user 目录+系统测试 V3d 缺帧修正
- 机制: tools/setup_worktree_userdir.sh 在建区后生成 game/override.cfg(use_custom_user_dir + 唯一名 DungeonSweeper_<区名>_<绝对路径 sha1 前 8>), 主工作区 no-op 保持真实档原位; .gitignore 收 game/override.cfg
- 闸壳: run_all_gates.sh 参数解析后先自检/自愈本区隔离, 建不起来 exit 1(fail-closed)——并行批共用一套夹具/日志/截图目录会互相踩盘, 是假红的根源
- 读取面: 新增 tools/godot_user_dir.py 统一解析(有 override→custom dir, 无→默认 appdata/Godot/app_userdata/<config/name>); parity_anchor.py 与 analyze_playtest.py 的硬编码 APPDATA 路径改为调用它
- 流程: process-conventions §1 第 1 条(建区即跑 setup)与 §3 环境基线第 4 条(闸壳自检); iter 技能冷检出三件套→四件套(.zcode/.qoder 两份本机副本已同步, 不入 git)
- 系统测试 V3d: 隔离后空 user 目录(无 settings.cfg)使 reduced_motion 取默认 false, 实查暴露 V3d 真实缺陷——测试同步驱动整场战斗后同帧 flush, RowPacer._was_pumping 从未置真, 演播后排窗的 pump_ended 边沿不触发, _end_overlay 永不打开; 旧绿只因本机 settings.cfg reduced=true 让排播走 consume_now 快路绕过队列。补一帧 await process_frame 让泵先观测到非空队列再 flush, 恢复真实边沿路径
- 取证: 隔离空目录下 00 冒烟 17/17、02 单元与集成 62 套全绿、03 探针 --click 全绿; 01 系统测试修正前 70/1 红(仅 V3d)、修正后 reduced=true 与 false 两档均 70/70 绿
2026-10-27 05:23:13 +08:00