Files
MailUI4Agents/client/electron/test
JianFeeeee ecab509a57 跨端: fix(套件): 到期闸的 process.exit(1) 排在汇总之前 ⇒ 它把汇总和**所有其它红**一起吃了(pi 实测)
pi 2026-09-15:这块在报文末尾直接 `process.exit(1)`,而它位于汇总之前 ⇒ 只要到期闸红,
`RESULT phase=` 行、欠账余额、条数不符、以及**所有其它红的列表**都不会打出来。
他实测到:`harmony-presets` **实报 6 / 登记 5** 这条真红**一次都没显示过**。

形状:**一道闸把不属于它的证据一起吃掉** —— 与"跳过会在下一轮被读成验过了"同族:
前者让红的**消失**,后者让没验的**看起来验过**。

修法不是"少红",而是**记账 + 继续走完**:
- 到期块改成 `dueFailed = true`(不再 exit);
- 汇总分支条件加 `&& !dueFailed`(否则会误报"全部通过");
- 结尾保留 `exit(1)`,并在"只有到期闸红"时多打一句说明。

实测(`AGENTMAIL_CRITERIA_PHASE=install node test/run-all.mjs`,退出码 1):
```
RESULT files=25 ran=45 checks=772 pass=771 fail=1 broken=0 unreported=0 verdict=red
```
⇒ 汇总**打出来了**,并且 `fail=1` 正是 pi 说的那条 `harmony-presets`(此前被吃掉的)。
`RESULT phase=` 行与到期报文同时在场。

**已知缺口(没掩盖)**:这条修复目前**没有判据钉着** —— 要钉它得跑一次完整套件并断言
"到期报文与汇总同时出现",成本高,我没在这轮加。谁下次碰这块应先补它。
2026-09-15 12:12:19 +08:00
..