4f0852a94d
为什么:版本契约门只看 `--- PASS: X` 两行,rc1 取到却没用。同一进程里别的测试 失败时 go test 仍会打印这两个 PASS 行、退出码非 0——那种"绿"证明不了这一轮测试 成功,负构建因编译/网络错误非 0 也会被当成"断言还活着"。审计 F19 的原始触发即此。 改了什么:判据抽成 `judge_contract_positive` / `judge_contract_negative`,正向要求 rc=0 + 每个必需测试真 PASS + 无 FAIL 事件 + 未跳过;负例要求非 0 且失败在预期断言上, 命中编译/网络/工具链标记即判红。判据的反例自检 `contract_judgement_problems()` 同时在 `make verify` 的 contracts 步骤与 `--self-test` 里跑,判据被改坏在本地就红。 POLICY_REVISION 提到 ci-checks/4。 怎么验:`python3 scripts/ci_checks.py --self-test` rc=0(10 汇总分支 + 10 契约反例); `--internal-contracts $(command -v go)` rc=0;反例探针(假 go 打印两个 PASS 后 exit 1) 现在 rc=1,修复前同一输入 rc=0。