跟进单,源自 M12 切片 2 批量审计(#174)。 复现(main 5dd1d584,src/core/audit.js parseClaimCounts,首条 X/Y 正则): - 输入 `testify go test -v 472/12 verified` → `{passed: 472, total: 12, failed: -460}`(主轮独立复现) - 输入 `240/0` → `{passed: 240, total: 0, failed: -240}`(同 bug) - 对照:`61/64` → `{passed: 61, total: 64, failed: 3}` 正确(确为 passed/total 写法) 根因:首条正则 `/(\d+)\s*\/\s*(\d+)\s*(?:pass|passed|通过|✔|✅)?/` 把 A/B 一律当 passed/total,算 failed = total - passed;但 #158 证据原文明写该案例声称为“472 通过、12 失败”,即 passed/failed 对。批量影响:仅 #160 一行声称数字错(修正后判定仍 mismatch,另有三处不匹配);#173/#170/#167/#163 均不受影响(61/64、8/8 为 passed/total 写法;其余无 X/Y 写法)。 修复方向:区分 passed/failed 与 passed/total 两种写法(如第二数大于第一数时不可能是 failed;或要求 total 写法带明确标记),并补回归测试覆盖 472/12、240/0、61/64 三种。 证据:#174 评论 6814870874(补齐施工员)、6814581106(原施工员)。
Activity
surlymochan commentedon Nov 12, 2026
修复已随 M13 落地:PR #179(ceece473)量级区分口径已合;#160 真实重审(#180 评论 6815694863)证实 472/12 现解析为 472 passed / 12 failed,不再出负数;M13 已验收(总单 #177)。关闭本单。