Commit Graph
69 Commits
Author SHA1 Message Date
DKChan 98c61d50c3 refactor(迭代35卡②T2·一口): 跨表校验④「关卡节点→敌/板覆盖与多终点 Boss 共带」随静态节点数据消亡整体退役——两条拦截语义改由运行时断言承接:顶 clamp 消解禁=〔v11〕「解析落带 ≥ 请求深度」、多终点 Boss 带键互异=〔v11〕逐终点带键两两比对(拦截面从表内静态代理升级到消费图本体,无削弱);其单测段 _test_level_node_band_rules 与随它而存的四个 preload 一并退役(fv15/fv16/fv17 三条判据的现役等价面在 level_shop_economy〔v11〕与 level_table_validate〔v1〕)
- 覆盖不降级的依据:生成图深度域实测 L1 0–6/L2 0–9/L3 0–13 为模板池深度域(0–4/0–9/0–9)的超集,且 〔v11〕扫描面三档×20 种子逐节点核敌带与板精确行
- save_manager 首次冒险位注释随确定性承载换代改口径(首局固定种子 42+参数档生成图,无兜底模板),键与行为零改动
- run_all 59 套件全绿
2026-10-24 16:08:57 +08:00
DKChan c0dd442060 feat(迭代35卡②T1): 加载校验换代——LevelTable.validate_graph(nodes) 静态单点承载四检+良构基底(①入口≥1 且终点≥1 ②全员从某入口可达且可达某终点 ③终点恒 Boss 且 Boss 无出边 ④出边目标深度严格大于源=无环;良构=句柄唯一·出边全命中·type 五类枚举·battle 带深度),表加载期图校验与旧六判据(Boss 恰一/战斗≥2/单链末 Boss/前三位纯战斗/出度≤2/Boss 编号最大)连同模板池校验分支、BFS 层宽≤5 一并退役,行级校验保留
- 新宿主 tests/unit/core/level_table_validate_test.gd〔v1〕15 条(正例三形:多入口多终点/含岔口单终点/单链退化显式出边;负例八类;范围反证三条:无商店图不报错·双入口合法·缺 next 字段仍拒)+run_all manifest 登记一行(59 套件全绿)
- 判据②与④在 DAG 上互斥的实证:无环图每个源点必为入口、每条极长路必止于终点,故「孤儿/断头」构造不出独立负例——② 保留为 ④ 失效时的纵深防御面,测试以两独立链正证不误伤(该关系拟入反哺点,文档判据②的表述宜注明其兜底定位)
- 旧断言随动四条(声明,非静默放宽):level_shop_economy ③ 段整段改走 validate_graph 并把「入口唯一违例」翻为合法正例、「孤儿」改为非 Boss 终点;level_map_type_vis 夹具注释订正;round_flow_skill_pool 敌表池清单 20→28 行补齐覆盖批八行池克隆键;board_gen_reward「(2,3) ceil 上取」改判精确命中并以临时摘同行的夹具面保留 ceil 能力判据(覆盖批补齐键域后旧判据对象消亡)
- 件核:全仓 grep 六判据消息文本零残留(唯一余留在 level.tres 表尾模板生成史注释,随 T3 模板清出一并消失)
2026-10-24 15:52:21 +08:00
DKChan b5fd516b73 test(迭代35覆盖批): 〔v11〕敌侧覆盖判据由「行集非空」改为「解析落带 ≥ 请求深度」——非空不是覆盖判据(越顶 resolver clamp 照样返行),band_of 非 -1 才是卡② V11 的原意 2026-10-24 09:25:00 +08:00
DKChan 9214ef8e02 feat(迭代35覆盖批·同批落): 生成图深度扩面的敌/板表覆盖落地+S5/V11 覆盖断言——用户授权本批随卡② 同批落(卡② §0 原文允许「须先落或与本卡同批落」),数值按现有曲线插值全 provisional
- enemy.tres:战斗带顶扩到各关最大生成深度(L1 3→6、L2 7→9、L3 7→13,共 3 行);Boss 行按终点深度分带使多终点解析带键互异(L1 加 6、L2 加 8、L3 加 11/12/13,共 5 行);敌种一律复用在册 id(零新内容),AC 全部留在已裁带宽(杂鱼 0~5/Boss 8~12),模板时代带键 0-3/4/9 与 hobgoblin 留任位不动
- board_gen.tres:node_depth 键域补齐 0–6/0–9/0–13(新增 12 行,其余字段按该关同档行复制)
- 断言面:level_shop_economy_test 新增 _smoke_generated_coverage 三条〔v11〕(生成图每 battle/boss 深度经 resolve_enemy_rowset 解析非空=顶 clamp 消解禁/每深度 board_gen 精确命中且 node_depth 等值/多终点 Boss 解析带键两两互异),扫描面=三关参数档×种子 42–61,量程读数 L1 0–6、L2 0–9、L3 0–13
- 旧断言随动三条(声明于此,非静默改判):table_structure_guard 〔fv11〕行数与键序 20→28 换代为覆盖表序、〔fv13〕「三关 Boss 各恰一行=图 Boss 深度」换为 Boss 带键覆盖表清单(多终点必然多行,互异判据移交〔v11〕);level_shop_economy 混编段基线行数 20→28、深度 8 的板侧「无行残留」改判「覆盖行在册」(战斗侧仍禁 (L,battle,8) 精确键)
2026-10-24 09:23:55 +08:00
DKChan ba6604464e test(迭代35卡①): 补战斗保底判据专测夹具(低于保底必拒+保底 1 下不误伤),使 fv7 有可红判据 2026-10-24 06:17:58 +08:00
DKChan a391512e98 test(迭代35卡①): 合流图夹具改按契约 2 语义重写(合法合流=第二入口直插主链取长路值+声明深度虚高必拒)——使深度赋值判据可被变异拦下;代拍板追认单落 reports/ 2026-10-24 06:00:50 +08:00
DKChan 16c776e9f3 fix(迭代35卡①): 致命面改沿 ConfigDB 既有体例(Core 置致命封印+断言,停机决策归组合根——OS.crash 会阻塞跑批且不可断言);fv4 判据改「致命置位→组合根停机码恰 1」;生成器断言补两处判别力(非 Boss 终点按判据消息专断+合流图深度非最长路径值被拒);反哺点清单七条落 reports/ 2026-10-24 05:54:40 +08:00
DKChan a039306f02 test(迭代35卡①): fv4 致命子进程判据改三分退出码(0 静默/2 失效分支/其余非零=致命中止)——使「无解路径改返回空图」变异能让断言见红 2026-10-24 05:41:14 +08:00
DKChan 63a6ea8055 feat(迭代35卡①): 节点图参数化生成器核心批落地——五旋钮参数档 schema+.tres 三行 provisional+ConfigDB 注册与 level_gen_params_row 单点读;RngService 新增 pure_stream 纯流面(不推计数器不落日志,derive_at 派生面流化);NodeMapGenerator 产图 generate(params,seed)+产出侧自证 validate_output(产出约束五条/结构铁律/摆放约束三条/多终点深度互异/深度=自入口最长路径步数)+参数无解致命中止无兜底图;三套断言宿主 68 条(fv1–fv10)+run_all manifest 三行登记;生长读数 L1/L2/L3 = 11/19/29 节点、层高 6/9/13。卡② 停工呈报随批(§0 硬交付序列——覆盖批未立卡) 2026-10-24 05:40:04 +08:00
DKChan 16c6f1362e refactor(波2 目录收尾): game/smoke/ 目录退役——44 件探针三件套迁 game/probe/、30 件测量/诊断/驱动件迁 game/sim/;全仓 100+ 处 res://smoke 与 game/smoke 引用改指(闸件/产品码 tune_sim_controller/宿主 preload/根规则/README/设计文档);熵增闸 RETIRED 收编 game/smoke 防回潮;AGENTS.md Project Layout 换代;static_scan 豁免理由换新宿主;波 2 施工件预计算表全部命中(8d 预扫零红灯);全量域闸验收通过零新增红 2026-10-24 02:09:27 +08:00
DKChan 5644d30c6b fix(核代码补审): A-1 _face_liveness 补 alive-null 臂(激活 13 条对象缺位拦截,both 合法 null 不受影响);A-2 V2-s4 补结构例外注;B×3 标签收口(V2d 删按钮承接叙事/V3h 删不复用冗余/V3 删续玩联动残留);C-1 重复注释删除——代码域闸 --code 全绿验证通过(激活臂零误红) 2026-10-24 01:25:58 +08:00
DKChan 957391e13b test(批B): 断言层级重构大提交——1065 条断言自 smoke_all.gd 全量迁入 16 标准宿主(冒烟/单元/集成/系统+UI 探针);smoke_all.gd 整体退役;变异引擎按用户令删除、验证改核代码(三冷启动审核员 1065 全审:1047 有效,17 存疑+2 段落级,其中 2 段落级经今日闸记录实证解决);10 条核代码修复(恒真/名实/静默跳过/键名等——grilling 一轮修订);验证集清单回写 1068 条三对齐零差异;底册去向补正与笔误清账 2026-10-23 20:48:20 +08:00
DKChan 824a88d26d test(迁移): 批 B 波 1 G3 套4 伤害量值区间五条迁入 board_gen_reward_test.gd——剪切挂载绿(宿主累计 62 检查)+变异 4/5 验红;「区间行上下阶实际流动」证死断言候选(守面同字典读数自比较恒假,源码自带缺陷非迁移引入,照迁禁删上报主会话);_row_power 套内独占随迁,smoke_all.gd 同批删函数与游离节头注释 2026-10-23 02:24:48 +08:00
DKChan 5dd6d8498a test(迁移): 批 B 波 1 G3 套3 棋盘生成 22 条迁入 board_gen_reward_test.gd——剪切挂载绿(宿主累计 57 检查)+按条变异 22/22 验红零死断言候选(_ceil_key 首试 crash 形态换 depth_ceil 插入已记账;legality 判别器隔离直调与内部消费);套内独占 _board_dump/_BoardRowStub 随迁,smoke_all.gd 同批删函数两 helper 2026-10-23 02:18:40 +08:00
DKChan c84a05f5a2 test(迁移): 批 B 波 1 G3 套2 资源身份面十条迁入 board_gen_reward_test.gd——剪切挂载绿(宿主累计 14 检查)+按条变异 10/10 验红全部红唯一(幂等两条用扰动副本形态、退役条两点变异已记账);smoke_all.gd 同批删函数 2026-10-23 02:00:41 +08:00
DKChan 7077a04d52 test(迁移): 批 B 波 1 G3 套1 格边公式两条迁入 board_gen_reward_test.gd——新宿主落位+manifest 登记+剪切挂载绿+按条变异 2/2 验红(间距项删除与钳制带出带各红唯一);smoke_all.gd 同批删函数,_mk_stream 共享 helper 双份过渡(G11 仍消费) 2026-10-23 01:54:24 +08:00
DKChan 331a0ba688 docs(描述性文档): 批 A 术语与读数换代——tests/README 术语表改标准四级(冒烟/单元/集成/系统+UI 探针与 golden)并删「别被字面骗了」警告节(名字对了警告就死),滞后读数订正(35 套件→manifest 40 条实数口径、挥发计数改口径描述、游离台账去硬计数并收 probe_ui_util 入表);architecture.md 测试域节换 run_smoke/run_system_test/run_all 三行模块登记+实证行去滞后读数+三层承载表改四级+改动域与三硬闸表同步;体验验证清单/待办清单/probe_gate.sh/golden_compare.py「轻闸/重闸」词面清扫(探针闸默认段/全量域闸口径);5 个单测头注释「单元套件」换「单元测试」(仅注释,闸 02 载体零改动) 2026-10-22 21:16:24 +08:00
DKChan ed8e0f9f3d iter34 卡④ T1-T3: 信息迷雾类型可见性——层距 N+Boss/候选豁免+单圈回雾(N 读表)+呈现显隐决策面+画布大图断言与探针常数同源
- level_table.gd: info_visible_layers 字段(int≥1)+validate 越域 domain 错;level.tres 挂 2
- level_runner.gd: type_visible_ids() 纯函数(入口 BFS 层差 ≤N ∪ Boss ∪ 候选,锚=当前节点层/入口停点 0;visited 不豁免)+_bfs_layers()
- level_map_screen.gd: node_display() 静态决策面+display_probe()+_draw_graph 图标/文字/Boss 描边三处改读决策面(结构通道零改动)
- 新单测 level_map_type_vis_test(26 断言)/level_map_info_fog_test(19 断言);run_all 注册两行
- smoke_all ⑬ 真图 L2 入口停点可见性组(+5 断言);ui_input_probe ⑬ 常数锚同源化+⑱ 雾不扩可点域

