Files
MailUI4Agents/deploy
JianFeeeee 2f0d77a3d0 fix(deploy): check-relay-counts 两条断言是**假红** —— 把"恰好如此"当成了不变量
新脚本的立意(把反复对账的查询固定成命令、断言只写不变量、瞬时量只打印)完全正确,
但它自己破了其中两条规则。两条都实测复现,且都把**正确动作**判成失败。

## 一、`HOMEAGENT == SUBSTR_N − PREFIX_N`(旧 :203)

等式成立的前提是"非三前缀的 failure 键**全部**是 homeagent 族"—— 那是**当下恰好如此**,
不是机制。机制只有两条**包含关系**:

  · 三个前缀字面量本身都含 "failure" ⇒ 其命中集 ⊆ `%failure%` 命中集
  · homeagent 族非三前缀之一、又含 failure ⇒ 必落在差集里

任一桥改用第五种拼法(如 `pi-failure:`)⇒ 差集 +1、homeagent 不变 ⇒ 假红。
实测:插入一行 `pi-failure:` 后 子串=99 三前缀=82 homeagent=16,差=17 ⇒ 旧断言红。

## 二、`RESIDUE == 2 && UNBOUND == 1`(旧 :204)

这两行是**快照**,而脚本头部 24-27 行明写"瞬时量只打印,不当断言,否则明天必然假红"。
未绑定那行是"claim 后早退没退键"的化石;**清掉它是正确动作**,
旧断言却让清理后变红。实测:清掉该行后 残留=1/未绑定=0 ⇒ 旧断言红。

⇒ 改为只打印(已在"当下读数"里),另用与清理无关的关系接住:
`未绑定 ⊆ 占位`(未绑定必是占位,两者口径一致)。

## 验证

  真库:新旧都绿
  /tmp 副本(清化石 + 加第五族):旧 rc=1(两条 FAIL)、新 rc=0
  ⇒ 红→绿可复现,且红的两条正是上面两条
2026-09-25 06:10:38 +08:00
..