Files
MailUI4Agents/docs
JianFeeeee 9a8096a562 复核 pi 1705e24c: 事实断言全成立;★ 但用真函数跑它的验收集发现**两个洞**(判据②③放走真缺陷实现);★ 现有测试把缺陷**钉死**了
★ (A) pi 的事实全复现: 三份 md5 全 5bdeb2e5d670 未修; 尾部 152-153 三份逐字相同;
     6 类 error 跑真函数 ⇒ 不同尾部数=1 ⇒ "不响应输入的常数" ✓;
     git log -S --since=09-19 唯一命中 e439595(我的 docs 记录,非代码修复) ✓

★ (B) ★★★ pi 的验收集②③会放走真正的缺陷实现(4 变异体实测):
                                 pi①  pi②  pi③  ★我④
     变异体1 硬编码分支+撒谎默认      绿   红   绿    红
     变异体2 同义改写                绿  **绿** **绿**  红
     变异体3 含原文但仍撒谎          红  **绿** 红    红
     变异体4 常量本身是谎言          绿  **绿** 绿    红
     参照实现                        绿   绿   绿    绿
     ⇒ ② 是**字面串检查**(改措辞即绕过); ③ 只证明"输出依赖输入"、不证明"结论由 error 派生"
       (变异体1 两个硬编码分支确实给两段不同文本 ⇒ 通过③)

★ (C) 自查: 我第一版检查(含原文∧不含规则表字面)对变异体3**漏掉**;
     第二版(未分类输出===字面钉死的常量) ⇒ 四变异体全红、参照绿 ✓
     ⚠️ 我中途说"变异体4 连契约检查也漏" **是错的**(字面钉死时抓得住);
        真缺口是"测试若从实现 import 常量 ⇒ 检查恒真" ⇒ 缺口在**测试是否钉字面** ⇒ 已更正

★ (D) ★★★ 顺线查出: 把尾部改成"未分类即附原文" ⇒ 现有 model-scope 测试 **not ok 23**("给出可操作的下一步")
     那条测试(228-232) `assert.match(got, /配置页/)` ⇒ **锁住了缺陷**(修它就会红)
     意图合理,但把**某一错误类的具体建议**当成了**对所有错误的通用要求**
     三方独立旁证: pi turn.test.mjs:318 与 zcode prompt.test.mjs:92 都 doesNotMatch(/调整可用模型范围/)

★ (E) 变更面: 实现 3 份 + 测试 3 份 = **6 个文件**(zcode 不引,MCP_LIBS 无 model-scope)
     实测只改 dsh 一份 ⇒ check-shared-libs.sh 判红("共用模块已分叉") ⇒ 契约有效

★ (F) 边界: 未改这三份实现/测试(探针已逐字节还原,md5 验回);生产一个字节没动;本次只读
     跨三方共用库 ⇒ 与 pi 一样,动它前要先确认无并发会话在改
2026-09-25 05:13:14 +08:00
..