- 归因: 四条红全部由迭代 51 合回(fb27dc2f)引入,重塑后两笔——1cd6e2b1卡①(effect_engine.gd:14 删 charge_full 词表位)与372b4fdc卡②(damage_controller.gd:50 _init 加 facts_ref 第五参;slot_store.gd:155 migrate_legacy_save 公开化;breakpoint_store 新增 13 公开读写方法)。 首现于 run 56(5d7579e7 合回,因动 game/tests/.gates/.gitignore 被判 full 域)—— 迭代 51 之后第一次代码域全量真跑;run 51 倒在导入步(runner 故障)、run 54 实为 域=docs、run 55 零触发跑闸步 skipped,故这三跑都没照出。 - 随迁面: 1) forge_table_test.gd:219 EVENTS 闭集计数 22→21(卡①残留面清单 13 处+注释 3 处 未含测试内闭集计数断言,属卡片考证缺面)。 2) system_contracts_test.gd 补 BattleFactsScript preload 与 :108 第五参;:102 注释 「四个依赖」改「五个依赖」(定型标注面同步)。 3) save_manager_domain_test.gd:481/492 改公开名 migrate_legacy_save。 4) breakpoint_store.gd:225 bind_save_manager 参数补类型 sm: SaveManagerCore(09 R3)。 - 验证: 三套件单跑 exit 0(forge_table/system_contracts/save_manager_domain); audit_type_hints PASS 产品码类型闸归零;--code 档 09 静态扫描已离红名单。 - 一条与本轮无关的本机红在案: settlement_wiring_snapshot_test V1 同种子 golden 对拍 本机(Windows)红、远端(Mac,同字节 run 56)绿——把码面改动全摘回纯净 master 单跑 仍红,故非本批引入;golden 平台绑定成因未查,另条登记待裁。
tests/unit/ — 隔离单元测试
每系统一个子目录(现行:data_config/、core/、battle_settlement/、contracts/、presentation/)。协议与命名见 tests/README.md。
活样板:example_test.gd(本目录)——第一个真实测试请以它为模板。
参考实现:game/smoke/smoke_all.gd(752+ 条断言的组织方式)。