轻闸读数:冒烟 1211 项 0 失败(主区基线 1206,+5=新增组)/probe_gate --click 全绿
2026-10-22 05:52:11 +08:00
DKChan 43c0f3c118 merge(迭代34 卡③ 敌人表深度带换代批): 遭遇寻址 (L,row_kind,depth_band) 三参化+表键迁移+校验/跨表/消费面随动+独立复审通过(回执 commit=9ff0909a,--code 全绿)
- 冒烟 1161 项检查 0 失败;单元 35 套件全绿;探针 --click/--full 全绿;渲染闸绿;静态扫描归零;熵增闸绿
- 11 回放确定性对拍:数值零变更按档位规则不发起(NEED-APPROVAL)
- 独立验收审计两轮:首轮不通过(4 缺漏+4 描述不符)→ 修补后复审 A–F 全通过
2026-10-22 05:37:48 +08:00
DKChan 61537da889 test(敌人表深度带): 冒烟与单测断言按 S 清单改写
冒烟全部寻址点改为三参 resolve_enemy_rowset(关卡, 深度, 行类),结算/单元/探针直呼的
spawn 与 begin_battle 显式带行类(battle/boss)——终点战仍按 Boss 行集取数,行为不变。
首遇位断言改为扫表取该 (关卡, battle, 敌种) 的最低深度带,不再写死坐标〔fv21〕;新增
_enemy_bands 结构段验 20 行键序、hobgoblin 留任 (1,battle,3)、三 Boss 行类与带键〔fv11–fv13〕;
L2 混编 (2,battle,5) 行序与骰和、巨蜘蛛/bugbear/duergar 首遇带固定数、Boss 行类显式传入
等断言逐条加〔fv18/fv19/fv22–fv24〕尾缀。职业节奏探针与伤害探针同步三参寻址。

