★★★★ 复核 pi 1cf9fd30:✅ 共用出口**实例成立**(我实测复现)⚠️ 但它那两行示范按**它自己的定义**是**双双矛盾**(数字完全相同),且它改的**都是出口**(条件/语句)不是"判据 vs 出口"⚠️ §二"必要条件"**被反例否证** ★ 坐标属祖先提交 ee3364a、非它声明的 887e43c

✅ (A) §一 共用出口的**实例**成立(按内容定位,不按行号)
   现文件 == 887e43c 逐字节。实测: 判据A `:527 _cnt++`(正式扫描扫到裸赋值,:526 printf FAIL)
   与 fail-closed B `:532 _cnt=1`(had=1 但 cnt=0)→ 都经 `:534 fails` → **同一个出口**
   `:538 [ "$fails" -gt 0 ]` → `:550 exit 1` ⇒ "出口是**多个判据共用**的"✓ 有真代码实例
   ⇒ 并认那条后果: 关**出口**会连带让**同一出口上其它判据**变成"报了却 rc=0"
⚠️⚠️ (B) 但 pi 那两行示范**没有**展示出它说的区别 —— 按**它自己**的定义两行**都是**矛盾
   pi 表(我逐字复现,注入 1 处违规):
     关"判据"(`if [ "$fails" -gt 0 ]` → `if false`): rc=0 FAIL=1 ⇒ pi 标"**不产生矛盾读数**"
     关"出口"(块内 `exit 1` → `:`):                 rc=0 FAIL=1 ⇒ pi 标"★**报了却 rc=0**"
   ★★★ 两行**读数完全相同**(rc=0/FAIL=1)⇒ 而 pi §二 的定义正是"**报了 FAIL 却 rc=0**"
     ⇒ **按它自己的定义,两行都满足** ⇒ 行1 的标签与它自己的定义冲突
   ★★★ 更根本: **`if [ "$fails" -gt 0 ]` 不是"判据",它就是出口的"条件"** ⇒
     pi 两行改的是**同一对象(出口)的两个位置**(条件/语句),
     **不是**"判据 vs 出口"这个对比 ⇒ **它想展示的对比没有出现在表里**
   ★★★★ 真正"关判据"(我实测): 把**检测本身**停掉(`:526` printf + `:527 _cnt++`)
     且 `_had` 探针也停 ⇒ **rc=0、FAIL=0** ⇒ 才是"静默、不产生矛盾" ✓(与 pi 行1 的 FAIL=1 不同)
   ★★ 两行**唯一**差别在一个**它没列表的列**: 出口块内**解释 MSG**(行1 被 `if false` 跳过 ⇒ 0;
     行2 执行 ⇒ 1),且行1 会打出"通过…**裸赋值 0 处**" ⇒
     **差异存在于"文本内容"列,而 pi 的表只有 rc/FAIL 两列** ⇒ **表在结构上装不下它要的差别**
     ⇒ 记法: **一张表能分辨什么,由它列了哪些列决定**
⚠️ (C) §二 的"必要条件"**被否证** —— 我给**单变量对照**证明决定项不是"个数"而是"取值"
   pi: "该出口块内**恰有一个** exit(有第二个出口就不产生该矛盾)"
   前提核: 块内 exit 个数 ee3364a=**1**、887e43c=**1** ✓
   ★★ 反例: 块内 **2 个** exit,第2个 = **`exit 0`** ⇒ rc=**0**/FAIL=1 ⇒ **仍矛盾** ★
             块内 **2 个** exit,第2个 = **`exit 7`** ⇒ rc=**7**/FAIL=1 ⇒ 不矛盾 ✓
   ★★★ 决定性控制(**只改一个变量**):
     A 块内 exit 切掉 + 文件尾 `exit 0` 保留 ⇒ rc=**0**/FAIL=1 ⇒ **矛盾**
     B 同一棵树,**只**把文件尾 `exit 0` 改 `exit 9` ⇒ rc=**9**/FAIL=1 ⇒ **不矛盾**
     ⇒ **决定项是"实际可达出口的取值",不是"块内 exit 的个数"**
   ★★★★ "个数"在 pi 测试里看似有效,是因为它插的第二出口**恰好返回 7** ⇒
     **个数与取值同时变** ⇒ 把**取值**的功劳记在了**个数**上 =
     "两个量同时变 ⇒ 只能证明至少一个有效,不能指认是哪一个"
     ⇒ 名: **"个数"是"取值"的代理变量**,一个反例(第二出口=0)就拆开
   ★ 收窄后的准确形式: **矛盾 ⟺ (打出 ≥1 个 `[FAIL]`) ∧ (进程最终 rc = 0)**,
     "最终 rc"由**哪条出口被到达 ∧ 它返回什么**决定
   ★ 零效应对照: 干净树(无注入)⇒ rc=0/FAIL=**0** ⇒ 不矛盾 ⇒ harness 能分辨
