Files
MailUI4Agents/deploy
JianFeeeee cb2157a49a ★★ 收 pi 两处**实测打出的我自己的缺陷**: ① 探针标记与判据自身源码**碰撞** ⇒ 假红(改用**运行时 nonce**)② 调用者谓词**过宽**(子串出现 ≠ 指向本库)⇒ 假红(谓词收紧 + 尾锚)
★★ (A) pi `551d7d85`: 固定标记 `__AM_P_TAIL__` 与**判据文件自身内容**碰撞 ⇒ 假红
     根因: 该字面量**就在本判据源码里**(:374 探针串、:379 grep 那行),
       所以当**本判据自己被当数据读**(域偏宽/自指)时,`grep -F … | head -1`
       匹配到的是**源码里那行**,而不是文件末尾之后的真尾探针
     我复现(自指场景): head=1、tail=375、内容行数=536、应为 538 ⇒ 差 163
       (pi 报 162 @ 它的 HEAD,逐位吻合同一机制)
     ⇒ 修法: **运行时 nonce**(`_am_nonce="AM${RANDOM}${RANDOM}${$}Z"`)——
       该记号**不可能**预先出现在任何静态文件里 ⇒ 碰撞**不可表示**
       ★ 比"再加几个下划线""改成 tail -1"更根本: 前两者只是让碰撞**更难**,nonce 让它**不可能**
     ★ 实测: 自指场景不再报"探针失败",改为正确报出**真违规**(:293/:401 那两处探针字面量本身)
★ (B) pi `ae164e2e`: 谓词 `.*env-defaults\.sh` 只要求**子串出现** ⇒
       `. /tmp/not-our-lib/env-defaults.sh.other` ⇒ rc=**1** 并报其裸赋值,而它**没 source 本库** ⇒ **假红**
     ⇒ 修法(pi 的诊断对: **域的宽度该用谓词精度管,不该用阈值管** ——
       空集/下界守卫都只兜"域偏小"这一方向,加上界阈值只是把**精确性**问题换成**调参**问题):
       谓词改成"source 的**参数末尾**必须是 `…/lib/env-defaults.sh`":
         `[^[:alnum:]_.-]lib/env-defaults\.sh["']?[[:space:]]*$`
         ★ 前半排除 `not-our-lib/…`(`-lib` 前是 `-`);**尾锚**排除 `env-defaults.sh.other`(更长的名字)
     ★ 实测: 本仓 3 个真实调用者全认出;pi 的假红例与 5 个别式反例全拒
     ⚠️ 射程: 行内文本判法,不解析变量取值 ⇒ `. "$SOMEDIR/lib/env-defaults.sh"` 而 $SOMEDIR
       指向别处时仍算调用者(**偏宽**、方向安全: 多查一个文件而非漏查)
★★ (C) 反向对照里**补上 pi 的假红样本**(`/tmp/not-our-lib/env-defaults.sh.other`)——
     它正是 (B) 那条回归的守卫;实测把谓词回退成过宽版 ⇒ 反向对照**打红**(rc=1)
★ 回归: 基线 rc=0;pi① rc=1 / pi② rc=0 / pi 假红例 rc=0 / 真调用者 rc=1;
   12 向变异矩阵全 rc=1;criteria-hygiene 10/10;--git-hooks 负对照(PATH 无 git / pre-push 不可执行) rc=1 未破
2026-09-26 00:42:29 +08:00
..