变异验证七项全部命中(记录表进实现报告):band_of 反向 floor → fv1/fv3 红;row_kind 枚举
判据注释 → fv7 红;Boss 同带判据删除 → fv15 红;顶带消解判据短路 → fv16 红;巨蜘蛛首遇行
加 unit_count_max → fv22 红;混编两行文件内对调 → fv18/fv11 红;hobgoblin 迁错带键 →
fv11/fv12 红(直接迁到带 2 先被加载期同带规则拦下,改用与带 2 行互换带键,表可加载后键位断言红)。
2026-10-22 04:17:40 +08:00
DKChan 4a8558a09f iter33 卡① 审计回炉: sv3 断言强化+生产链对照面+sv4 判别锚+变异⑥⑦补执行
首轮独立验收审计两缺漏回炉(零裁断纪律):
- sv3:拆闸实验证实原拒写断言无判别力(返 false 与下游写失败不可区分)且杂散 game/.tmp 落盘
  未被盘面断言覆盖、MetaProgression 生产链零对照面——回炉补「退化写目标(裸 .tmp)零新增」
  类级+链级两锚+settle_adventure 真表驱动生产链对照面(boot 套件 8→12 检查);变异⑦
  (闸短路)实测两锚全红。
- sv4:申报变异未执行且原段序(先删后建)无判别力——回炉改夹具为「非白板旧内容 999/5
  覆盖为白板+盘面核验非旧值」;变异⑥(create 读旧档)实测两断言红。
