test(迭代35卡②T3 件核): 商店宿主内联变异脚手架清退——宿主自改生成图节点的 MUTATION-A/B/C/D 段(店位改战斗/reward 位改第二家店/深度出表域/型别出枚举)与配套两条 MUT 断言整体删除,测试面不再自带变异开关;V5 两条拦截证据改由生产码注入取证(node_map_generator 产图尾段店位改 rest→性质①红、battle 改 shop→性质②60/60 图与性质③738/1413 路径同时红),宿主复跑 176 条全绿

This commit is contained in:
DKChan committed 2026-10-24 19:26:44 +08:00
1 parent 6b213a21ea
commit d48bf10fd7
1 file changed
+1 -18
@@ -1103,15 +1103,6 @@ func _smoke_shop_graph() -> void:
Kit.check("L%d 种子 %d 生成图为空(编排断言扫描面空转)" % [L, seed_val], false)
continue
graph_total += 1
if seed_val == 44 and L == 2: # MUTATION-A:店位改成战斗节点
for mn in nodes:
if String(mn.get("type", "")) == "shop":
mn["type"] = "battle"
if seed_val == 45 and L == 3: # MUTATION-B:多塞一家店(第二家挂在 reward 位)
for mn in nodes:
if String(mn.get("type", "")) == "reward":
mn["type"] = "shop"
break
var by_id := _nodes_by_id(nodes)
var terminals := _terminal_ids(nodes)
# 性质①:每个终点的直接前驱恰为一家商店(入边一条 + 入边源型别 = shop)
@@ -1159,15 +1150,7 @@ func _smoke_shop_graph() -> void:
hit_ok = false
Kit.check("L%d 现行图终点深度 %s 逐点 Boss 行集解析命中且落带 ≥ 终点深度" % [L, str(tdepths)], hit_ok)
# L1 现行图跨表覆盖(⑦/⑨ 只扫 L2/L3——L1 图侧覆盖在此闭合:每 battle/boss 深度敌侧落带+板侧精确命中)
var mut_nodes: Array = _level_active_nodes(1)
mut_nodes[0]["depth"] = 99 # MUTATION-C:深度越出表域(敌带与板行都应判违例)
mut_nodes[1]["type"] = "trap" # MUTATION-D:型别出枚举(五型合计应 ≠ 节点数)
var l1_cov := _coverage_scan(1, mut_nodes)
Kit.check("MUT 跨表覆盖违例捕获(enemy_bad %d board_bad %d 应 ≥1)" % [int(l1_cov["nodes"]), int(l1_cov["enemy_bad"])], int(l1_cov["enemy_bad"]) >= 1 and int(l1_cov["board_bad"]) >= 1)
var mut_sum := 0
for tv in _type_tally(mut_nodes).values():
mut_sum += int(tv)
Kit.check("MUT 型别合计自洽违例捕获(sum %d vs 节点数 %d)" % [mut_sum, mut_nodes.size()], mut_sum != mut_nodes.size())
var l1_cov := _coverage_scan(1, _level_active_nodes(1))
Kit.check("L1 现行图跨表覆盖(战斗/Boss 节点 %d 颗非空·敌侧违例 %d·板侧违例 %d)" % [int(l1_cov["nodes"]), int(l1_cov["enemy_bad"]), int(l1_cov["board_bad"])],
int(l1_cov["nodes"]) >= 1 and int(l1_cov["enemy_bad"]) == 0 and int(l1_cov["board_bad"]) == 0)