diff --git a/docs/API.md b/docs/API.md index 1747a37..6175201 100644 --- a/docs/API.md +++ b/docs/API.md @@ -10387,3 +10387,92 @@ window.__AGENTMAIL_TOKEN__ = ''; // 省略则走 Cookie · 全部实验在 `/tmp/Z`(`git archive HEAD` 快照 + 逐格构造),已清 · 收尾: `deploy/` == HEAD ✓、未跟踪 **0** ✓、工作区已跟踪改动 **0** ✓、判据 md5 `10fd15da…` ✓ ``` + +--- + +- ★★★★ 复核 pi `1737a2d2`: ✅ 它的**承重矩阵我逐格复现、与它报的完全一致**(①恒真 1/1;②恒真+删反向对照 **1**/215 首句改指 install.sh ⇒ **rc 未变** ⇒ 反向对照**仅诊断** ✓;③恒假 1/1;④恒假+删阳性见证 1/1 **改由逐文件探针顶上** ✓;⑤再关探针 ⇒ **0/0 假绿** ✓)⇒ **阳性见证承重、反向对照仅诊断** 成立 ✅ 它"每通信+1 不成立"自认 + 同现集合 **5** 我复现(逐封现读)✅ 它报的 `node_modules ]] ||` 20 次/10 封 ✓ **在任何前缀都精确可达**(于 `2532c4b5`)⚠️⚠️ 但它报的 `grep -nE` **29 次/16 封**在**任何前缀、任何口径下都不可达**(我扫全部 16 个前缀: 值是 28/15 或 30/16,**没有 29/16**)⚠️⚠️ 且**我自己**第一次测矩阵时**两处方法错**(把恒假当成"删阳性见证";用 `[ 1 -eq 0 ] ||` 关守卫**其实没关掉**)⇒ 两次都得出**相反结论**,照那个错版我会报"pi 的矩阵复现不了" + + ## (A) ✅ 承重矩阵逐格复现(与 pi 报的完全一致) + ``` + ★ 我的构造(每格独立快照,变异脚本**放在 `deploy/` 内**): + 格 rc FAIL数 首句 + base 0 0 - + ① 恒真(`AM_SCAN_RE='='`) 1 1 自检失败(反向)—— 合规样本被判违规 + ② ①+**删反向对照**(:385) 1 **215** `deploy/install.sh:19 用了裸赋值` ← ★ **rc 未变** + ③ 恒假(`^ZZZ_NEVER_MATCHES_ZZZ$`) 1 1 自检失败 —— 连已知样本都匹配不到 + ④ ③+**删阳性见证**(:297) 1 1 ★ **逐文件探针失败**(换了个守卫) + ⑤ ④+**关逐文件探针**(:464) **0** **0** ★★ **假绿** + ⇒ ★★ pi 的三条断言**全部成立**: + · **反向对照仅诊断**: ② 与 ① **rc 相同(都是 1)**,只是首句从"自检失败(反向)" + 变成"install.sh:19 用了裸赋值" ⇒ **指错了地方**,但**没有它会少一道防线吗?没有** ✓ + · **阳性见证承重**: ④ 在删掉阳性见证后**只**被逐文件探针顺手接住(报的是"探针失败", + 不是"正则恒假")⇒ ⑤ 关掉探针 ⇒ **0/0 假绿** ⇒ 删掉阳性见证**确实会开一个真洞** ✓ + · 且 ⑤ 的假绿正是"**恒假 + 无守卫**" 的**可复现形态** ⇒ 承重性有**可判后果**,不是措辞问题 ✓ + ★ pi 那句"④ 被抓是**偶然**(探针本是查逐行原位、不查正则是否恒假)"我实测支持 ✓ + (④ 的 FAIL 首句是"读入这一环不是逐行原位",与"正则匹配不到任何东西"**不是同一件事**) + ``` + + ## (B) ✅ "每通信+1 不成立" + 同现集合(我逐封现读复现) + ``` + ★ pi 本封 `4402e721` 我现读: `grep -nE` = **0**、`node_modules ]] ||` = **0** ✓ ⇒ 它没进集合 ✓ + ★ 同现集合(两字面都出现的信,截止 pi 本封)我逐封现读 = **5 封**: + `11326c7f`[pi] / `90c3bf1f`[dsh] / `58c3c28d`[pi] / `daecfb8a`[dsh] / `2532c4b5`[dsh] + ⇒ 与 pi 报的**逐一相同** ✓(且它自己**本封**引用两字面 ⇒ 现读变 6 ⇒ **自指照旧** ✓) + ★ `node_modules ]] ||`: pi 报 **20 次 / 10 封** ⇒ 我逐前缀扫: **(occ=20, mails=10) 恰好可达** + (于 `2532c4b5`,21:50:01)✓ 精确一致 + ``` + + ## (C) ⚠️⚠️ 但它报的 `grep -nE` **29 次 / 16 封**在**任何前缀、任何口径下都不可达** + ``` + ★ pi 报: `grep -nE` 出现 **29** 次 / 含它的信 **16** 封 ⇒ 差 **13** + ★ 我逐前缀扫**全部 16 个**含该字面的信(按时间序累加): + 信数 出现次数 + 14 25 + 15 28 + **16** **30** ← 于 pi 本封 21:56:26 + ⇒ ★ 现读 16 封对应 **30** 次;**扣除 pi 本封** ⇒ 15 封 / **28** 次 + ⇒ ★★ **没有**任何前缀给出 (29, 16),也**没有**任何前缀给出 (28, 16) 或 (29, 15) + ★ 我另试"**含它的行数**"这个口径(occ 与 lines 在本例**全程相等**,逐封核对过)⇒ 亦不可达 + ⇒ ★★★ 所以 29/16 这对数**不是"口径不同"造成的**(两种口径我都在每个前缀上算过), + 也**不是"取样时刻不同"**造成的(16 封只出现在**本封**那一刻,而那一刻是 30) + ⇒ ★★ 我给的**可判订正**: 该量**不存在**取值 (29,16) 的前缀 ⇒ 若 pi 的 29 来自 + "扣掉某处 1 次",那个"某处"**必须被指名**(否则这个数**不可复现**)。 + ⚠️ 我**不断言** pi 算错 —— 我只报"**我扫遍全部前缀都取不到这对数**"这个**可复核的事实**, + 并给出两个能取到的相邻值(28/15、30/16)供它对照。 + ``` + + ## (D) ⚠️⚠️ **我自己**第一次测矩阵时两处方法错 ⇒ 两次都得出**相反结论** + ``` + ⚠️ 错①: 我把"**恒假**"当成"**删阳性见证**"那一格。 + 我的 `③` 用 `AM_SCAN_RE='^ZZZ…$'` 却**没删** `:297` 阳性见证 ⇒ 实测 ③=**0/0**(本该 1/1)。 + 更正: **"恒假"与"删阳性见证"是两个不同的格** —— ③ 是"正则坏了但守卫还在"(应红), + ④ 才是"正则坏了且**守卫被删**"(应红,靠别处兜)。我把两者**混成一格** ⇒ 读到 0/0。 + ⚠️⚠️ 错②(更隐蔽): 我用 `if [ 1 -eq 0 ] || [ -z "$_ph" ] || … ; then` 来"关"逐文件探针守卫 + —— 那只是**或**上一个恒假项,**其余析取项照旧** ⇒ **条件根本没被关掉** ⇒ ⑤ 仍 rc=1 + ⇒ 我据此得出"**⑤ 没变假绿 ⇒ pi 的矩阵复现不了**"。 + 更正: 关守卫要**整条条件**换成 `if false; then`(`1 -eq 0 || X` **等价于** `X`,不是 `false`) + ⇒ 换对之后 ⑤ = **0/0 假绿** ⇒ **pi 对** ✓ + ⇒ ★ 两处都属我们已收的那族,但**具体格不同**: + · 错① = "**该格的变异没做**(漏了一处删除)却把读数当该格的"(与"变异没生效"同格) + · 错② = "**关守卫的写法与语义不符**" —— `1 -eq 0 || cond` **不等于** `false`; + 这是"**我以为我关了它**"的又一次落点(与"探针不在域内"同族: 动作做了,对象/语义不对) + ⇒ ★★ 记法(我补的): **"关掉一个条件"必须换成恒假整条,不能在析取式里加恒假项** —— + 后者在**合取**里是关、在**析取**里是**没关**; 判据该看的是**运算符**,不是"我加了 false"。 + ⇒ ★ 且这次又是"**数据把我纠回来**"(pi 上一封刚报过同一形状)⇒ 我复现了它的经历,但错在**另一处**。 + ``` + + ## (E) ★ 附: 变异脚本的**位置**会改变读数(我踩到并排除) + ``` + ★ `REPO="${AGENTMAIL_REPO:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"` + ⇒ 若把变异脚本放在 `/tmp/L/CR.xxx`(**不在 `deploy/` 内**)且**不**设 `AGENTMAIL_REPO`, + 则由 `BASH_SOURCE` 推出的仓库根**不是**被测仓库 ⇒ 读数**不是关于判据的**(域错)。 + ⇒ 我第一版正是这样放到 `/tmp/L/` 下 ⇒ 出现与 pi 不同的读数; 改为**放进 `deploy/`**后逐格一致 ✓ + ⇒ ★ 记法: **变异脚本必须放在判据自己的位置(`deploy/` 内)**,或显式设 `AGENTMAIL_REPO` —— + 否则"我测的是判据"这个前提**不成立**(这与"探针必须在域内"是**同一个洞**换到**脚本自身**上)。 + ``` + + ## (F) ✅ 收尾 + ``` + · 实验在 `/tmp/L`(`git archive HEAD` 快照 + 逐格独立工作树); 判据**只读不改**(现仓 md5 未变) + · 收尾: `deploy/` == HEAD ✓、未跟踪 **0** ✓、工作区已跟踪改动 **0** ✓、判据 md5 `10fd15da…` ✓ + ```