还原后冒烟 1201/0、38 套件全绿。实现报告 sv2/sv3/sv4 行与变异表对账更新。
2026-10-22 04:11:55 +08:00
DKChan 6a7c25755f iter33 卡① T1+T2+T3: 存档制数据层三槽承载+启动态钉死+档操作原语+窥视读器+断言批
基线复读(T0,2026-10-21):冒烟 1156/0、单测 35 套件全绿、probe_gate --click 全绿。
承载面(save_manager.gd):SLOT_COUNT=3 三文件制 user://save_slot_N.json(§9 白名单①拍板,
槽1 禁复用旧名单独派生);启动态钉死 _ready 不读槽(内存=默认空态、无激活态、写盘一律拒——sv2/sv3);
旧单档一次性字节迁槽1(Q1 甲:幂等判据槽1已存在不重迁、源改名 .migrated.bak 留痕——sv12);
原语 activate_slot/create_slot/delete_slot(失败恢复切换前三态、删激活槽指针连清除——sv4/sv5/sv6);
窥视读器 peek_slot_summary 三态零副作用(sv7/sv8);测试隔离注入口 attach_slot_template+
peek_summary_at(契约7 单路径语义保持,attach_path/注入面零变化——sv11)。
断言批:三新单元套件(isolation 22/boot 8/summary 12)+冒烟 V2-s1..s4 启动态段+
_smoke_save_slots 段(往返×3/删档/新档/各槽迁移/窥视/旧档迁移);V2d-1 按削弱申报改写
boot 恒隐(卡② mn8 再承接)。
真实链实证:本机 user://save.json(v7 空档)已随批内首次 boot 迁入槽1,原件留痕 .migrated.bak。
2026-10-21 23:44:03 +08:00
DKChan 33e1f11057 test(卡② T7补漏): 补齐 §9 正向验收主力 V1/V2/V6 与全 Vn 标注 + V1/V4 变异验证
前批合回时漏建卡② §9 逐需求点「正向验收主力」断言(四桶机制),仅靠迁移旧测+V12 兜底——
V12 formed/rules 输出面不作判据,adventure 桶跨战持久若坏不会红,核心缺陷消解无回归网。本批补:
- V1 冒烟新段:同一 RunLedger 两 begin_battle 各真实 request_dig,断 adv_twin_digs 经 ctx 就地写宿主字典跨战累积=2
- V2:start_adventure 后 adventure 桶置空(feat_vouchers)
- V6 冒烟新段:次战新编排器 fx_counters_battle 天然空、battle 桶 insurance_used 读 0
- V3/V4/V5/V7/V8/V9/V10 补〔无状态化 Vn〕尾缀使 §9 可追溯
- 变异验证:V1 断 adventure 桶引用改新建空字典→3 条红;V4 断 level 桶不共享→红(证回归网真拦得住)
2026-10-21 02:45:57 +08:00
DKChan 430f97f071 test(卡② T7-V13): 旧档改名前 counter 键续玩受理零崩溃断言
feat_vouchers 注入含旧键(拼接构造避 S12)的 adventure_counters → resume_adventure 受理、留桶成死键(无迁移,契约 9)。
2026-10-20 23:24:58 +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 b226a292df test(卡② T7-F2): 旧测试断言随无状态化换代迁移(smoke 裸引擎段 + 4 单测件)
- smoke_all 裸引擎段 ~53 dispatch/写口 ctx 化、twin_digs→adv_twin_digs
- _smoke_tree_rules:standalone 引擎自建 ctx、sense 限次跨战持久改 level 桶共享引用(删 export/seed 链)
- effect_words_t1_test ⑥⑦重写为桶语义(adventure 共享字典往返、round_ 前缀随 round_start 整桶清空、battle 无前缀存活、counter_spend 静态)
- tree_rules_v11_test 合成行夹具 lvl_ 改名+删 domain;treasure_effects/settle_segments dispatch/counter ctx 化、dig_combo→geo_types 活 id
冒烟 1150/0、四单测件 EXIT=0(换代同生死,无假绿)。
2026-10-20 23:19:40 +08:00
DKChan b3b77ff1b7 test(T7/N7): 新增 A10–A12 两态正向断言(seal_miss 行 highlight + _format_row 零「雷」)
A10 未豁免态 highlight==perfect_broken+完美不成立;A11 豁免态 highlight==空+完美仍成立;
A12 呈现两态文案含已破/已豁免且零「雷」字面。落点 feat_vouchers_test.gd,随 N7 同轮。
2026-10-20 22:24:34 +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 32fdf957fd refactor(代码术语): 卡① flag→seal 全族换代+game/ 禁用词清扫(迭代 31 卡①)
标识符面:flag_*→seal_ 族(含 Godot 信号 flag_judged→seal_judged 与连接/回调同名、
FACTS 两键 flags_count→seals_count/dug_under_flag→dug_under_seal 全链、
.tres 键名与 schema .gd 同批同步);显式豁免零改动=size_flags_*(Godot 布局属性)+_fatal_flag。
中文面:金币→GP(金币袋→GP 袋)/插旗→封印/雷格→危险格/惩罚格→危险格/旗→封印·封印印记族,
game/ 内 *.gd/.tres/.md/.json 四类禁用词与 flag 双双零命中(V1/V4)。
守卫字面量不动(被检查的禁字不是使用):smoke_all V21 零「雷/旗」检查面、
ui_font_asset_test 字形集攻/雷/旗/封 保持原断言逻辑。
代拍板:板面单字槽 glyph「旗」→「封」(禁字纪律+单字位宽,消费面四处同名随动)。
素材换代(2026-10-18 用户裁案甲):assets/art/board/flag_seal.png→seal_mark.png(素材不入 git,
盘上改名+导入重刷),代码两处 res:// 字符串+COL_FLAG/CURSOR_FLAG 常量同步,
闸件四处随批(run_all_gates.sh/render_gate.sh/golden_baseline_refresh.sh/path_check.py)。
anchor.json 键名手改,重锚与改前改后 diff 随本卡收口(同裁案甲)。

