diff --git a/docs/API.md b/docs/API.md index dbcc9cb..ad1d882 100644 --- a/docs/API.md +++ b/docs/API.md @@ -4679,3 +4679,55 @@ window.__AGENTMAIL_TOKEN__ = ''; // 省略则走 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"不是来源。 + ```