Commit Graph
78 Commits
Author SHA1 Message Date
DKChan a2886a5336 iter50-卡3:卡C(架构审查3.1+3.2整改): T0基线对账+乙案规则键参数字典全库贯通+丙案节点图三参数入表域并单点+戊案出生区入表+丁案经济三件+甲案死效果通道退役+A类①双写四处置+庚案驱动循环收敛+己案sim信息面出口(preview_reveal+0格连锁)+组D退役+组C确认; 断言V1-V15+负面件+新件4; 77套件+gdstyle 0新增全绿; 产出物实现报告与反哺点清单落位 2026-11-03 06:31:05 +08:00
DKChan 654aa73986 修复(迭代45·CI追绿): resume_adventure超函数长度键清偿——壳吸收宿主侧回填语句后55行超默认50,把续玩收束段(停点直回/已兑付重发/无停点续玩起步19行)按原语句序抽为宿主私有_resume_pending_or_start,壳降34行语句序逐句不变所有权零变化;干净树复验三断点套件全绿+S13零新键;CI同轮02/09另两红经干净树分离判定系布局几何单点化批未提交代码脏改,非本批面(实现报告§6.15) 2026-10-31 01:47:26 +08:00
DKChan 9b0b164d38 iter45-卡2:board_hover+breakpoint_store拆件(R2整族归件,27键冻结,键账31/27/23留债)〔补件V1-V2〕 2026-10-31 00:33:02 +08:00
DKChan a613a3cb90 iter41-卡1:核心数据面结构收敛批:85键全清——三族拆域+config_db归位容器+存档拆件+meta瘦身+adventure拆段+spawn束化;行为零变化,8新件在阈 2026-10-29 01:33:50 +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 80fe4b8f42 副卡(配装批wr1-wr3): AttuneLoadout建件+充能单源化+RunLedger整类退役——attune_loadout.gd新件(纯无状态:种行seed_for_adventure全量不筛周期/reset_cycle按周期差额补行/consume_charge行标used幂等/charges_left行派生唯一读法/断点片段键值形状不变);三处事后差额对账退役(adv._seed_attune_charges/level.sync_attune_inventory/battle._reseed_attune_charges循环体→reset_cycle);行承载面升级=treasure_inventory提冒险级共享(adv建件经ctx注入level,关末清空改选择性保留——同调未用行跨关存活=原字典轨跨关记忆的行化等价,已耗行作废=C区投影与剩余读数同构);battle充能面改指loadout(encounter+loadout/−ledger键,:387类型检查删,直构null=零装配同语义);RunLedger整类删除(.gd+.uid,grep零引用;effect_engine/level_runner/hero_ledger注释面随批清);测试直构改址(meta_forge充能读行派生/feat_vouchers种行幂等反例/round_flow V1桶宿主字典/treasure_effects enc adv_bucket);跨版续玩兜底(改前档关卡完成停点行已被关末清空——键在行缺,按键值差额补行=与字典轨续玩逐位等价,新档行集为源差额零操作)。代拍板:①treasure_inventory提冒险级共享(卡片文件结构图treasure_items零触碰保持,关卡末清空语义调用点改选择性保留——「同调行始终留在treasure_inventory」的承载前提,玩家可见C区投影零变化)②跨版续玩键值兜底补行(契约3「行集为源」的跨版例外——al2对拍兜底)。验收:bp1对拍292dumps×27键——attunement_charges全部逐位一致(单源对拍达成);aux_items关卡完成停点24处留存同调行(「同调行始终留库存」的直接承载——副卡契约3「aux_items键值形态逐位不变」声明与行留存在该停点形态互斥,grilling⑨K4实查边界漏判,反哺点呈报);六套件零红+冒烟17项0失败〔配装批 V1〕〔配装批 V2〕〔配装批 V3〕 2026-10-27 04:36:18 +08:00
DKChan 659d59edd3 主卡T5(拆件批wr7): 转发属性25条撤除+测量面改址收口——adv 4条(_curio_taken/_curio_deck/_feat_ticket_pity/_feat_ticket_sold直指件成员改写后删)、level 7条白盒属性删(内部直指_shop)、board 13条删(内部消费约30处改直引_palette/_hero_sprite件成员);A类直读47处+ui_input_probe 6处改指件;C类方法面调用全仓改adventure.stop().X(委托壳退役——契约5纯转传清偿,adv删pick_curio/apply_node_curio/skip_empty/refresh族/pool_stock/凭证委托11个,ctx组包改直引_curio.deck/feat_ticket_consider/cap_ok);新件压默认阈值(hero_ledger删_gain_seq序派生15变量合规;curio_stop删_attunement改_refresh_x_cap预算注入——装配集冒险期间锁死契约8等价,start/resume双路注入);battle_orchestrator压行还债(begin_battle局部变量归位);验证集清单重生成(66源文件/1596调用点,标签cond计数三对齐零差异)。S13读数:三宿主全部改善——adventure_runner类变量42→23(-19)/公开方法23→≤20归零、level_runner 38→28(-10,达标约30)/54→50、board_view 45→32(-13,精确达标);存量红面=新件5条NEW(接口块公开面29/31方法+迁移函数既有超标形态,原基线adventure_runner同函数同值登记)+恶化4条(battle拆件接线3条+level_map_screen 1条iter38存量漏登记——本批零触碰),收口前呈报用户裁决〔拆件批 V7〕 2026-10-27 04:14:10 +08:00
DKChan fa1409f491 主卡T4(拆件批wr6): 断点片段化+获得日记键——level_runner关卡域自交片段(breakpoint_fragment五键node_id/visited_ids/aux_items/shop_shelf/shop_visit_buys+restore_fragment收编_resume_bp直读面含道具库存回填);adv拼盘口重写(_bp_parts=三片段收件:主角账账本键+获得日记/停点件停点态+刷新三源+凭证/关卡件节点域五键——池域taken/deck与桶关序应用层自拼,拼盘完整性自断言fail-fast未登记键中止);BREAKPOINT_FIELDS扩列gain_journal键(28键——契约2唯一声明扩展,旧档缺键=hero.restore_fragment汇总直载跳过比对,日记在档=明细推导比对不符拒载);_resume_curio_state relics段去双载(随主角账片段)。验收:bp1对拍292dumps×27键逐位零漂移(五时点一致)+gain_journal单列在档核对全过+P8冻结清单换代28键+bp2旧档回退与推导比对断言(hero_ledger_test hr2段)+bp3续玩真链(breakpoint_resume现役)+十套件零红〔拆件批 V6〕 2026-10-27 03:55:55 +08:00
DKChan 4da7f3e2f2 主卡T3(拆件批wr4/wr5): 应用层收薄+构造注入+信号直连——adventure_runner六转发信号族与_forward_*方法删除(选路快照双职改核心侧受理_on_level_choices_presented直订level信号;stop信号中继删);level_runner构造注入一次给齐(_init收ctx十二键:hero/ledger瘦壳/adv_bucket/attunement/tree_rules活引用/shop_mode/treasure_unlocked/类型轴/凭证出箱/pool_wiring四参——后置setter群八件与set_hero/set_run_ledger退役,_bind_shop全仓仅构造一处,头注补关卡开始信号前零发射契约,八白盒属性内部改直指_shop);adv _start_current_level组包ctx(_inject_level_params退役改_emit_level_started只广播);呈现/测量信号直连(main_adventure_flow _connect_runner_once六信号level_started重取点is_connected守卫重连+三选一订stop();autoplay增订level_started同关守卫重连三信号;curio_interact_controller 14处adventure.stop()改址);测量面残留换代(bp_baseline_dump直连改level_started重连/ui_tune_probe与main_debug_flow keystone读hero());测试直连面换代(breakpoint_resume P5订stop()/adventure_feats信号序观测level_started回调内重连——bind句柄每回调新建不以Callable相等判重);sc3源码断言落hero_ledger_test(_bind_shop全仓仅构造一处/_forward_族零命中)〔拆件批 V5〕。验收:bp1对拍292dumps×27键逐位零漂移(改前/T1/T2/T3四时点一致)+十套件零红+csf集成绿+冒烟17项0失败〔拆件批 V4〕〔拆件批 V5〕 2026-10-27 03:51:35 +08:00
DKChan 4a9e4300ad 主卡T2(拆件批wr2/wr3): CurioStop建件+CurioDeck纯池化——curio_stop.gd新件(停点三态/刷新三源账/兑付族/凭证出箱voucher_outbox/信号面自带/rebind_level_runner每关注入GP回调防调死对象/open_level_clear收编关卡完成停点段);adventure_runner停点面迁出(停点方法族留组合根薄委托——T5 C类收口;stop()件出口;信号中继法转发——T3直连前承转;_resume_pending迁stop.restore_pending含token_migration;resume已兑付分支stop.restore_resolved;_bp_parts停点键改stop片段取数);CurioDeck纯池化(bind_handlers/consume_pool_purchase反向回调退役——商店消费链ShopSession→注入Callable→stop.consume_pool_purchase兑付单点);测试挂死级改址随批(直读写已迁字段30+处→stop()件测试构造面,语义=原直写——G2b清单停点域全部);cs1/cs2/cs3现役断言承继尾缀落点(拆件批 V2/V3)。验收:bp1对拍292dumps×27键逐位零漂移(改前/after_T1/after_T2三时点同种子逐位一致)+九套件零红+csf集成绿+冒烟17项0失败〔拆件批 V2〕〔拆件批 V3〕 2026-10-27 03:04:22 +08:00
DKChan 92ae63c299 feat(通关口径换代·提前实施卡批 T3/T4): C 面注释清扫 61 条(core 六件 29/adventure_runner 14+save_manager 9+level_runner 3+其余 3/表头注 5/enemy 768 验收判据+871 设计基准/treasure_items 11/adventure 51/meta 55/schema 4/sim 11/README 7/呈现层四件 8)+S11 豁免单 7→20 处(.tres 段 12+level_autoplay:560,头注避词「口径换代」防自撞)+tests/README S11 豁免计数 4→20 订正(quotaface 漏同步随批修)+体验验证清单 3 行(:107 关卡完成率/:193 冒险成功局数+各关完成次数+才计冒险成功/:198 引语);件核三判据过(S11 等价验证器零命中+豁免撤销证明 hero.tres:21 去豁免即红/冒险终结零命中/清单对账零差异);grep 残留=豁免单 13 行+被检字形态,非豁免残留清零——208 处基线全数消化(12 产品+111 随动+84 注释+体验清单 3+README tests 1=211 改动行,其中豁免保留 13) 2026-10-26 07:32:40 +08:00
DKChan e5ee4d04f0 refactor(runner拆件): 令牌池与商店族拆出两件+断点字段登记单源(零行为变更)
- curio_deck.gd(新增):令牌多重集/抽签/cap/凭证三计数与判定唯一宿主,随机经注入 rg 面;宿主公开面委托保持原签名
- shop_session.gd(新增):双模式货架/定价/购买/刷新入件,钱包原语留宿主经回调落账
- adventure_runner:BREAKPOINT_FIELDS 27 键登记单源驱动写侧拼装与两处读侧回退;续玩段拆为六小函数
- level_runner:商店族 21 函数转委托层,9 个成员改转发属性(类变量计数保持 38)
- breakpoint_resume_test:新增 P8 键集==写侧实拼键集与策略标签词表断言〔wr2〕
2026-10-25 07:32:20 +08:00
DKChan 1b9736f065 fix(iter37①): T1 core 域缺陷修——单据归属判定/数值入表/公式单点/信号契约载体统一
- d1 伤害控制器来源敌作废判定 `==`→`is_same`(同内容异实例不再误废;夹具双敌两断言〔wd1〕)
- d11 shop 表新增 relic_base_price/spend_discount 两 knob+域检+ConfigDB 访问器+level_runner 读表;
  level_shop_economy_test 三表值断言+relic 现价读表与迁移前字面量逐位等价〔wd11〕
