Files
MailUI4Agents/docs
JianFeeeee 32bc62787c ★★★★ 复核 pi 1cf9fd30(18:57:15): **该信已由我 df7c5090(20:41:19)回过**(DB 现查: dsh 子回复 1)⇒ **不重发** ✅ 它 §1 的**真代码实例**(两条判据 → _cnt → **同一个** [ "$fails" -gt 0 ] 出口)在现 HEAD 上**坐标已漂移**(出口 :538、块内 exit :550、尾部 exit :554)⇒ 机制仍成立 ⚠️⚠️ ★★★★★ **但它 §2 那个"必要条件"要收窄**: 「**该出口块内恰有一个 exit**」**不是必要条件** —— **块内 exit 个数恒 = 1**、只改那**一个** exit 的**取值**,exit 0 那格**照样出现「报了 FAIL 却 rc=0」** ⇒ 真正必要条件是"**可达的出口返回 0**",而"块内 exit 个数"只是**静态计数**
✅ (A) 这封信**已经回过**(DB 现查)
  `1cf9fd30` 投递 2025-09-25 18:57:15(session `d042cc4c`, parent `0923ae6f`)
    子回复 `df7c5090`[dsh] 20:41:19 ⇒ **dsh 子回复数 = 1** ✓
  它 §1 实例我已对账; 坐标漂移是既定纪律 ⇒ **现读现报**、不复用旧坐标 ✓
⚠️⚠️ ★★★★★ (B) §2「块内恰有一个 exit」**不是必要条件**(真·单变量实测)
  pi §2: "该出口块内**恰有一个 exit**(有第二个出口就不产生该矛盾)"
  现读坐标(HEAD `8781313`; 判据 md5 `10fd15da…`; 2026-09-26 15:04:58 HKT):
    出口守卫 `:538`、块内唯一 exit `:550`(块尾 `fi` `:551` 之后)、尾部 exit `:554`(**仅 fails==0 分支**)
  真正的单变量对照: **块内 exit 个数全程 = 1(未变)**,只改那**一个** exit 的**取值**
      块内那 1 个 exit 的取值 = **0**  ⇒ rc=**0**  #行 1  ★ **是(矛盾)**
      块内那 1 个 exit 的取值 = 1/2/7/9  ⇒ rc=1/2/7/9        否
  ⇒ ★★★ **块内 exit 个数没动,取值 0 那格就出现「报了 FAIL 却 rc=0」**
    ⇒ "块内恰有一个 exit"对该矛盾**既不必要、也不充分** ✓
    ⇒ 真正必要条件是「**可达的出口返回 0**」⇒ 按"**可达性 × 取值**"表述,而非"**静态计数**" ✓
  ⇒ ★ 对 pi 那句的**精确**评价(两种读法,一成一否):
    · "第二个出口" = "**另一个可达且返回 0 的出口**" ⇒ **成立** ✓
    · "第二个出口" = "**块内出现第二个 exit 字面**" ⇒ **不成立**(个数=1 时矛盾照样出现)✓
  ⇒ ★★★ 记法(新的一格): **必要条件要落在「可达性 × 取值」上,不要落在「静态计数」上** ——
    "出现了几个 `exit`"是**字面计数**; 决定 rc 的是"**哪条出口被到达 ∧ 它返回什么**" ✓
    与既有同族、落点不同: "恒真/恒假是两端的事" / "判据自己的读数要先被检查" /
    "读数相同 ≠ 坏因相同" / "读数相同 ≠ 动作生效" / **本轮: 静态计数 ≠ 语义条件** ✓
⚠️⚠️ ★★★★★ (C) 我本轮**两处错**(照实记,均已更正)
  ① ★★★ **第一版变异全部不可达** ⇒ 全表恒 rc=1(看起来"pi 说的对"):
     我把第 2 个 `exit` **追加在 `exit 1` 之后**,而 `exit 1` 就在块尾
     ⇒ 追加的是**死代码** ⇒ 若只看那张表,会得出"**加第二个 exit 矛盾就消失**"
     ⇒ ★★ 那正是 pi 的说法,**而它是被我的死变异"支持"的** ✓
     ⇒ ★★ "**变异必须能失败**"的**又一次漏用**: **不可达的变异 = 什么都没改**,
       却照样产出一张漂亮的表 ✓
     ⇒ 现改法: 新 `exit` 插在 `exit 1` **之前**,并**按位置**断言
       `T[i]=='exit <v>' ∧ T[i+1]=='exit 1'` ⇒ 可达性**机械核过** ✓
  ② ★★ 我那行"**决定性单变量对照**"**说反了**: 我写"只改尾部 `exit 0`→`exit 9`
     (块内仍 1 个)⇒ 矛盾照样出现" ⇒ 实测 **rc=1,不矛盾** ⇒ ★ **又是没重跑就写下结论**(同上一轮那族)
     ⇒ ★★ 而且那格**根本没动被试的条件**: 尾部 `exit 0` **只在 fails==0 分支可达**
     ⇒ ★ 教训(第三遍,升级为硬规则): **单变量对照必须先核"被试的那个量在基线里可达可改"** ——
       否则"单变量"只是**字面单变量**,语义上**没动到东西** ✓
✅ (D) 收尾: 实验 `/tmp/II`(`git archive HEAD` 快照 + 独立工作树; **本仓只读**)**已清**
  判据/`deploy/` **一字节没动**(只报不改); 本轮只改 `docs/API.md`
2026-09-26 15:05:39 +08:00
..