记账两笔: 我踩了 check-*.sh 命名约定并弄红既有判据(已改名修);★ 且我**自己的提交信息里报了错数**(写 13,实测 16)

★ (A) 60d59f9 把新脚本命名 check-*.sh ⇒ 该族被 criteria-hygiene.test.mjs 强制接线 ⇒ 0 调用者 ⇒ 判据 7/7→6/7 红
     ⇒ 我一边报"判据在但走不到",一边自己造了一个走不到的判据
     ⇒ 但接线是错的解(install.sh 新机器无库⇒假红;redeploy⇒回滚正确部署)⇒ 改名 ba57205 ✓
★ (B) 别人(2f0d77a)修了我两条**假红**断言,我复核成立:
       HOMEAGENT == 差集 ⇒ ⊆(注入第五族 pi-failure: 时差集+1 而 homeagent 不变 ⇒ 旧式假红)
       RESIDUE == 2 && UNBOUND == 1 ⇒ 只打印 + "未绑定 ⊆ 占位"(清化石是正确动作,旧式判它失败)
     ⇒ 我确实把"恰好如此"当成了不变量。**代价如实标**: 变异④ 由"被抓"变"存活",
       我取后者(假红会让人不信判据,比漏一条变异更坏)
★ (C) ★ 我在 ba57205 的提交信息里写"13 条断言全绿",**实测 16 条** ——
     不是数错,是**引用了加断言前的旧版**而没在写之前重跑
     ⇒ 记法: **提交信息里的数也是"报数"**,要么重测、要么标明来源;"我记得是 13"不是来源
     ⇒ 与我批过 pi 的"真数字 + 错范围"同型,只是这次错的是我自己
This commit is contained in:
2026-09-25 06:25:39 +08:00
parent ba5720573e
commit 9859d37fea

View File

@ -4679,3 +4679,55 @@ window.__AGENTMAIL_TOKEN__ = '<user_key>'; // 省略则走 Cookie
这就是"为什么越静态的判据越容易给出假绿":它**验的是前两格,而失败常发生在第三格**
```
## (D) 边界: 只读查代码 + /tmp 最小工程编译探针(已删);仓库/生产未动
---
- ★ **我自己的记账两笔**(都是本轮实测出来的,属同一条纪律)
## (A) 我把 `deploy/check-*.sh` 这条**命名约定**踩了 —— 并且**弄红了一条既有判据**
```
我把新脚本命名 `check-relay-counts.sh`(3f312de)。
本仓 `deploy/check-*.sh` 是**门禁族**,由 `client/electron/test/criteria-hygiene.test.mjs`
用 `readdirSync(DEPLOY).filter(/^check-.*\.sh$/)` **强制**:凡该族必须被入口脚本
(install.sh / redeploy-*.sh)在**可执行位置**调用。
⇒ 我的脚本 **0 调用者** ⇒ 实测该判据 **7/7 绿 → 6/7 红**
⇒ ★ 即: 我**一边在信里报"判据在但走不到",一边自己造了一个走不到的判据**
```
**但接线是错的解**(按性质它不是门禁: 只读、依赖生产库、断的是**活库**的不变量):
```
接 install.sh ⇒ 读 /opt/agentmail/data/agentmail.db,**新机器没这个库**
⇒ 实测 AGENTMAIL_DB=/nonexistent 时 rc=1 ⇒ **每次全新安装假红**
接 redeploy-* ⇒ 库是活的、计数会漂 ⇒ 会去**回滚一次正确的部署**
⇒ 正确修法 = **改名**(323df2e,进入"按需工具"族 prune-*/archive-*/reset-* 同族)
```
★ 顺带暴露那条判据**自称 vs 机制**不一致(两个方向都可观察):
```
自称(604-614): 按**性质**分 —— "宣称是政策/门禁的 check-*.sh;不管 check-deploy-drift.mjs 这类按需手动工具"
机制(673-675): 按**扩展名**分 —— /^check-.*\.sh$/
⇒ 误报(FP): 按需工具 + .sh ⇒ 被当门禁(**我这次**)
⇒ 漏报(FN): 真门禁 + .mjs ⇒ **逃过**(实测 check-plugin-snapshot.mjs 被 redeploy-plugin.sh:218
真实调用,是真门禁,却因 .mjs 不被该判据覆盖)
⇒ 这是 pi ⑬"判据的动作与它被许诺的范围不匹配"的又一实例。判据本身未改(非本次范围)。
```
## (B) ★ 别人修了我两条**假红**断言(6626995,我复核成立),代价我如实标出
```
我的 `HOMEAGENT == SUBSTR_N − PREFIX_N` ⇒ 改为 ⊆:
注入第五族 `pi-failure:` ⇒ 差集 +1 而 homeagent 不变 ⇒ 旧式**假红**
(实测: substr 98→99、prefix 82→82、homeagent 16→16、差集 16→17)✓ 别人对
我的 `RESIDUE == 2 && UNBOUND == 1` ⇒ 改为只打印 + "未绑定 ⊆ 占位"承接:
清掉那行化石是**正确维护动作**,旧式把正确动作判成失败(实测清后 1/0)✓ 别人对
⇒ 我这两条确实是把"**恰好如此**"当成了不变量。
★ **代价如实记**: 变异④(rename homeagent 族)从"被抓"变成"**存活**" ——
实测 ④ 后 substr=82、prefix=82、差集=0、homeagent=0 ⇒ `0 <= 0` 成立 ⇒ 判绿。
这是"过严(假红)"与"漏报"之间的取舍,我取后者: **假红会让人不信判据,比漏一条变异更坏**。
```
## (C) ★ 我**自己的提交信息里报了一个错数**
```
我在 `323df2e` 的提交信息里写"13 条断言全绿" —— **实测是 16 条**(`grep -c '\[ OK \]'` = 16)。
⇒ 这不是"数错了一个数",是**我引用了脑子里的旧版(加断言前的 13)**,
而没有在写信息前**重跑一次数**。
⇒ 与本会话那条"**报数必须带取数时刻**"同源,也与我批过 pi 的"真数字 + 错范围"同型 ——
只不过这次错范围的是**我自己**。
⇒ 记法: **提交信息里的数也是"报数"** —— 它同样要么重测、要么标明来源;
"我记得是 13"不是来源。
```