From 5f190bc354d4c97dcd17856e8d0ed06ff97018ed Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Fri, 23 Oct 2026 02:30:53 +0800 Subject: [PATCH] =?UTF-8?q?test(=E8=BF=81=E7=A7=BB):=20=E6=89=B9=20B=20?= =?UTF-8?q?=E6=B3=A2=201=20G3=20=E6=94=B6=E5=8F=A3=E2=80=94=E2=80=94?= =?UTF-8?q?=E8=A1=A5=E5=88=A0=20=5Frun=5Fcore=5Fsmoke=20=E5=9B=9B=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E8=A1=8C=EF=BC=88=E9=A6=96=E8=BD=AE=E9=81=97=E6=BC=8F?= =?UTF-8?q?=E9=97=B8=2001=20Parse=20Error=20=E7=BA=A2=E6=A0=B9=E5=9B=A0?= =?UTF-8?q?=EF=BC=8C=E6=95=99=E8=AE=AD=E8=AE=B0=E8=B4=A6=E2=91=A6=EF=BC=89?= =?UTF-8?q?=EF=BC=8B=E7=AA=84=E5=A4=8D=E9=AA=8C=E9=97=B801=E5=89=A9?= =?UTF-8?q?=E4=BD=99=E9=9D=A21019=E7=BB=BF=EF=BC=8B=E9=97=B802=E5=9B=9B?= =?UTF-8?q?=E5=8D=81=E4=BA=8C=E5=A5=97=E4=BB=B6=E7=BB=BF=EF=BC=8B39/39=20?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=86=BB=E7=BB=93=E6=B8=85=E5=8D=95=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E5=AF=B9=E8=B4=A6=E9=9B=B6=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/smoke/smoke_all.gd | 4 ---- reports/批B-断言迁移账本-2026-10-22.md | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/game/smoke/smoke_all.gd b/game/smoke/smoke_all.gd index 6ff18e98..b80fc3c4 100644 --- a/game/smoke/smoke_all.gd +++ b/game/smoke/smoke_all.gd @@ -156,8 +156,6 @@ func _run_core_smoke(db, rng) -> void: _smoke_enemy_attack_type() _smoke_armor_roll() _smoke_pool_wiring() - _smoke_board_generator() - _smoke_layout_cell_formula() _smoke_type_glow() _smoke_variant_placement(1) _smoke_variant_placement(2) @@ -166,8 +164,6 @@ func _run_core_smoke(db, rng) -> void: _smoke_full_battle(2, 0, "L2 · 熊地精") _smoke_level() _smoke_seal_ap_exhausted() - _smoke_reward_identity_unit() - _smoke_power_interval() _smoke_active_refresh() _smoke_damage_types() _smoke_playtest_logger() diff --git a/reports/批B-断言迁移账本-2026-10-22.md b/reports/批B-断言迁移账本-2026-10-22.md index 907212bf..cf43171b 100644 --- a/reports/批B-断言迁移账本-2026-10-22.md +++ b/reports/批B-断言迁移账本-2026-10-22.md @@ -272,6 +272,10 @@ - `_smoke_board_generator`(22 条):22/22 验红(零死断言候选)。变异点——config_db_resolver.gd:156 行匹配 return row→`return {}`(红「BoardGen 行解析」双迭代+generate 行缺失断言链连带:「产物非空」「R1 ceil」同轮红——resolve 与 generate 共用单点不可分);**首试无效变异**:_ceil_key `return int(k)`→`int(k) - 1` 键值偏移致 level 键错位空 depth_keys 数组越界 crash(Parse 级污染不算红),换形 depth_ceil 路径插 `if missing == "depth_ceil": return {}`(红「R1 ceil 解析」红唯一 1/57);board_generator.gd:75 return accepted→null(红「生成产物非空」双迭代+suite1 rebuild 空板访问中断连带——预期形态);:278 is_clearable 尾 return true→false(红「clearable」双迭代+legality 内嵌消费链连带 6 条:legality 双红/accept_worst 链 inferability/非法产物/R₀ 结构);:282 legality 头插判别器 `if params.has("node_depth"): return false`(红「legality 全过」双迭代红唯一——generate 内部 params 无 node_depth 不受扰,防三分出口链连带);:340 指标 inferability→0.0(红「inferability ≥ target」L1 迭代红唯一——L2 原生 accept_best 走右支保持绿);:354 后插雷位格放变异 `for c in b.mines.keys(): b.variants[c] = []; break`(红「零变体格」双迭代红唯一——雷位格不入 spawn/R₀ 合法性扫描域);:346 指标删 degraded_product 键(红「指标集输出」双迭代红唯一——板字段独立在 :354 故三分出口条零连带);:354 板 degraded_product→true(红「降级标记」L1 红唯一——L2 原生 accept_best 与恒真恰一致);:353 板 illegal_product→true(红「非法标记==」双迭代+A14 双红+L2 互斥连带);:353–354 双标记恒 true(红「互斥」双迭代+A9/A10/A14 连带);:341 指标 actual_mines+10(红「实际≤目标」双迭代——真实雷数不动绕开 _finalize 内同不变式 _fatal 守卫);:344 指标 attempts_used→0(红「attempts 域」双迭代红唯一);:353 板 illegal_product 取反(红「非法标记=false」双迭代+A10 双红+L2 互斥+A21 b9 诚实降级标记连带);:100 取号换全局未播种 randi_range(红「同种子逐格相同」双迭代红唯一);:100 取号恒 i 恒等置换(红「异种子不同」+退化板 legality 链连带——板全同构时退化板本身非法属必然形态);board_gen.tres L1 depth0 行 r0_max_cap 45→5(红「cap 投值 ≥9」+cap 闸压全尝试 accept_worst 链连带 2 条);:349 指标 r0_count+100(红「R₀≤cap」双迭代红唯一——b9 illegal 支路承载故 A21 零连带);:351 指标 r0_cap_rejected→-1(红「尝试事实在位」双迭代+A22 双红连带);:348 指标 ring_removed→999(红「剃雷量界」双迭代红唯一);:316 r0_cap 闸条件 >→<(红「cap 压线 9」双迭代+L2 结构断言连带——闸关后高 R₀ 板入收);:345 指标 accept_mode→""(红「指标集完整」双迭代+L2 A6/A9 连带——右支与降级比较均读该指标)。 - `_smoke_power_interval`(5 条):4/5 验红+**1 条死断言候选(照迁禁删)**。变异点——reward.tres clear_blast 行 power 32→33(偏离 floor 中点;红「区间行配对齐全」红唯一 1/62);reward_economy.gd:85 清槽掷点 hi+5(红「24 板域内」红唯一——仅清槽支路格掷点不动故零连带);:353 _snapshot 定值行支路 `(int(row.power) + 1) if rolled_power < 0`(红「定值行零外溢」红唯一——区间行走 rolled 支路不受扰);:82+:85 双掷点恒取下界(**流动彻底消灭仍全绿=死断言取证**)——「区间行上下阶实际流动」守面 `elif samples >= 2 and seen[rid].size() < 2` 中 `samples` 与 `seen[rid].size()` 为同一字典的同一读数(`seen.get(rid, {})` 与 `seen[rid]` 同引用),条件恒假 variance_ok 不可置假;该缺陷系 smoke_all.gd 源码自带(非迁移引入),断言逐字照迁,死断言候选上报主会话裁;:82 格掷点 hi+1(红「定值行(lo=hi)roll 恒等表值」+「24 板域内」连带——heal_minor [2,2] 行任何失恒值必出域,两断言语义重叠连带不可避免)。 +窄复验:新宿主面 62 项检查 0 失败 PASS(静态 39+循环展开 23=格边公式/棋盘生成两套 L1×L2 迭代展开);闸 01 剩余面(smoke_all.gd)1019 项检查 0 失败 PASS(1081−62=本轮迁出四套运行计数);闸 02(run_all.gd)42 套件 all green(+本宿主 1 件)。39/39 标签与冻结清单全量脚本比对零缺失;新宿主 Kit.check( 调用计数 39=账本条数。 + +施工发现(供后续组参考,接 G2 序号):⑦ 删套函数必须同批删 `_run_core_smoke` 调度体里的调用行——本组首轮删净四函数后闸 01 即 Parse Error「Function not found in base self」(调用行残留致红,三闸之二挂),补删四调用行后全过;G1/G2 记录有载此步(「同批删六调用行」),G3 首轮遗漏,后续组删套时以「函数+调用行」双检为鉴。 + ## 十、支援线 9 项待裁闭合(2026-10-22 主会话裁) 1. `extract_checks.py` **常驻保留**——承担清单维护义务(test-conventions §9.3 锚)的再提取/diff 职能;其 DEFAULT_SRC 悬空问题列入波 2:默认源改为三宿主(game/tests/unit、integration、system_test.gd)遍历,或显式路径参数,波 3 出口对账用显式模式。