记账两笔: 我踩了 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:
52
docs/API.md
52
docs/API.md
@ -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"不是来源。
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user