- d16a HeroTable.display_name+域检+访问器+unit_container 读表;spawn 真实链断言〔wd16〕
- d14 board_generator 目标雷数公式单点 target_mine_count(两调用点改引)+legality 去 db 参数(两调用点同批改)〔wd14〕
- d15 蓄力层上限 CHARGE_LAYER_CAP 常量(两处字面量+注释随动)
- d16b unit_container/status_container 六处 Dictionary 取值显式 int() 包裹(读侧包)
- d10 minesweeper 两信号按 §2.1 三要素补契约(载荷键集按发射位并集实查)+全库 28 处信号注释载体 #→##

撤销证明:回退 d1 hunk → 同容异实例断言红(A 单据被 B 死亡误废),还原复绿;
回退 d10 契约 → 契约在位扫描 undocumented=2 红,还原归零。等价类申报(d11/d14/d15/d16)见实现报告。
代拍板:#1 target_mine_count 签名(照接口块)、#2 契约措辞与载荷键并集(实查发射位)、#4 int() 读侧包写法。
2026-10-25 03:35:55 +08:00
DKChan 9ee3bea194 refactor(迭代35卡②T2·二口+T3 S1/S2/S6/S8): 消费侧切源落定+断言面换代主体——① level_runner 图源换代(_generator 取代模板解析,_assign_generated_graph 读 level_gen_params 参数档产图并过 LevelTable.validate_graph,违规起关拒绝零兜底)+_entry_nodes 多入口首跳+_node_id 句柄单空间+enc node_depth 取节点 depth 值;② adventure_runner/main/save_manager 模板链路退役(first_script 参数与 template_pick 计算全删,断点 template_pick 键换生成图代差标记键 graph_gen_v2,缺键旧断点 resume 显式拒绝禁静默回放);③ level.tres 三行 templates 键清出(15 张模板数据出表,行级字段留,表尾注释改指参数档+生成器);④ sim/probe 随动(run_level/run_adventure 尾参退役、MC 出数字段 level_templates→level_maps 值=关卡#主种子、探针注释性质化、boss_depth 取节点 depth 键);⑤ 断言面换代:node_map_templates 宿主整段重写为生成图确定性套(纯函数复现/换种子变图/零计数器号位依赖/单一图源/种子 42 两开局同图/断点重生成同图/缺代差键拒绝/表无 templates/收束置位三条保留),breakpoint_resume 新增 P7 六断言(快照无已抽模板键、代差标记、停点句柄与已到序往返、续玩同图、旧断点拒绝、同种子重开局同图),S8 单测随动 first_script 键清退+断点夹具换代+meta 参数面 extra 键样换 treasure_unlocked(语义保持),S2 生成图取数面三宿主替换(level_active_nodes 走参数档+种子 42,消费点深度键换 depth,round_flow 死件 _boss_depth 随删),adventure_feats 覆盖义务段改真实解析链判据(敌侧落带≥请求深度+板侧命中+非空扫描面)、奖励节点段换「图侧含件+真实选路点选呈停兑付」双断言(旧单链必经形状前提随模板消亡,非放宽:经停即呈候选由真实 pick_next_node 入口证明)、商店余额段按每关恰一店投影改三关读数 2026-10-24 18:59:57 +08:00
DKChan 003581f4c4 feat(卡② T7-V10): static_scan 新增 S12 旧件零残留扫描 + 清尽注释内旧符号
- S12 扫 game/ 全域 .gd/.tres(改名与旧符号同存数据行/测试/smoke,非仅 core):
  counters_export/counters_seed/counters_merge_export/counters_seed_snapshot/_reset_tree_limited_counters
  + 带引号旧 id "tree_sense_*"/"twin_digs"/"instinct_atk"(引号锚定不误伤新名)零命中
- 非空扫描面自检(185 文件);注入 counters_export 见红、还原回绿(变异验证取证)
- 迁移注释措辞去除旧符号字面、feat_vouchers V16 写键 twin_digs→adv_twin_digs
编号说明:卡① 已占 S11(代码注释禁用词),本扫描落 S12(卡片成文时 S11 未定义,属卡片与现实偏差,归反哺点)。
2026-10-20 23:22:44 +08:00
DKChan ae5baed699 feat(卡② T1): EffectContext 新建 + 四宿主接线(引擎接口未动·纯 ctx 引用束)
- 新建 game/core/effect_context.gd(四桶公开类型化字段,零方法)
- BattleOrchestrator:fx_counters_round/fx_counters_battle/counters_ctx 三成员,_init 建 ctx 挂自有两桶,
  begin_battle 挂 adventure_bucket(=_ledger.adventure_counters) 与 level_bucket(enc["level_counters"])
- set_fx 三协同件扩 ctx 参并存 _ctx(引擎 API 暂不改,T2 动)
- LevelRunner:level_counters 成员 + enc 下传
- 删 _reset_tree_limited_counters(按关清零改由 level 桶随 new 承载)+ 调用点 + 冒烟旧 V10 直呼断言
冒烟 1150/0(旧断言随函数退役,-1 项符合预期)。
2026-10-20 22:55:28 +08:00
DKChan b6629d6848 feat(T2-T6): 五词注释换代——完美排雷→完美封印/板级→整图/门票→专长凭证/正主→现行事实源/落籍→已入库
全局 sed 替换 89 处命中清零(S11 绿)。修复:
- 移交 3 处保留原词(shop.tres:86 display_name、curio_controller:165-166 玩家文案)
- 豁免 enemy.tres:653 历史注记保持"已落籍"
- static_scan.sh 词表追加行与头注恢复禁「」引举句式
- S11 规则文件自身不被自身规则误伤(闸门自指豁免生效)
2026-10-20 20:41:50 +08:00
DKChan 6d601d23dc chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革 2026-10-20 00:22:18 +08:00
DKChan 072c19b4a5 feat(凭证件裁削): 卡② 同调电池删除+完美保险迁专长+配额净删落地(迭代 31 卡②)
用户 2026-10-18 逐裁四项落码:
- T1/T2 同调电池整件删除:CURIO_KINDS 摘 kind、三字段与三处分发表分支删净、
  runner 侧 _battery_pending/断点键/getter/choose_battery_target 全清(呈现层零接线=有账本无入口)。
- T3 完美保险出池:kind/字段/分发摘除,_pending_insurance 与 level_runner 注入通道
  (voucher_insurance 键、set_voucher_grants 第三参)整链拆除,battle_orchestrator._fx_insurance 删。
- T4 引擎扩签 forgive_seal_miss(EFFECT_KINDS 31→32)+两账相减:新增 _perfect_forgiven 单向累加、
  谓词抽成 perfect_sweep_earned()(有效误标=误标总数−豁免数),_perfect_hit_false 保持纯净=契约 2;
  seal_missed 发射时机与消费点零改动=契约 3(危险直觉·守同事件订阅面在验收组里对拍)。
- T5 feats.tres 第 30 行完美保险专长:rarity rare/cap 省略/domain=battle 显式写出(战斗域首例)/
  desc「本场首次封印落空,不计入完美封印判定」;限次由行 when counter(insurance_used) lt 1 承载,
  do 自带 counter_id 记账由授予段消费点落账(代拍板 3 选型:单行落表,理由见实现报告)。
- T6 配额净删:TIER_QUOTAS rare 9→7、令牌池总量 104→102,validate() 硬断言过;smoke 配额锚/牌库
  构成/专长行数随批换代。
- T7 验收:feat_vouchers_test 39 项全绿(出池反例/断点缺键兼容/账本保留/配额锚/装载/限次一次/
  计数纯净/两账相减真值表/跨战清零/事件不吞)+forge_table 词表闭集断言 31→32。
  变异验证 6 条:5 条证红;「domain battle→adventure」在本 rig 不可观测(未红),已如实登记。
- 存量缺陷顺带修:旧 _emit_row("insurance_used","",…) 空来源会触发行来源断言(旧路径无消费点故从未走红),
  新订阅面给出 source_class=seal_miss。

基线(卡① 合回后 master 4f953ce8):冒烟 1151/0、单元 34 套全绿、探针 --click 全绿(user:// 存档移开态)。
2026-10-19 04:45:49 +08:00
DKChan 9a72394652 chore(代码卫生): 头注存量清偿批——82 文件按两类白名单改写为 ## 文档注释载体
按 code-conventions §1.4.1 第三轮定稿执行:core 22+schemas 18+presentation 根 14+views 28,全部头注 #→##、删日期/变更叙事/GDD 与架构反向链接/字段与域清单/机制描述,保留职责摘要+真实使用约束(防事故禁令/单一入口/信号契约每信号一行)。main.gd 31→5 行、save_manager 45→5 行、adventure_runner 37→5 行为最大单件。子代理分模块执行(波一 core+schemas、波二 presentation+views,并发≤2)。验收=tools/verify_comment_only_change.py 逐字节校验(82 文件头注区外逐行一致=零行为变更)+audit_file_headers 全绿;纯注释批免冒烟(先例 5843270)
2026-10-16 23:28:07 +08:00
DKChan 6c2dbc37c1 docs: ADR 体系废除 + architecture.md 确立为架构唯一事实源(2026-10-15 用户令:决策记录归 git commit log,不另存决策文档)
- 删除 design/dev/architecture/adr-0001~0007 共 7 份文件(内容留 git 历史可查)
- architecture.md:删「ADR 审计」「ADR 立项清单」两节;清除全文 ADR-000X 注记、QQ 表/S 表 ADR 引用;未决表关闭已落定项(QQ-01/02/03),立项清单在途事项转登记 QQ-11~14;补 A1 生成姿态事实、autoload 四件清单、board_generator 性能姿态;文档状态立「事实源地位」条
- CLAUDE.md:恢复 RNG 单点硬性红线(去 ADR-0007 引用);新增「架构事实唯一源」红线;规范导航架构行标注唯一事实源
- doc-conventions:§5 增「架构事实唯一源」行;§11 活文档清单补架构文档
- registry:architecture.yaml 删 18 处 adr 字段、autoload_set 补 SaveManager/MetaProgression、board_rending 更新为 Node2D 已落地事实;entities.yaml 12 处引用清除
- game/ 代码注释约 60 处清 ADR-000X 引用(事实与日期保留);豁免标记 ADR-0007-exempt → rng-seed-exempt(main.gd/static_scan.sh/architecture.md/06/iter27 五处同步)
- GDD/qa 实现报告/research 卡片/roadmap/tests README 引用全清;死链校验 1206 链接 0 死链、gdd_lint 0 不通过
- 代码中 adr/adr5 等为 adventure_runner 既有局部变量名(非 ADR 引用),未动
2026-10-15 23:52:30 +08:00
DKChan 5f9d8e7b77 chore(代码卫生): 文件头零工作日志红线落文+全仓头注变更叙事清偿(2026-10-15 用户令)
- CLAUDE.md 硬性红线新增「文件头零工作日志」;code-conventions.md 新增 §1.4.1(含反面案例)
- 全仓 .gd 文件头注清偿:删除全部带日期条目、批次叙事段与迁移退役叙述,保留并改写为
  现在时的职责、接口契约、GDD 锚内容(main.gd 头注 42→31 行、save_manager.gd 49→45 行)
- 纯注释改动零行为变更,按用户令免测试免冒烟
2026-10-15 04:08:38 +08:00
DKChan eea345882b feat(迭代27 T6+T7): 波五b 卫生件包+文档同步闸——对拍全同
T6 卫生件(P2 组收口):
- 死代码 13 函数删除(审计 16 处复核=ui_kit:486 实读现役不删,追认单#14)+FeatsEngine
  整文件退役(class_name 注销)
- 字符串 Callable×10 位→方法引用形态(编译期方法存在性校验;语法实证 METHOD_REF=true)
- 状态机 enum 化: adventure State(外部 String 契约 getter 词表逐位一致+外部纯读实证)/
  standee HeroState(register/set String 形参零变化+probe 面恒等)
- ConfigDB _fatal 退出归根(核心层去 quit/crash→_fatal_flag,决策归组合根 fail-fast 通道)
  +resolver 诊断/数据通道全面 Callable 化(ConfigDb↔Resolver 类型环断根)

T7 文档同步闸:
- 实现报告 design/qa/iter27-实现报告-2026-10-14.md(五波+闸表+追认单十五项+反哺点两条+目检五件)
- 06 迭代 27 条销号+GDD 反哺点两条新条;07 ㉖ 目检节+v1.0 版本行;roadmap ✅ 换代
- 审计报告本体按退役规则 git rm(吸收即死;修正计数由卡片承载);卡片来源行改指路

闸: 对拍三变体全同(第五跑)+冒烟 1081/0+run_all 27 套+probe click+render golden+static_scan 全绿
2026-10-15 01:41:37 +08:00
DKChan b605022001 feat(迭代27 T5): 波五a 类型闸拉起+存量收口——审计器 0 存量+warning 配置在位
P1-6 类型闸(须 T1-T4 全落后——本波按执行顺序锁殿后):
- tools/audit_type_hints.py 新机器闸(V7): R1 无类型容器注解/R2 有值返回缺返回类型/
  R3 参数缺类型三规则+行级 # type-hint: ignore 显式白名单通道;产品码 core/data/presentation
- 存量收口: 368 处显式 Array/Dictionary 非参数化注解→机械参数化(Array[Variant]/
  Dictionary[Variant, Variant] 零行为面);13 处参数真类型(SaveManagerCore/ConfigDb/
  BattleOrchestrator/MinesweeperRules/LevelRunner/SettingsStore 等)
- 白名单豁免四处: board_generator generate/_attempt/legality/_finalize 的 db 参——
  测量面 _BoardRowStub 冒烟夹具鸭子型注入(typed 参拒 stub)
- project.godot 拉起 gdscript/warnings/untyped_declaration=1(V7 源码断言在 smoke _smoke_type_gate)
- static_scan 新 S9 类型闸规则;顺修历史 cd 错位(9-24 布局迁移后 /.. 落 game/ 致守卫
  恒跳过静默空转——修复后 S1-S4/S9 首次实跑全绿)+S1/S2 增 ADR-0007-exempt 标记豁免通道
  (main _seed_value 引擎熵源=文档化豁免面)

验收: 冒烟 1081/0(+V7×2)+run_all 27 套+static_scan 全绿+probe click+render golden+对拍三变体全同
2026-10-15 01:05:17 +08:00
DKChan 6fd7d782cc refactor(迭代27 T3): 波三 账本收口——RunLedger 单类持四账+刷新双账删副本+gp_final 键删影子账——逐位一致对拍全同
P1-4 共享账本 Ledger 类化(裁点②甲 单类持四账):
- game/core/run_ledger.gd: attune_charges/vision_counter/adventure_counters/bonus 四账
  单类承载;战斗侧只拿 read/append 原语(attune_charge_has/set/consume、vision_count_add、
  counters_seed_snapshot/merge_export、bonus_add_axis)——战末 export/开局 seed 时点语义不变
- AdventureRunner 持账(run_ledger)→ LevelRunner set_run_ledger+sync_attune_inventory
  (原四散 setter 收口)→ enc 单键 ledger 下传;编排器三裸引用成员退役为 _ledger 原语调用
- 调试/单场缺省新账=零扰动面(vision_counter 缺省空=不计,原 enc 缺键守卫语义保留)

P1-2 刷新双账收口:
- main 刷新计数副本(run_scope.refresh_used_round)删除;单一事实源=编排器受理计数
- presentation_snapshot 成文面升键 refresh_used(can_refresh 邻位)——HUD 余量/遥测
  round_refresh_index 单源读快照;V5 快照一致性断言×3(smoke+ui_click HUD 文本比对)

P1-3 GP 影子账收口:
- adventure_runner summary 增 gp_final 键(close_wallet 清账前快照)
- gp_shadow_ledger.gd 全件退役删除;main 委托缝/会话账本成员删除;终局面板 GP 行
  取数=summary 键;ui_probe 影子账断言换代为 summary 键断言

验收: 逐位一致对拍三变体全同;冒烟 1079/0+run_all 26 套+probe click+render golden 0.00%
2026-10-14 23:25:45 +08:00
DKChan 8e04807d4a fix(缺陷修批): Y断点随存——attune_refresh_y 入断点快照+续玩优先读断点(堵「用完 Y 退菜单再续玩满血复活」可利用漏洞;旧断点缺键回退参数面=旧档行为零变化)——06「天赋树实装批登记欠账三条」③,2026-10-13 用户令提前单独开修(按正常流程走)
代码两处(adventure_runner.gd):①_snapshot_breakpoint 断点字典扩列 "attune_refresh_y"(refresh_stock/battery_pending 同款六先例,扩列向后兼容);②resume_adventure Y 注入行改 bp.get("attune_refresh_y", params 回退)——花掉不回血,续玩保持已消耗态。

单测:curio_refresh_paid_test 新增⑥段两断言(断点有键=余量随断点还原花1剩2/旧断点缺键=回退参数面整额注入旧档零变化)。

文档三件随批(机械面同步):①存档序列化.md v1.8——断点随件键 attune_refresh_y 登记,v7 域后扩列不升版(v1.6 vision_used 先例同款,SAVE_FORMAT_VERSION 仍 7 无迁移分支);②冒险结构.md v0.21——「冒险断点」节附随件清单扩 Y 刷新池余量(断点字段口径 owner);③06-待办清单——欠账三条专条③✅销号注记+状态行换代(①②维持归 M4,本条转记账条无待裁点)。

批末闸:冒烟 938/0+单测 24 套全绿(含新⑥段)+doc 三闸对基线零新增(死链 3/term 旗与 gdd_lint 3 件 FAIL 均存量——迭代 23 并入后基线,本批三文档零新增旗);零数值零表值改动。
2026-10-13 02:05:17 +08:00
DKChan ed0629236a feat(迭代23-T4): 注入接线——hero_override 公式换代(FORGE_ROUTE_BONUS 退役)+两轴参数面全链+入战 AC 三层
- meta_progression.hero_override:atk=forge_weapon_atk_bonus+树 flat / armor_class=forge_armor_ac_bonus+树 flat / max_hp=树 flat;FORGE_ROUTE_BONUS 预留常量退役(公式不再出现,注释留痕)
- main.build_adventure_params:+attack_type/armor_type 两键(meta.hero_attack_type/hero_armor_type——存档选中路线类型轴,异常回退锻造配置默认值)
- adventure_runner:params 两键快照入公有 hero_attack_type/hero_armor_type(契约 8 锁死可断言面;start/resume 双路同),_start_current_level 经 set_hero_axes 下传
- level_runner:set_hero_axes 注入+effective_ac 换代=甲型基础 AC(forge_armor_route_by_type.base_ac)+路线加值(base_override)+局内加算区(bonus)三层;enc 携带两键
- battle_orchestrator:spawn 传 enc 两轴(空串=锻造配置默认值回退——行为连续)
- 冒烟 V5 后半/V6 锁死/V7 公式对拍+V10 树零攻防复核共 15 断言(含 enc 末端 hero_attack 行 pierce 键+spawn 显式注入)
- 轻闸:冒烟 938/0(923 基线 +15)+run_all 23 套全绿;删除标识符 live 引用零残留(FORGE_ROUTE_BONUS/hero 两轴仅存退役注记与 README 文档面=归 T7)
2026-10-13 00:09:17 +08:00
DKChan 73db171cb4 T5(迭代22秘宝批): 存档面+死通道拆除——treasure_inventory保留注记(主动件骑库存承载在役:线香/天眼handle+断点aux_items快照+set_attune_charges差额注入全链保留); 替换子交互整体拆除(CURIO_KINDS除名后不可达死通道=装配不可变契约1实现面保证): adventure_runner六函数删(_pick_treasure_item/resolve_treasure_replace/_resolve_node_replace/_replace_in_transit/_draw_pending_treasure/resolve_curio_replace)+_bonus_treasure_carry跨关携带/_last_draw_treasure掷定链/_roll_from/_bonus_treasure_pool/bonus_aux_carry断点键; level_runner.grant_treasure_item/treasure_items.holding_records删; 呈现面=controller替换子态三函数+aux_detail卡片直显链/curio_pick_overlay replace状态机(信号+面板+open_replace)/main两接线/level_autoplay替换策略; smoke与ui_click_probe替换分支摘除+reward_overlay_test替换段摘除; 修正则贪吃误删=apply_node_curio普通兑付主体补回。冒烟895/0+run_all 22套+探针全绿〔秘宝批 V15/V16拆除路线/V13〕 2026-10-12 19:32:29 +08:00
DKChan c813b2b042 T3(迭代22秘宝批): 效果引擎接入与常时参数面——board_installed事件发射(巢穴预告读数口nest_preview_count=装板报危险格数量,呈现归呈现桥); 天眼safe_dig=fx_reveal通道复用(C5全额兑付免AP连锁资源同链,危险格仅真视,旗格跳过); reveal_tiles入真视叠加层(mine_reveal同通道); 试炼镐use_attune_convert积点受理口(charges=0零骑库存,counter_spend受理闸+grant_ap,积点计数通用化=装配集ap_charge_safe行扫描替dig_charge硬编码); 充能重置周期_reseed_attune_charges(battle每战/level每关首战battle_index==1,骑库存差额补注); 常时参数面注入(远程镐dig_range_bonus切比雪夫≤1+1/信标网络flag_range_free旗可达豁免——_within_dig_range拆谓词,mine_total只读口); 储备罐finish_round_stop转存率入参(125%=1.25:1整除floor); 刷新练习refresh_stock_grant开局一次性加仓; 刷新执照shop_refresh_free_left装配叠加; 真视使用计数链(vision_counter共享dict→受理+1→summary→settle聚合入档+断点随件); validate_use扩cell档与新空间kind; 修现役潜伏缺陷=use_treasure板维度读Rules不存在的width(旧目录期零直呼掩盖); 新单测treasure_effects_test 22套(V7附属表12件逐件正常/边界/反例+计数链)。冒烟895/0+run_all 22套+探针全绿〔秘宝批 V7/V8/V10/V13〕 2026-10-12 17:01:12 +08:00
DKChan 96fc61c701 feat(tree): 迭代21天赋树实装批 T1-T6 主体——12节点换代+六键接线+营地四柜台(2026-10-12 U0)
T1 schema 换代:MetaTreeTable FORK_GROUPS 4→3(fg_mastery 退役)/RULE_KEYS 2→6(sense/economy 四键扩签)/
  fork 单行双态(effects_a/b+name_a/b、每组恰一校验)/row 字段退役(行门槛主语=节点等级 level_gate)/
  requires 只留点亮前置(R1 裁撤案执行);meta_tree.tres 33→12 行重排(脊柱2/锻造2含彩蛋/钥石2/同调6,
  att_socket1 改根节点无前置,easter_ley 摘 atk/armor_class 分量=契约9)
T2 购买与彩蛋面:tree_can_buy easter 拒购+行门槛换轴;tree_buy_fork=解锁默认A;tree_toggle_fork 零币切态;
  tree_rule_keys 按激活态 effects_a/b 投影;_check_easter_egg 特化判定(两线拉满+socket全解锁);营地树行板双态钮
T3 六键接线:EVENTS+flag_missed/FACTS+battle_index(L2 扩签两处);rebuild 六键合成订阅
  (posture 窗=battle_index&&round_index 双闸/sense 两组=counter 闸+记账双行 domain:adventure 限次2次 provisional);
  level_runner battle_index 注入(visited battle 型计数);_judge_flag 去重闸后 flag_missed 发射(契约12);
  聚=_roll_gp_drop 入账前×1.5 provisional(escrow 不乘);散=_spend_discounted ×80%(current_price/pool_price
  双计价点,刷新价不折=§11②定义边界);_start_current_level 限次按关清零(_reset_tree_limited_counters 可测口)
T4 注入换代:hero_override=树淬炼flat+FORGE_ROUTE_BONUS预留0(命中不注入=契约6);Attunement.slots 判定源切
  树点亮数(谓词表退役);tree_buy(ks_refresh) 同账路由 buy_attune_refresh(V15 双入口)
T5 旧档废弃与删除:save_manager tree_struct=2 结构版本标记+_normalize 白名单重建+树域废弃重置(禁迁移折算);
  migrate_tree/buy_forge/forge_flat/forge_level/forge_price/meta_forge_row/forge_products 行族/
  attunement_growth 表+访问器/生涯页三投影/career forge_total 全删;treasure_item_table UNLOCK_COUNTER_KEYS 内联;
  verifier_batch 花费策略换代树节点;MC slots 画像常量3
T6 营地统一:四柜台并排横滚(树淬炼主界面/锻造工坊钥匙门+零交互占位面板/秘宝匣钥匙门+内容迁入/图鉴常开);
  暂停层锻造段连带删;camp data forge 投影删
存量红修复:_flush_pending_reveals 三处空 source_class 补 fx_reveal+类级豁免(a57489e9 落地件,冒烟51行)
测试随批:smoke 树段全重写(V1/V2/V3/V8/V9/V16)+_smoke_tree_rules V10 行为段(窗/限次/守侧五场景编排rig/聚散
  同种子对拍)+单元 tree_rules_v11_test(六键合成行闭集校验)+run_all 22 套;ui_probe/ui_click_probe 换代树点击路径
轻闸全绿:冒烟886/0+run_all 22套+probe --click 全绿
2026-10-12 07:54:38 +08:00
DKChan 3333187351 feat(close): 迭代20 T5+T8+T9+T10 C段收尾(专长实装批)
T5 Boss 兑付面换代:通关渠道三选一改按档配比加权抽取(无放回加权抽 boss_feat_weight
100/45/15/5 provisional 归调参批——奇物.md v3.1 rarity 语义约束兑付面);信号注释换代
「提升三选一」→「专长三选一」(V11 正名);V12 频带断言(300 停点档位频率出带±15pp)。

T8 MC 对账适配:formed 画像 14 旧件→五事件族 14 新件(开格 4/插旗 3/踩雷 4/节奏 2/战斗 1);
新基线取证:normal/off 100 局 71000 档 通关 0%(master 对照同为 0%=零配基线本相),
止步分布 90/10→93/7 可归因曝光槽候选构成;同种子重放 30 局逐位复现 ✓(V15)。

T9 迁出收尾:treasure_items 删 venom_edge/flag_burst 两行(同调目录收窄);schema 词面
venom_rider/flag_burst 摘除(EFFECT_KINDS/MAGNITUDE_KINDS);rewrite_board 效果类型除名
(净化工兵退役——V14 连带清理闭环);V13 断言入 smoke。

T10 空配置验收闸:三选一池空 skip_empty_curio 消化+非空拒绝反例+商店空货架合法态断言。

测试:pool_case_d 17 checks(+V12/T10)/feat_vouchers 23 checks(+V16 断点往返);
冒烟 864/0+run_all 21 套全绿。
2026-10-12 00:28:22 +08:00
DKChan 1387aedc94 feat(vouchers): 迭代20 T4 凭证件五件实装+F-1 刷新写错账修复(专长实装批 B段二)
五件路由(_apply_curio_pick 通道面):刷新券→刷新存量账 _refresh_stock(**F-1 修复**:
退役 _attune_refresh_x 写口——X 每停点重置吞存量=写错账缺陷正主;消耗序 X→Y→存量,
attune_refresh_left 扩第三源;旧早退路径零摘牌缺陷同批修正=选中即消尽)/储备金袋→
_pending_rap 战首 RAP 注入(action_economy.grant_reserve_ap 新口)/同调电池→
_battery_pending+choose_battery_target 玩家点选跨层写 attune_charges(禁自动替选——
装配集/主动充能件双校验拒绝)/时沙→_time_sand_queue 战首首轮 AP 队列(池增量不改上限,
hero_ap_bonus 同通道)/完美保险→_pending_insurance 战首豁免次数(flag_miss 首见判定
_perfect_hit_false 回退=完美谓词无痕,节点级未用即过期)。

注入链:runner set_voucher_grants 三账→enc voucher_*→编排器消费,节点级一次性注入即清零。
配额投放:凭证四件入稀有档(rap 2/battery 1/时沙 2/保险 1)→结构锚 rare 9/总量 104
(已裁换代授权内 provisional——偏离 GDD 占位记录随代拍板追认单)。
断点扩列(T7 前置):refresh_stock/battery_pending 随档+resume 回填(旧档缺键缺省 0)。

测试:feat_vouchers_test 新套 20 checks(V9 逐件路由+F-1 反例钉面/V10 留任路由+AP 属性轴)
入 run_all 21 套全绿;冒烟 863/0;smoke 牌库数 98→104 系换代。
2026-10-12 00:08:00 +08:00
DKChan 0640b0c06d feat(pool): 迭代20 T2 池结构案D 换代(专长实装批 A段二)
四级档位:TIERS common/excellent/rare/legendary(跨层框架档名映射承袭)——TIER_QUOTAS
70/25/3/0=98 直映射零偏离已裁结构锚(传说=头奖位留空);配额/件值字段物理改名
(旧 rare→excellent、旧 rarest→rare)+凭证四 kind 占位(rap/attune_battery/time_sand/
perfect_insurance,配额暂 0=T4 落路由同批投放)。

概率与上限解耦(案②令牌池+提前退役):curio_cap_* 每 kind 独立字段(99=无上限占位,
实数归调参批)+专长 cap 行字段面;taken 身份维计数(relic:<feat_id>)拿了才计刷出不计;
cap 满在候选视图剔除(牌库本体不动=概率位独立存活);断点 bonus_taken 身份维键随档还原。

曝光槽:三选一=2 格全池+1 格优秀档以上子池(子池独立洗牌同 stream 续消费;子池空回退
全池;池空直通同族兜底);凭证(feat_ticket)不进抽签池只经保底注入;商店货架同 cap 过滤。

潜伏缺陷修正:效果引擎 has 算子 null 安全(敌技伤害载荷无 terrain_kind 事实回落 null 时
判「不在场」而非 String(null) 抛错——候选流变化后 devour 件首次被持有而暴露)。

测试:pool_case_d_test 新套(V6 令牌三态/V7 曝光槽回退/V8 解耦提前退役)入 run_all 20 套;
smoke 三档锚/数值对/池构成/上限带四处断言换代(V14),冒烟 848/0+probe_gate --click 全绿。
2026-10-11 23:18:35 +08:00
DKChan a57489e970 feat(fx): 迭代20 T1 效果引擎词表扩签+发射点施加面(专长实装批 A段一)
词表:EVENTS 16→18(+dig_stop/battle_won)、FACTS 9→17(8 新事实含 hp_ratio 生命比例前置兑付)、
EFFECT_KINDS +7 新类型(heal/ac_bonus/damage_reduce/bonus_delta/blast_scaled/preview_area/
target_attack_bonus)、OPS +mod_eq;DO_KEYS +4 键(value_event/value_counter/domain/axis)。
rewrite_board 暂留至 T3 删行同批除名(purge_sapper 仍在表),消费分支已摘除。

施加面:battle_orchestrator(dig_reveal 三事实/mine_hit 五新施加/terrain 减伤前置/flag_hit 四新/
round_end GP+AP 队列/battle_won 发射/bonus_delta 战末汇入/ac_bonus 累积器/揭示队列_.flush_pending_reveals)
+damage_controller(attack value_counter rider/敌技 damage_reduce/hp_ratio fact/kill 揭示回调)
+action_economy(dig_paid 返还/dig_stop 发射/上轮耗尽旗标)+minesweeper fx_reveal 效果通道
(只揭真格信息红线)+rng fx_reveal 分签。

T6 承载:EffectEngine adventure 域计数器(domain 键/counters_export/counters_seed)+
AdventureRunner.adventure_counters 共享引用(attune_charges 先例)+断点随档。

测试:effect_words_t1_test 新套(V1:新词在册/出域四路被拒/seed-export 往返/mod_eq 预评估口径)
入 run_all 19 套全绿;冒烟 846/0 持平基线零破坏。
2026-10-11 22:42:51 +08:00
DKChan 768e3665df 修复: 尾裁微批b——卡⓪resume tree_rules受理闭环(2026-10-08 用户裁甲:resume_adventure 参数面按 start_adventure :135 同式补收 tree_rules〔类型防御同款 is Array 三元〕,消费面 :938 set_tree_rules 下传现成零改;main.gd build_adventure_params「tree_rules 暂不消费」在册披露句同步退役改写;冒烟断言段追加续玩受理两查——resume_adventure 受理三键参数面+runner._tree_rules 与传入一致〔v2 旧断点夹具同式最小断点〕)——冒烟 840→842/0、run_all 17套全绿、probe_gate --click 全绿 2026-10-08 16:36:07 +08:00
DKChan 8a654ccece 修复: 卡⓪④——删 adventure_runner.gd start_adventure 三行重复赋值(逐字重复+中间零语句+_seed_attune_charges 纯重置幂等=零行为变化,证据与四件对照见出口报告);入口报告随批落籍 2026-10-08 05:07:12 +08:00
DKChan a33ddaf542 秘宝六件迁移+掘进蓄能受理闸数据化+令牌兑付 match 收敛进效果类型(T4+T5——内容数据驱动扩展批)
T4 秘宝侧(六件按 id 硬编码全部拆除,行为与迁移前逐位一致):
- 淬毒刃纹:begin_battle attune_venom 注入+伤害控制器特判分支拆除——行 triggers clamp_check
  modify(mode:clamp_bonus) 双订阅(pierce_vs_ward / magic_vs_heavy eq 行=旧「pierce|magic × 矩阵>0」
  的精确集;mode 路由=主角攻击面专享,棋盘克制窗只消费无模式 delta——棋盘不吃毒面保持)。
- 偏运硬币:reward_economy.luck_bias 注入拆除——行 triggers reward_roll bias_rewards 订阅,
  发射点命中合计经 _biased_cell_rows 入参(合成序「图级先件级后」不变);冒烟偏斜段断言面随迁。
- 工兵晨令:编排器两处直调入队拆除——行 triggers round_start grant_ap(mode:queue) 订阅,
  when round_index ≤ effective_rounds(when value_from 行字段定影——新查询面,悬空校验同面补齐)。
- 惊巢反制:_grant_routed 按 id 减半特判拆除——mine_hit damage_mult(50) 订阅命中经 halve_pct
  入参(ceil(power×50%) 与旧 ceil(power/2) 逐位一致)+ open_ticket(channel:reflect) 订阅施加。
- 标中殉爆:flag_hit 按 id 开单特判拆除——行 triggers open_ticket(channel:blast, value_from
  magnitude) 订阅施加(施加位=迁移前开单位:殉爆→净化→图谱)。
- 掘进蓄能:use_treasure 按 id 受理闸特判拆除——treasure_used counter_spend 订阅施加(消耗成功
  才受理、积点不足拒绝零消耗,进度文案逐字保留);积点账本迁效果引擎计数器 dig_charge_bank
  (模判定留编排器侧:「每 N 格积 1 点」在发射点施加架构下无法行内表达先增后判——when 于
  dispatch 预评估,逐位等价优先;词汇表边界注记留档,遗留观察项随出口报告呈报)。
- pick_refresh:adventure_runner 按 id 特判拆除——effect_kinds bonus_refresh kind 分发查询
  (装配集行 magnitude 合计;刷新件类加件零 id 分支)。
- 主动件 kind 词族换代(reveal_tiles/preview/grant_ap/remove_mines/refresh_pick)挂账保留:
  本批只要求 pick_refresh 合流;全词族 rename 波及库存/呈现/单测零行为收益,不随批(出口报告
  遗留人闸项呈报)。
- curio_interact_controller 秘宝卡片文案表值化:kind 硬编码映射拆除,读行 desc——13 件 desc
  补齐(措辞按现行卡片文本逐字迁移;掘进蓄能/失义件补实际摘要=文案微调呈报级)。
- schema 适配:triggers 与 effect_kinds 互斥校验收窄至 passive 行(active_charged 双形合法=
  effect_kinds 主动分发+triggers 受理闸);trigger 行豁免「非 N 值 kind magnitude 应 0」与
  「非 ap_rounds_front 行 effective_rounds 应 0」两面(行字段=value_from 取数源)。

T5 令牌/树收尾:
- _apply_curio_pick match 收敛进效果类型:属性值提升四类(attack/max_hp/armor/ap)改
  adventure_table.CURIO_APPLY_ROUTES 声明路由(加算落点键,与效果引擎加法族同构)——加新加算类
  令牌=表行+配额/件值键零代码;gp/heal/refresh/relic 副作用通道面显式分支保留。
- meta_tree 规则键同面:先手压制/稳健拓荒两键已在 T3/T4 随 round_start/damage_taken 订阅行
  走效果引擎同面(rebuild 合成订阅+发射点施加),旧直调零残留。

验证:冒烟 800 项 0 失败(三闸过)· 单元 17 套全绿。

设计权威:design/research/研究-内容数据驱动扩展架构-2026-10-06.md(案乙)。
任务书:design/research/任务书-内容数据驱动扩展批-2026-10-06.md §六 T4/T5、§五映射表秘宝侧。
2026-10-06 23:54:58 +08:00
DKChan 12807298eb feat: 三选一刷新对齐商店(2026-10-06 用户令)——免费双源 X/Y 用尽后 GP 付费档(同 shop_refresh_* 旋钮/同冒险钱包 spend_gp 单口/同 reward_pick 池重抽),付费刷计数每停点清零;CurioPickOverlay.set_refresh_display 与商店同构(钮常驻选择态/两源皆穷禁用/角标免费余量/价签行 GP 价);通关停点刷新重发带 refreshed 标直落选择面不再重开胜利总结;店内门票专长三选一维持无刷新;单测 curio_refresh_paid_test+覆盖层刷新面断言;落文=秘宝.md 双源节 GP 付费档+冒险结构 v0.16+06 商店刷新条目换代(机制已落码态) 2026-10-06 07:03:57 +08:00
DKChan 059b545068 fix-curio-skip: 三选一空池降级(用户令 2026-10-06)——候选 0 件跳过环节不再死面卡死
- core adventure_runner.skip_empty_curio():停点空候选消化出口——仅空候选放行,非空拒绝(零自动推进契约不破,正常消化仍只走 pick_curio/apply_node_curio 兑付)
- controller resume_if_pending():空候选不开选择面(空面无卡无钮=死面卡死成因)——消化停点后按上下文直落后续推进(level_clear=推进下一关/reward_node=回图选路/feat_ticket=关面回店,与 on_continue 分派同构)
- controller present_node_curio():奖励节点空池不开面不挂停点,兑付确认直落回图选路(auto-sim node_entered 内立即 continue_after_node 先例)
- controller on_presented() feat_ticket 分支末道防御(core _redeem_feat_ticket 空集守卫外)
- 候选 1-2 件少显路径既有零改动:_draw_curio_candidates 洗牌收集至池空为止(上限 curio_candidate_count=3),卡片渲染按候选数遍历——本就是「有多少显多少」
2026-10-06 04:37:22 +08:00
DKChan ccd95c8215 奇物批T6b+T7+缺陷修:refresh入池(用户裁B案——CURIO_KINDS扩第七类/heal_rare 5→3挤占refresh_rare=2/总量98锚不变/match表两行/兑付=_attune_refresh_x增量不进加算区+registry pool_architecture多级缓存总池-渠道子集语义+契约10按裁更新);T7 charge缺陷登记(3件<4档二不可达——白名单4只登记不硬补,registry charge_defect);autoplay门票拿到即开分支(缺分支=节点停点悬空选路卡死——MC timeout形态批内实测,n20复现1/2空终局修后与基线逐位一致);任务书T6b裁决回写(冒烟782/0) 2026-10-05 20:58:34 +08:00
DKChan 95b66f0d60 奇物批T5+T6a:专长门票入表(schema四字段provisional 20%/2/1/5+域校验+runner保底/限购/出现三计数+节点与商店双注入(替换末位占一席,同scope取数零漂移)+拿到即开三入口分支(节点本地重绘/店内临时停点payload.context)+断点扩列两键向后兼容+shop.tres门票行base5+SHELF_KINDS扩+校验豁免+A5/A6断言7条);T6a商店补回复heal行(默认原则:分类内成员都入该渠道池)+registry刷新边界写死(商店自身服务vs奇物授予重抽次数);终局池读数断言4→6键适配(冒烟782/0) 2026-10-05 20:03:20 +08:00
DKChan 6812ebbb73 奇物批T3+T4:relic_*→feat_*词族全换(feat_table.gd/feats.tres/feats_engine.gd三文件改名+.uid+feat_flags/feat_id/feat_row等全token+config_db注册键feats两端+entities.yaml换代注记——kind值relic/身份前缀relic:/relics存档键/摘要键按数据契约保留);T4渠道白名单过滤(_draw_curio_candidates(channel):通关渠道只出专长/节点渠道零专长——过滤式不拆池,TIER_QUOTAS锚零改动,devour货架保底随渠道定位退役,迁移保feat_id,pick_curio测试feat_id透传;冒烟773/0+run_all 16全绿+断点往返PASS) 2026-10-05 19:28:20 +08:00
DKChan 8e2694de49 奇物批T2:运行层bonus_*→curio_*全族换词(_curio_pending/deck/taken/result/candidates+pick_curio/apply_node_curio/curio_choice_presented/curio_resolved等+两文件改名curio_interact_controller/curio_pick_overlay含.uid+CurioPickOverlay/CurioInteractController类名);T2裁点甲案自裁=五存档键引号字面量禁改(全仓对拍六形态全等);_bonus_treasure_carry按T0澄清剔除(秘宝语义);非奇物bonus语义保全(加算区bonus/price_level_bonus/attack_bonus/bp_bonus等);reward_overlay_test红转绿适配(M7 bcard换PanelContainer致c is Button恒0——改数_choice_box子节点数断言语义不变,run_all 16套全绿历史首次) 2026-10-05 18:44:51 +08:00
DKChan d4cde73976 奇物批T1:feature_*→curio_*词族换名(CURIO_KINDS/curio_quota/curio_value/curio_candidate_count+adventure.tres键名+entities.yaml换代登记续写,值零变更实测;T0差异回写:93处/7文件+bonus_aux_carry语义澄清剔除改名面+基线772/0) 2026-10-05 18:30:44 +08:00
DKChan cd73e62346 秘宝批T7组E-2:内部标识符全族换词(inventory/unlocked/replace/overlays/slot/settlement use_aux等60+token)+存档键零触碰专项核通过(37文件六键普查零差异,点号访问零存在)+行为探针四件全绿+任务书§1.2基线回填(755/0实测) 2026-10-05 08:46:51 +08:00
DKChan 7e5b6d99b4 秘宝批T5组B-2:ConfigDB注册键treasure_items/持有变量/五访问器全族+调用方+桩表+loaded取键同步(冒烟755/0;run_all对照基线零新增——reward_overlay_test红系②批遗留基线红,treasure_items_test由红转绿系本批修复T4桩回退行漏改) 2026-10-05 08:34:57 +08:00
DKChan 5294b12efa 秘宝批T3组F:aux_item域串16处→treasure_item+TREASURE_ITEM_TYPE常量族+reward_dangling_treasure诊断码(任务书漏计的常量消费方4处自查补齐,冒烟755/0) 2026-10-05 08:27:16 +08:00
DKChan c571af226f merge: 奇物概念收口与词族对齐(迭代15②号卡·文档与数据层)
概念层由用户逐轮裁定定稿(《奇物》v1.0→v2.7),本批只做落地对齐。

主要内容:
- 新建 design/gdd/systems/冒险循环/奇物.md v2.7(本概念唯一定义文档)
- 新建 design/research/任务书-奇物词族对齐与渠道分离批-2026-10-05.md
  (loop engineering 八件成文 + 12 条批末验收断言 + 11 条设计契约含 6 条停机级)
- 代码词族对齐:feature_* → FEATURE_KINDS/feature_quota_*/feature_value_*
  (adventure_table.gd 24 字段 + 方法 + 常量,adventure.tres 21 键,值零变更)
- 三个 schema 补概念指路注释;relic_table.gd / adventure_table.gd 概念注释指向奇物.md
- ux/battle.md、level-map.md、HUD框架.md、06-待办清单.md、02-系统清单.md、
  registry/entities.yaml 同步称谓与元信息

六处冲突解法:
- 02-系统清单.md:版本历史整段重编(master v0.1-v1.3 原号复原,奇物系列从 v1.4 起)
- ux/battle.md:取分支侧新称谓,但「魔法道具槽」须写「秘宝槽」(master v1.3 已更名)
- adventure_table.gd:合成并集(取本批改名 + 保留 master SR-1 商店刷新三字段)
- level_map_screen.gd:块1 取 master M5 底栏结构,块2 取本批配色与称谓
- registry/entities.yaml:7 处三方混战,块1-5/7 取 master,块6 取本批
- roadmap.md:迭代 15 两卡并存(①调试 已落籍 / ②奇物 待开工)

合并后自查修正:
- 批量替换误伤 70 处(清图奖励/安全格奖励/关卡大奖励/奖励身份预读 等
  属地图战斗资源域;「奖励道具经济」旧文件名与「迭代 10 奖励重构」属历史留痕)→ 全部回退
- battle.md 历史修订行误改 → 恢复 master 原文
- 奇物.md 5 处死链(../ux/ 少一层、魔法道具.md 已更名)→ 修
- registry 条目 markdown 链接 → 改纯路径(同文件惯例)
- 奇物.md R1 散文段 656 字 → 拆段,现在零结构性告警

验证读数(合并后主区全量复跑):
- 冒烟 755 项 / 0 失败,三闸全过
- ui_input_probe 十六断言全绿
- ui_layout_probe 四区尺寸逐位吻合 battle.md 规格
- doc_link 死链 0;doc_term 与基线同;gdd_lint 零新增
- 旧标识符残留全 0;_status_box 未成死代码,四个投喂键齐全
2026-10-05 07:24:15 +08:00