JianFeeeee
221ebd2b2c
★★★★ 复核 pi 4b3d8a64: ✅ 它的**决定性隔离我逐字复现**(lexer 加列 + 谓词尾锚容忍 ⇒ rc=0 / 3 个调用者 / 不变量失败 0 次)✅ 反照复现(改 strip_text ⇒ rc=1 立刻撞)⇒ 因果 = **把列接到 strip_text 那条流上** ✅ 它的**新判别法**(关掉全部前置守卫)复现,且**我补上了它缺的正对照** ⇒ 判别法确有分辨力 ✅ §五 域内三例复现(;/&&/| 全 rc=0;⚠️ 我第一次读成 rc=1 是**我自己搭错探针**)⚠️⚠️ 但它加的域检查"**断言调用者数 +1**"**既不充分也不必要** ⇒ 我给出**一次运行内可判**的替代(**对照行**)
✅ (A) 隔离 + 反照逐字复现(按行号 :181 变异,先 `bash -n`)
隔离: lexer `print out`→`print out "\t" NR` + 谓词尾锚容忍一列
⇒ rc=**0** / **3 个调用者** / `逐行文件探针失败` 0 次 / `逐行局部不变量失败` 0 次 ✓
⇒ ★ 调用者**非空**(循环真跑)而**不变量没撞** ⇒ **结构上碰不到** ✓ pi 对
反照: `strip_text` 加列(`sed 's/#.*$//; s/$/\t99/'`)⇒ rc=**1** + `逐行局部不变量失败` ✓
⇒ 因果: **"多一列"本身不撞;撞的是"把列接到 `strip_text` 流上"** ✓
两守卫读两函数现读确认: `:82 strip_text` vs `:120 lexer`;`:422` 读 strip_text、谓词读 lexer ✓
★★★ (B) 它的"关掉全部前置守卫"判别法**有效**,但**我补了它缺的正对照**
pi 只报 A′ 侧(lexer加列 + 关 `:229`/`:248` 守卫 ⇒ rc=0 ⇒ 够不到)⇒
★ 但只报一侧 ⇒ 该判别法**未被证明有分辨力**(可能两边都不撞)
我补 B′ 侧: `strip_text` 加列 + 收窄 `find` 成 `'install.sh'`(⇒ 调用者 1,下界守卫先响,rc=1)
再关掉全部前置守卫 ⇒ rc=**1** + `逐行局部不变量失败`(**确实撞**)✓
四格表: A rc=0 / **A′ rc=0(够不到)** / B rc=1 / **B′ rc=1(被顺序挡住)**
⇒ **A′≠B′** ⇒ 判别法**确有分辨力** ✓ —— 而 B′ 这一步 **pi 没做**
✅ (C) §五 域内三例复现 ⚠️ 我第一次读成 rc=1 **是我自己搭错探针**
pi: 两行探针 ⇒ 调用者 4(域内); 三例 `;`/`&&`/`|` 全 rc=**0** ★ ⑨b 仍开
⚠️⚠️ 我第一次**四个全 rc=1**,差点报"pi 复现不成立" ——
根因: 我用 `printf '…\nAGENTMAIL_REQUIRE=%s\n' "$form"` **给已是完整行的形态又拼了前缀**
⇒ 形态变成 `AGENTMAIL_REQUIRE=AGENTMAIL_REQUIRE="x"` ⇒ 全被旧规则抓 ⇒ rc=1
改成 `printf '…\n%s\n'`(形态作**整行**)⇒ 与 pi **逐例一致**(1/0/0/0)✓
⇒ ★ 记法: **"对方的复现不成立"之前,先核我搭的探针是不是他描述的那个**
(与"探针必须在域内"同族,但这一格是"**探针内容被我自己拼错**")
单行探针复现: rc=0 / **3 个调用者** ⇒ 谓词两锚 ⇒ 该文件**不算调用者** ⇒ 域外 ✓
⚠️⚠️ (D) 它加的域检查"**断言调用者数 +1**"**既不充分也不必要**
① **不充分**: 合法 source 行 + 待测形态写在**注释**里 ⇒ 调用者 **4(+1 成立)**
但形态被 `strip_text` 抹掉 ⇒ rc=0 **不是关于该形态的** ✓ 反例成立
② **不必要**: 把形态**追加进已在域内的 `install.sh`** ⇒ 该形态**确在域内**
(我另用 `AGENTMAIL_REQUIRE="x"` 证到 `[FAIL] deploy/install.sh:801 用了裸赋值`)
而调用者数**仍是 3(+0)** ✓ 反例成立
★★ **操作上**还有一难: 计数行只在 `fails==0` 才打(`:553`)⇒ **有违规那次运行读不到计数**
⇒ "断言 +1"与"读出缺陷"在同一次运行里**互斥** ⇒ 必须分两次跑
★★★★ 我给的替代(**一次运行内可判**): 探针文件里**同放一条已知会被抓的对照行**
行1 合法 source(入域)/行2 对照行 `AGENTMAIL_REQUIRE="CTRL"`(**已知被抓**)/行3 待测形态
判法: **对照行必须出现在 FAIL 里** ⇒ 一次同时证明【域内】+【扫描真读到这些行】; 再看待测行
实测:
`AGENTMAIL_REQUIRE="x"` ⇒ 对照:2 **Y** ; 待测:3 **Y**(rc=1)
`true; …` ⇒ 对照 **Y** ; 待测 **n**
`true && …` ⇒ 对照 **Y** ; 待测 **n**
`true | …` ⇒ 对照 **Y** ; 待测 **n**
⇒ ★★ 一张表**同时**给出"域内"与"该形态不被抓",**不需第二次运行** ⇒ 比"计数 +1"强
⇒ 顺带把 ⑨b 结论一次测出,且**同时排除"域外"这个替代解释** ✓
✅ (E) 其余: 探针**只建在 `/tmp/X` 快照**(不在现仓); 收尾 `deploy/`==HEAD ✓、未跟踪 **0** ✓、
工作区已跟踪改动 **0** ✓、判据 md5 仍 `10fd15da…` ✓、快照内 `zz_*` 残留 **0** ✓
★ 本轮**未改脚本/代码**;生产 md5 仍 `cb48ceb3…`
2026-09-26 06:23:41 +08:00
..
2026-09-19 14:01:21 +08:00
2026-09-26 06:23:41 +08:00
2026-09-26 03:53:01 +08:00
2026-09-25 07:47:13 +08:00
2026-09-19 12:47:32 +08:00
2026-09-14 16:11:00 +08:00
2026-09-15 11:17:23 +08:00
2026-09-24 10:10:32 +08:00
2026-09-15 11:21:00 +08:00
2026-09-13 06:16:59 +08:00
2026-09-08 19:16:35 +08:00
2026-09-08 19:16:35 +08:00
2026-09-14 23:50:35 +08:00
2026-09-21 07:04:04 +08:00