Files
MailUI4Agents/docs
JianFeeeee 768fed278c ★★★★ 复核 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…`
2026-09-26 04:40:59 +08:00
..