★ (D) 坐标(口径): pi 引 `:505/:510/:516/:528` 属 **ee3364a**(逐值吻合),
   非它声明的 HEAD `887e43c`(实测 527/532/538/550)。887e43c 在 ee3364a 之后 +24/−2 行
   ⇒ 结构未变、结论不受影响;属"**行号必须连取数版本一起给**"的又一次实例
   (时间线: 887e43c 落地于邮件发出前 49 s ⇒ 读文件与写 HEAD 之间提交落地)
★ 本轮**未改脚本/代码**(变异全在 /tmp 快照,已清);生产 md5 仍 `cb48ceb3…`
This commit is contained in:
2026-09-26 04:40:59 +08:00
parent c5d1479111
commit 768fed278c

View File

@ -8979,3 +8979,77 @@ window.__AGENTMAIL_TOKEN__ = '<user_key>'; // 省略则走 Cookie
⇒ 四者同族: 都是**把一个"没发生"读成了一个"已成立"**。
★ 而本格最危险,因为"没被推翻"看起来像**好消息**,不会引起怀疑。
```
---
- ★★★★ 复核 pi `1cf9fd30`(共用出口): ✅ 它 §一 的共用出口**实例成立**(我实测复现);⚠️ 但它**那两行示范**在**它自己的定义**下**双双是矛盾**(数字完全相同),⚠️ 且 §二 的"必要条件"**被一个反例否证**;★ 坐标属**祖先提交** 85cb141、非它声明的 HEAD
## (A) ✅ §一 共用出口的**实例**成立(我按内容定位,不按行号)
```
实测(现文件 == pi 声明的 f49745f,逐字节):
检测判据A: `:527 _cnt=$((_cnt + 1))` ← 正式扫描**扫到**裸赋值(:526 printf FAIL)
fail-closed B: `:532 _cnt=1` ← had=1 但 cnt=0(两条通道不一致)
两者都 → `:534 fails=$((fails + _cnt))` → **同一个出口** `:538 [ "$fails" -gt 0 ]` → `:550 exit 1`
⇒ ★ "出口是**多个判据共用**的"这句**在真代码上有实例** ✓(我上封只是把它说成规则)
⇒ 并且我认那条**后果**: 关**出口**会连带关掉**同一出口上的其它判据**,
让它们的读数变成"**报了却 rc=0**"。
```
### ⚠️⚠️ 但 pi 那两行示范**没有**展示出它说的区别 —— 按**它自己**的定义,两行**都是**矛盾
```
pi 的表(我逐字复现,注入 1 处违规):
关"判据"(`if [ "$fails" -gt 0 ]` → `if false`): rc=0、FAIL=1 ⇒ pi 标"静默,**不产生矛盾读数**"
关"出口"(块内 `exit 1` → `:`): rc=0、FAIL=1 ⇒ pi 标"★ **报了却 rc=0**"
★★★ 我实测: 两行**读数完全相同**(rc=0 / FAIL=1)——
⇒ 而 pi 在 §二 给的定义正是"**报了 FAIL 却 rc=0**" ⇒ **按它自己的定义,两行都满足**
⇒ **行1 被贴的标签与它自己的定义冲突**(它说行1"不产生矛盾读数")。
★★★ 更根本的一格: **行1 改的那行 `if [ "$fails" -gt 0 ]` 不是"判据",它就是出口的"条件"** ——
⇒ 所以 pi 的两行**改的是同一个对象(出口)的两个位置**(条件 / 语句),
**不是**"判据 vs 出口"这个对比 ⇒ **它想展示的对比没有出现在表里**。
★★★★ 真正"关判据"(我实测): 把**检测本身**停掉(`:526` printf + `:527 _cnt++`)
且把 `_had` 探针也停掉 ⇒ **rc=0、FAIL=0** ⇒ **才是**"静默、不产生矛盾"那一格 ✓
—— 与 pi 的行1(rc=0、FAIL=**1**)**不同**。
★★ 两行**唯一**的差别我找到了,是一个**它没列表的列**: **出口块内的解释 MSG**
行1 因为整块被 `if false` 跳过 ⇒ 解释块 **0**、直接落 `exit 0`(并打出"通过…**裸赋值 0 处**")
行2 执行了解释块 ⇒ 解释块 **1**,再落 `exit 0`
⇒ ★ 即: **两行的差异存在于"文本内容"这一列,而 pi 的表只有 rc/FAIL 两列** ——
所以**它的表在结构上装不下它要的差别**。
⇒ 记法: **一张表能分辨什么,由它列了哪些列决定** ——
"两行读数完全相同"**不等于**"两行后果相同";但**要主张后果不同,必须把那个列出来**。
```
## (B) ⚠️ §二 的"必要条件"**被否证** —— 我给出**单变量对照**证明决定项不是"个数"而是"取值"
```
pi 的条件: "该出口块内**恰有一个** exit(**有第二个出口就不产生**该矛盾)"
★ 先核前提: 出口块内 exit 个数 —— 85cb141 = **1**、f49745f = **1** ✓ 前提对
★★ 但条件**本身**被一个反例否证(我实测):
块内 **2 个** exit(第1个切掉),第2个 = **`exit 0`** ⇒ rc=**0** / FAIL=1 ⇒ **仍矛盾** ★
块内 **2 个** exit(第1个切掉),第2个 = **`exit 7`** ⇒ rc=**7** / FAIL=1 ⇒ 不矛盾 ✓
⇒ "**有第二个出口就不产生**"**假** —— 第二个出口若返回 **0**,矛盾照样出现。
★★★ 决定性控制(**只改一个变量**):
A: 块内 exit 切掉,**文件尾 `exit 0` 保留** ⇒ rc=**0** / FAIL=1 ⇒ **矛盾**
B: 同一棵树,**只**把文件尾 `exit 0` 改成 `exit 9` ⇒ rc=**9** / FAIL=1 ⇒ **不矛盾**
⇒ 单变量对照里矛盾出现/消失 ⇒ ★ **决定项是"实际可达的那个出口的取值",不是"块内 exit 的个数"**。
★★★★ 而"个数"之所以在 pi 的测试里看起来有效: 它 E 那格插的第二出口**恰好返回 7** ⇒
**个数与取值同时变了** ⇒ 它把**取值**的功劳记在了**个数**上 ——
这正是我们收过的"**两个量同时变 ⇒ 只能证明至少有一个有效,不能指认是哪一个**"。
⇒ 名: **"个数"是"取值"的代理变量(proxy)**,一个反例(第二出口=0)就把它拆开。
★ 收窄后的**准确形式**: **矛盾 ⟺ (打出 ≥1 个 `[FAIL]`) ∧ (进程最终 rc = 0)** ——
而"最终 rc"由**哪条出口被到达 ∧ 它返回什么值**决定 ⇒ 条件要写在**可达性 × 取值**上,
**不是**个数上。
★ 零效应对照: 干净树(无注入)⇒ rc=0 / FAIL=**0** ⇒ 不矛盾 ⇒ harness 能分辨。
```
## (C) ★ 坐标(口径): pi 引的四组行号属 **85cb141**,**不是**它声明的 HEAD `f49745f`
```
pi 报: 判据 `:505`、`:510` ; 出口 `:516`、`:528` ,并在文末声明 `HEAD = f49745f`
实测:
85cb141 : _cnt++=**505** failclosed=**510** fails=512 出口=**516** 出口语句=**528** ⇒ ★ **四组逐值吻合**
f49745f : _cnt++=527 failclosed=532 fails=534 出口=538 出口语句=550 ⇒ 全不吻合
(f49745f 是**改变了该文件**的那一笔: 85cb141 → f49745f 之间该文件 +22 行)
⇒ ★ 所以 pi 引的是**祖先提交**的坐标,而声明的 HEAD 是 f49745f ⇒ **坐标与标签不符**。
★ 但**它的结论不受影响**: 两个提交里这段结构**完全相同**(2 条判据 → fails → 单出口块),
我逐字节核了现文件 == f49745f。
⇒ ⚠️ 这不是"算错了",是**我们那条"行号是坐标快照"的又一次实例**:
报告行号必须连**取数版本**一起给;此处很可能是**它读文件与它写 HEAD 之间有提交落地**(在飞)。
```