chore(变异类测试全项目清除): 用户裁——变异验证/变异测试全项目禁用,验收一律只走撤销证明。AGENTS.md 红线行删除+导航行改词;test-conventions §6 整节退役(§7–§9 重编号为 §6–§8,对照表第六格改「撤销证明」,§8.4 新增行为证明改撤销式);process-conventions 批清单第 8 条删除(后续条目重编号)+闸件义务句改人工确认;code-conventions/roadmap 同步;pipeline_gate 对照表证明标记删「变异」+报错文案改;run_all_gates.sh 注释同步;游戏测试面 8 件测试语义改写(layout_probe/ui_struct_probe/save_manager/save_boot/level_gen_params/forge_table/save_manager.gd/4 件表值措辞)——玩法术语(地形变异/变异格/变异角标/变异池等)逐个甄别后全数保留;活卡「状态面板瘦身批」变异列全量改写为撤销证明口径。全库方法术语 grep 零残留;全量域闸验收通过(回执随本批重跑补齐)

This commit is contained in:
DKChan committed 2026-10-24 08:35:18 +08:00
1 parent 99e1b20ba6
commit b2583f75f5
20 files changed
+61 -83

No files matched your search

+1 -1
View File
@@ -612,7 +612,7 @@ func breakpoint_snapshot() -> Dictionary:
# 旧隐式单档一次性迁移(Q1 甲,sv12):src 字节级原样搬运到 dst(零解析零改造——损坏/高版本
# 旧档字节原样落槽 1,读取时由正式进档路径的兜底/拒读链接管,不静默丢数据);
# dst 已存在不重迁(幂等判据——变异④锚点:去判据则重复迁移覆盖槽 1);迁移成功后 src 改名
# dst 已存在不重迁(幂等判据——判别锚④:去判据则重复迁移覆盖槽 1);迁移成功后 src 改名
# bak 留痕(不删——处置字节留痕,防再次隐式读写)。任一步失败:源保留原地,下次启动重试。
# tmp+rename 原子形态与 write_to_disk 同纪律。生产调用=src/dst/bak 为 旧单档/槽 1/留痕名。
func _migrate_legacy_save(src: String, dst: String, bak: String) -> void:
+3 -3
View File
@@ -69,9 +69,9 @@ func _check_one(label: String, main: Node) -> void:
elif not vr.encloses(r):
_problems.append("[%s] %s 越视口 %s ⊄ %s" % [label, key, r, vr])
# 判据覆盖边界(如实记录,勿当已拦截):本探针按名点名三区做几何判定,
# 不遍历战斗屏宿主的全部后代。变异验证第二发证——向装配器注入一个全幅 ColorRect
# (挂在 battle_root 的内层根下)时探针仍全绿:「未登记兄弟控件」这一缺陷类不在本探针
# 拦截面内。要拦它得改为递归遍历全子树找重叠,那是另一套判据(且极易误报容器父子关系),
# 不遍历战斗屏宿主的全部后代——「未登记兄弟控件」(如向装配器塞一个挂在
# battle_root 内层根下的全幅 ColorRect)这一缺陷类不在本探针拦截面内,探针对此仍全绿。
# 要拦它得改为递归遍历全子树找重叠,那是另一套判据(且极易误报容器父子关系),
# 本探针不设此判据。
var bv: Control = main.board_view
if bv == null:
+1 -1
View File
@@ -438,7 +438,7 @@ func _save_select_contract(main: Node, tpl: String) -> void:
if not has_keystone:
problems.append("[savesel] 槽1 钥石徽读数缺失(应=钥石 555)〔sl2〕")
# sl3 摘要禁项:断点/种子/「继续」/停点/「 关」(关数形——「通关」无空格不误伤)零命中
#(裁决 4——零未完冒险读数;词形覆盖=对照表 sl3 变异「断点关数拼进槽卡」的拦截面)
#(裁决 4——零未完冒险读数;词形覆盖=对照表 sl3 缺陷形态「断点关数拼进槽卡」的拦截面)
for needle in ["断点", "种子", "继续", "停点", " 关"]:
for t in all_texts:
if t.contains(needle):
@@ -7,7 +7,7 @@
# 战斗结算 fresh 池攻击链回归(Bug#2——池空时按掷点档位足额兑现)
# 协议照单元侧惯例:extends SceneTree+Kit.check 主通道;--script 模式无 autoload,
# ConfigDB 显式实例化构造注入(各套自建 RngService——源套掷点隔离形态,宿主不持统一流);
# 表加载失败不中止(沿被迁断言面的源语义——诊断在此展开,表值变异的红由具体断言落,承 G2/G3 同款)。
# 表加载失败不中止(沿被迁断言面的源语义——诊断在此展开,表值走偏的红由具体断言落,承 G2/G3 同款)。
# 运行:godot --headless --path game --script res://tests/unit/battle_settlement/roll_multiplier_test.gd
extends SceneTree
@@ -10,7 +10,7 @@
# 格面资源资格面(揭示事件 resource 标记 + 封锁格身份查询)
# 协议照单元侧惯例:extends SceneTree+Kit.check 主通道;--script 模式无 autoload,
# ConfigDB 显式实例化构造注入(各套自建 RngService——源套掷点隔离形态,宿主不持统一流);
# 表加载失败不中止(沿被迁断言面的源语义——诊断在此展开,表值变异的红由具体断言落,承 G2/G3/G4 同款)。
# 表加载失败不中止(沿被迁断言面的源语义——诊断在此展开,表值走偏的红由具体断言落,承 G2/G3/G4 同款)。
# 运行:godot --headless --path game --script res://tests/unit/battle_settlement/seal_polarity_test.gd
extends SceneTree
@@ -6,7 +6,7 @@
# 地图战斗资源·伤害量值区间(中点锚 / 域内 / 流动 / 定值不受扰)
# 协议照单元侧惯例:extends SceneTree+Kit.check 主通道;--script 模式无 autoload,
# ConfigDB/RngService 显式实例化构造注入(统一流 master 种子 42 沿源);
# 表加载失败不中止(沿被迁断言面的源语义——诊断在此展开,表值变异的红由具体断言落,承 G2 同款)。
# 表加载失败不中止(沿被迁断言面的源语义——诊断在此展开,表值走偏的红由具体断言落,承 G2 同款)。
# 运行:godot --headless --path game --script res://tests/unit/core/board_gen_reward_test.gd
extends SceneTree
@@ -8,7 +8,7 @@
# 天赋树六键行为(先手窗/危险直觉限次/守侧五场景/财富之道聚散)
# 协议照单元侧惯例:extends SceneTree+Kit.check 主通道;--script 模式无 autoload,
# ConfigDB 显式实例化构造注入;表加载失败不中止(沿被迁断言面的源语义——诊断在此展开,
# 表值变异的红由具体断言落,承 G2/G3/G4/G5 同款);全局 class_name(Attunement/EffectEngine/
# 表值走偏的红由具体断言落,承 G2/G3/G4/G5 同款);全局 class_name(Attunement/EffectEngine/
# EffectContext)裸用(--script 模式全局类在册,G3 先例)。
# 运行:godot --headless --path game --script res://tests/unit/core/meta_progression_forge_test.gd
extends SceneTree
@@ -1,6 +1,6 @@
# tests/unit/core/save_boot_no_activate_test.gd — 卡① sv2/sv3:启动态钉死类级契约
# (无参实例=无激活态、内存=默认合法空态、无激活写盘一律拒绝并返回 false 且盘面零触碰
# 〔含空路径派生的裸 ".tmp" 退化写目标——拆闸变异的可判别锚〕、MetaProgression.settle_adventure
# 〔含空路径派生的裸 ".tmp" 退化写目标——拆闸缺陷的可判别锚〕、MetaProgression.settle_adventure
# 生产链无激活触达写盘被拒、访问器 fail-safe 合法空值、越界槽号拒绝。
# 真实 autoload boot 链断言在冒烟 V2-s1..s4 段——--script 模式无 autoload,本套件为类级
# 白盒面+生产链对照,双落点在实现报告实际对照表对账。)
@@ -38,7 +38,7 @@ func _test_no_arg_instance_has_no_activation() -> void:
# ② 无激活态写盘一律拒绝并返回 false,盘面零触碰(sv3 类级——真实入口=冒烟 V2-s3 生产链)
# 判别锚:空 _path 的退化写目标=裸 ".tmp"(落 res://,拆闸实验实测杂散落点)——
# 断言先清退化目标再核零新增,闸短路变异(拒绝口旁路、写盘真实发生)必红。
# 断言先清退化目标再核零新增,闸短路缺陷(拒绝口旁路、写盘真实发生)必红。
func _test_write_rejected_without_target() -> void:
var sm := SaveManagerScript.new()
var before := {}
@@ -388,7 +388,7 @@ func _smoke_save_slots() -> void:
Kit.check("sv6 删槽 2 槽 1 字节不动(位间互隔离)〔卡① sv6〕",
FileAccess.get_file_as_bytes(slot_tpl % 1) == slot1_before)
# ③ 新档原语(sv4):非白板旧内容覆盖为全零可玩白板(判别锚:新档禁读旧档——变异可红),
# ③ 新档原语(sv4):非白板旧内容覆盖为全零可玩白板(判别锚:新档禁读旧档——判据撤除即红),
# 创建即激活并落盘(生产路径只在空槽调用;本段预置旧内容是对原语白板保证的钉死,超生产面)
var fold := FileAccess.open(slot_tpl % 3, FileAccess.WRITE)
fold.store_string(JSON.stringify({"version": 7, "meta": {"keystone_balance": 999,
@@ -119,7 +119,7 @@ func _has_cat(errs: Array, cat: String) -> bool:
return false
# 多字段变异器(lambda 单表达式装不下的用例——命名函数承载)
# 多字段改值器(lambda 单表达式装不下的用例——命名函数承载)
func _mut_spear_initial(t) -> void:
t.routes[1]["initial_owned"] = true
t.routes[1]["prereq_route"] = ""
@@ -70,10 +70,10 @@ func _test_negative() -> void:
_row(2, 9, 0.5, [0.5, 0.2, 0.15, 0.15], 2, 2, 6),
_row(3, 13, 0.7, [0.55, 0.15, 0.15, 0.15], 2, 3, 8)]
Kit.check("合法三行域校验零错误(夹具自证)〔fv2〕", _table(base).validate().is_empty())
# ① L1 出口改 2 → 出口恒 1 断言红(变异步同款)
# ① L1 出口改 2 → 出口恒 1 断言红(负样本夹具)
var bad_l1_exit := [_row(1, 6, 0.3, [0.5, 0.2, 0.2, 0.1], 1, 2, 4), base[1], base[2]]
Kit.check("L1 出口=2 被拒(出口 L1 恒 1 已锁)〔fv2〕", not _table(bad_l1_exit).validate().is_empty())
# ② 配比合计 0.5 → 合计 1 断言红(变异步同款)
# ② 配比合计 0.5 → 合计 1 断言红(负样本夹具)
var bad_ratio := [_row(1, 6, 0.3, [0.2, 0.1, 0.1, 0.1], 1, 1, 4), base[1], base[2]]
Kit.check("配比合计 0.5 被拒(四类合计 1 已锁)〔fv2〕", not _table(bad_ratio).validate().is_empty())
# ③ 层深低于下限