基线读数(改前,主区 ed2dfaf6):冒烟 1151 检查 0 失败/单元 34 套全绿/探针 --click
存量红仅 screen_flow_probe(user:// 断点污染在册已知项)。
改后同批读数(本 worktree):冒烟 1151 检查 0 失败/探针 --click 同一存量红、其余全绿。
2026-10-19 02:52:38 +08:00
DKChan d659b065c1 chore(导入): 8 个 .uid 入库——迭代 30 期编辑器刷导入生成,此前一直未跟踪 2026-10-19 01:28:41 +08:00
DKChan d091c98163 feat(迭代29 T5): L1 覆盖补洞——4 个零指名 core 模块 + 呈现层两件直接单测
新增六套(run_all 27 → 33 套),全部进 manifest,全绿:
· core/board_generator_test(9 条):尺寸与 board_gen 表一致、每个安全格数字恒等于八邻雷数
  (全盘逐格复算)、同种子雷集/数字集逐位一致、可推理性度量与清图判定自洽。
· core/minesweeper_rules_test(12 条):装板带初始扩张揭示且未铺满安全格、安全格余量=总数−已揭示、
  挖已揭示格拒(target_revealed)、挖非相邻格拒(not_adjacent)、fx_reveal 推进揭示并递减余量、
  插旗落旗态与计数、目录外意图被拒。
· core/config_db_resolver_test(8 条):ceil 进度键偏难语义(请求 (1,1) 命中 (1,3) 而非 (1,0))、
  行集按表文件行序返回、ceil 行集、难度乘数 clamp 上下限、未登记坐标返回空修饰。
· core/config_db_cross_validator_test(4 条):正向全对齿零错(防误伤)、悬空 skill_id 必报、
  buff 挂主角侧状态必报(cast_side)。
· presentation/hud_presenter_test(5 条)+ battle_narrator_test(9 条):文案逐拒绝原因正确、
  兜底不吐空串、数值带入、胜负互异、关卡收束态恒定、Boss 名带入。
三屏壳的断言面由 T4 screen_flow_probe 承担(六步流程每步判屏级互斥),不另起第二载体。

变异验证:hud_presenter 的「AP 不足。」改漏句号 → hud_presenter_test 精确见红。
另有一批「写反的断言被实现抓出」的证据(首跑即红、逐条订正后转绿):装板并非零揭示而是带初始扩张、
挖受英雄邻接约束、插旗需 flag_range_free 或相邻且要先给足 AP、技能 type 是 basic 不是 attack、
状态表 id 键是 effect_id 不是 status_id、battle_end_text 在 level_end=true 时恒为「关卡通关!」。

顺带实证本批核心命题:config_db_resolver_test 首跑因诊断回调的 lambda 形参类型写错
(首参是表 id 字符串而非 int)触发 Callable 调用失败——脚本错误不改退出码却让整个解析函数静默
返回 null,套件仍会报「全绿」。正是脚本错误扫描存在的原因。
2026-10-16 15:55:33 +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 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 26301baa9c refactor(迭代27 T2): 波二 _settle 五段拆 Segment+_resolve_hero_attack 拆步——逐位一致对拍全同
P1-1 结算巨函数拆段(裁点③甲 审计五段):
- game/core/settlement/ 五段类: GrantSegment(授予段体+旗判随段迁入+counter_add 五位/
  grant_material 三位分支单点化)/AuraSegment/CombatSegment(原 _combat_segment 体)/
  DecaySegment/VerdictSegment(返回裁定,终局早退语义留宿主)
- 编排器 1725→1325 行退为段序编排+行发射/开单原语单点;_judge_flag/_combat_segment
  旧实现同批删除;smoke 白盒 rig 随段迁址(orch._grant_seg._judge_flag)

姊妹病灶(同批):
- damage_controller _resolve_hero_attack 148 行拆四步: _hero_attack_ctx(命中面/按序改写
  族四拍)→_hero_attack_base_value(加法族/计数器施加/倍乘)→_hero_attack_redeem(掷点/池乘/
  rider/落地/击杀)→_hero_attack_deliver(状态/交付行);ctx/redemption 字典穿线算序逐字保留

验收:
- V4 settle_segments_test 16 断言进 run_all(25→26 套)
- 逐位一致对拍三变体全同(RUNSUM+JSONL 双面零漂移);冒烟 1077/0+run_all 26 套
  +probe click+render golden 0.00%
2026-10-14 22:09:29 +08:00
DKChan 7a0d57ddb0 feat(迭代27 T1): 波一 场景拆分+局生命周期物化——逐位一致对拍全同
P0-1 三屏场景化(契约2 只拆不重写):
- menu_screen/camp_screen/adventure_screen 三 .tscn 屏壳+壳脚本(视图代码原样构建,
  40+ views 零 .tscn 化);adventure 屏壳内含 level_map/battle 两容器
- main.gd _build_ui 解体=三屏实例化+模态装配+接线;组合根句柄全部保留(探针挂载
  假设 main.X 一级路径零迁移);树序=屏壳在前全模态之下(视觉共存对逐对验算)
- 屏壳根 mouse_filter=IGNORE(ui_input 实证:全屏 STOP 壳吃下层模态鼠标输入)

P0-2 会话物化(裁点①甲 autoload+手工清单消亡):
- run_scope.gd 节点持全部局态(adventure/runner/settlement/7+ 局态旗/账本);
  _begin_session 建会话、终局整节点 queue_free()——_reset_run_scope 三项+
  _on_battle_end_continue 置空四件手工清单删除
- SaveManager/MetaProgression 升格 autoload 3/4 号位(类名加 Core 后缀沿 RngService
  先例;--script 模式编译器不解析裸 autoload 标识符——组合根留读视图属性 get_node 形态)
- 探针隔离改 attach_path 原地重置(set_master_seed 先例);10 探针+pacing 测试迁移

验收(V1 核心=逐位一致对拍):
- parity_anchor 三变体 base/attune/shop×40 局 RUNSUM+JSONL 双面逐位全同(零行为漂移)
- 冒烟 1055→1077/0(+V2 屏壳独立实例化 11 断言+V3 两连局复位 11 断言)
- run_all 25 套+probe click 全绿+render_gate golden 0.00%×3
2026-10-14 20:28:53 +08:00
DKChan 6e1b52a450 feat(R1机制位): requires_level等级阈值前置随批重立——用户推翻迭代21追认单#1裁撤案(裁「b)推翻,补机制位小批」)=schema字段Dictionary{node_id:n}+validate悬空/阈值<1/类型错加载即拒+tree_can_buy判定分支+行板门槛呈现(未达标🔒+悬停gate_text)+新单测tree_requires_level_test八断言(run_all 24→25套;首跑抓出测试自身时序bug:零配置行断言跑在cap满状态后,重排修正)+现役12行零配置空转零行为影响(冒烟938/0+probe --click/--full+render_gate全绿零漂移;MC豁免=零数值零行为变化)+天赋树v0.10六处R1表述换代+iter21报告§四#1推翻标注与§八兑现注——doc三闸对基线零新增+熵增PASS 2026-10-13 06:13:10 +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 cff741ea2a fix(迭代22反哺⑤补): 试炼镐C区展示行——charges=0件被_reseed_attune_charges注入循环跳过不入骑库存,而C区槽投影遍历骑库存→试炼镐C区不可见/悬停浮窗进度无处承载(追认批集成缺口,单测只测读数口未覆盖投影链)。修复=inventory_projection末段追加自动兑付件展示行(合成handle=-1非库存句柄+note积点N/8+槽点击走说明toast不进两步交互); use_attune_convert删除遗留孤儿函数头注释清一; 单测新增④b展示行断言两条(装配即入投影handle=-1+note=积点0/8/开格后1/8组合根重查链)+StubAutoInvRunner空骑库存桩。重闸全绿: 冒烟898/0+单测22套+probe_gate --full+render_gate golden 3屏0.00%+doc三闸对基线零新增(死链3/拔旗1/gdd_lint三文件表格占比FAIL均实证存量=79aac07版本对比表格行零变化)+熵增闸PASS; 06裁决小节与实现报告⑤条补集成补丁注记 2026-10-12 23:43:38 +08:00
DKChan f22b2036a0 迭代22裁决落文批: A单十五条裁决收口+B单七条反哺全落文+⑤改自动兑付代码批——追认单(①②③⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮追认/④追认+积点账裁战斗级/⑤推翻改自动兑付)收口; ⑤代码=满charge_n=8自动当轮grant_ap无玩家入口(_on_cell_revealed揭示缓冲点兑付=cell_revealed批先于本格扣费故AP归零恰逢满点先兑再扣轮不结束/授予段积点段迁除/use_attune_convert受理口消解/attune_convert_state改造进度读数口+item_id键/use_treasure的ap_charge_safe死分支与_usable_now死条件删/tres试炼镐desc换代+counter_spend受理闸删)——HUD兑换钮整链退役(ap_bar convert信号+钮/board_zone转发/main接线与_sync_convert_button/_on_convert_pressed)+C区秘宝槽悬停浮窗进度(controller投影note字段/hero_info_panel tooltip拼接/main _refresh_presentations加refresh_slots重查); 单测④段重写自动兑付断言(7格零兑付/第8格AP+1/读数口/未装配反例); B落文=秘宝.md v3.0(目录三表实态三列+试炼镐自动兑付换代+代价轴转化获取行含战斗级重置与兑付时序+解锁条件实录钥石10/25四条件件三计数键+实装批落地前句全换代+退役指针补代码旧行已删)/元进度.md v1.17/camp.md v1.3(柜台呈现细则节+暂停层12行)/存档序列化.md v1.6(vision_used域+断点随件+bonus_aux_carry退役+v6扩列不升版)/行动经济.md v0.12(finish_round_stop转存率参数化)+术语表v1.2(自动兑付/真视使用计数两词条)+07㉑观测点随⑤换代; 报告修正=⑮提交号勘正(master实际T5=73db171,原记7095505系amend前被弃旧提交——merge-base实证)+十五条裁决标注+反哺七条已落文标注; 06收口=状态行换代+裁决小节。冒烟898/0+单测22套+probe_gate --click --full全绿(worktree拷.godot/字体与图标边车/art素材后) 2026-10-12 23:23:01 +08:00
DKChan 31a8d2b19d test(迭代21收口补强): tree_rules_v11_test 六键覆盖缺口修复——宣称六键实只验四键(聚散两键空夹具静默跳过=假绿),判据换 rebuild 实装面行数对照:四键逐键对夹具行数(rebuild 分支被删/漂移转红)+聚散两键断零行(将来加合成行即转红提示复核效果闭集),行数对上才进原 validate_trigger_row 闭集校验;头部注释+green 打印文案换代(消费点=battle_orchestrator._roll_gp_drop / level_runner._spend_discounted 成员判定不入事件面)。纯测试零产品代码;故障注入两例验证断言咬合(夹具键摘除→红/economy 假行→红);run_all 22 套全绿+冒烟 898/0 2026-10-12 20:53:43 +08:00
DKChan 9f20ca236a T6(迭代22秘宝批): 验收闸断言——V9静态词表(新12行do.kind/effect_kinds零棋盘改写类词)+V10覆盖检查(三方向dimension_tags投影)+V18装配面空目录合法态(白板档12件全未解锁mode分派,独立档[12])+V6装配不可变运行断言(单测⑭战斗运行态与冒险装配集三面同源快照)。冒烟898/0+单测全绿〔秘宝批 V6/V9/V10/V18〕 2026-10-12 19:36:31 +08:00
DKChan b7a2eadd2c T4(迭代22秘宝批): 呈现换代——秘宝匣柜台购买钮(buy_requested信号链→presenter buy_treasure_unlock分支,禁用态=余额不足)+分档呈现(名后缀·档位/装配行档位标签/悬停desc)+装配段未解锁禁装; 呈现桥换代(旧提灯布尔桥set_fog_lantern/FOG_LANTERN_BONUS随行退役→set_fog_glow_bonus参数面,main._sync_treasure_glow消费attune_param_sum,off态写0复原契约保持); 巢穴预告toast(nest_preview_count读数口消费); 试炼镐HUD入口(ap_bar兑换钮+convert_pressed转发链+attune_convert_state读数口,未装配隐藏); ui_input_probe case⑮换代主语wide_scout_band+4; V13功能残留换代(breakpoint_resume/ smoke剔牌库/reward_overlay夹具换新件id)+过时注释清理; 修呈现组装断裂=BoardZoneView补convert_pressed转发(挂死根因=main直连不存在的板区信号致_build_ui中断)。冒烟895/0+run_all 22套+探针含click全绿〔秘宝批 V12/V13/V19〕 2026-10-12 19:11:11 +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 48b0696158 T1(迭代22秘宝批): 新目录12行全量换代+schema扩签——treasure_items.tres 旧12行删除新12行落表(晨操令/阔视野带/试炼镐/刷新练习/储备罐/巢穴预告/线香/双管装填/远程镐/刷新执照/天眼/信标网络; 三档7/3/2; 契约8逐件解锁分配=钥石8+条件4); schema扩 tier/charge_reset/unlock_keystone_cost 三键+TIERS/CHARGE_RESETS 词表+TARGETS扩cell+参数面kind六型+REVEAL_KINDS护栏扩面+charges=0积点制合法态+解锁互斥校验+UNLOCK_COUNTER_KEYS换代(adventure_cleared对齐C6通关口径/vision_used新增); 引擎EVENTS+board_installed/ACTIVE_KINDS+safe_dig/EFFECT_KINDS+mine_count_preview; V13旧断言摘除换代(fog_lantern_wiring_test全文件退役+run_all注册摘除/violation护栏主语换sky_eye/feat_vouchers电池主语换incense_stick/smoke提灯段换V1V2新目录断言段+装配充能刷新段换主语)。冒烟887/0+单元21套+探针全绿〔秘宝批 V1/V2/V12/V13/V14部分〕 2026-10-12 15:21:22 +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 95b9241a0c docs(active): 迭代20 收口快照换代+状态记录 463(T0-T10 全落 merge 34c1564/批末闸全绿/追认单十条+反哺点五条+目检五件待人闸)+三套新测试 .uid 件补齐 2026-10-12 00:55:15 +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 5ebd05d4b4 test(fx): 迭代20 V4 验收断言补齐——跨事件计数累积/counter_spend 消耗/reset_at 声明制两态(effect_words_t1 17 checks) 2026-10-12 00:09:32 +08:00