diff --git a/game/tests/unit/core/run_time_fatal_test.gd b/game/tests/unit/core/run_time_fatal_test.gd index 9be37734..8f58cf95 100644 --- a/game/tests/unit/core/run_time_fatal_test.gd +++ b/game/tests/unit/core/run_time_fatal_test.gd @@ -77,7 +77,7 @@ func _seal_propagation(db) -> bool: var oc_re = OrchestratorScript.new(db, rng_b) oc_re._reward_economy._fatal("测试违约②地图战斗资源") if oc_re.battle_result != "fatal_error": - push_error("[run_time_fatal_test/wr5] 地图战斗资源违约未传导封印(battle_result=%r)" % oc_re.battle_result) + push_error("[run_time_fatal_test/wr5] 地图战斗资源违约未传导封印(battle_result=%s)" % str(oc_re.battle_result)) return false return true diff --git a/reports/iter40-验收审计-2026-10-28-卡①卡②.md b/reports/iter40-验收审计-2026-10-28-卡①卡②.md index e40ae5ca..6b8ff14d 100644 --- a/reports/iter40-验收审计-2026-10-28-卡①卡②.md +++ b/reports/iter40-验收审计-2026-10-28-卡①卡②.md @@ -62,6 +62,7 @@ ## 发现项 **F1(缺漏·非阻塞,建议验收闸前一行修正)**:提交 eb7b6b39 声称修复「wr5 两条失败消息用了 GDScript 不存在的格式符 %r」,其实际 diff 只改了棋盘生成侧一条(`run_time_fatal_test.gd:73`→`%s`+str);奖励资源侧一条(现 `:80`,`(battle_result=%r)" % oc_re.battle_result`)仍为 `%r`。后果:若 wr5 第二点(reward_economy 侧封印传导)的失败支路被走到,push_error 将崩在无效格式符上→函数中断→`quit(2)` 不达→进程挂到超时(与被修缺陷同型残留)=回归态红因不可读。绿路径与当轮全部验收读数不受影响。修法=一行:`:80` 改 `%s`+`str()` 包裹。另:eb7b6b39 提交信息「两条…改」与实际改动一条不符——沿革不可改,以本报告为正。 +〔2026-10-28 用户裁「闸前一行修」——已修复:`:80` 改 `%s`+`str()`,与 `:73` 已实证形态同形;修复属失败支路诊断消息,绿路径与判据零变化;该支路本身的运行期验证受撤销禁令约束不可复现,以静态同形+验收闸绿路径跑通为证。〕 **F2(例外·记录口径)**:B5 中 after_*↔before_* 的文件级 cmp 不等,成因为两轮采集的 stderr 捕获口径差异(板生成重试 push_warning「重试耗尽无达标」+退出泄漏告警行),非玩法差异——JSONL 本体六组逐位全等。登记此口径事实,防后续读档者把文件级 cmp 不等误判为行为漂移。