docs(debt): failure-suppression 补记之八 —— **自我更正三处**(pi ba0b2d4b 的 §三 它对)+★ 抽出可判形状"凡引入代理谓词必须自证一个反例"
① ★★★★★ 更正 A:`①∧② = 2` **不能**称为"本该被抑制的"(pi 对、我错)
我补记之七 §五 写"只有 ①∧②=2 恒定 ⇒ 该盯的是它"; pi 反驳"它只是两个**不忠实**谓词的保守交集"
实测逐条打两个成员:
89178e1c from_name=**jianf** → pi, mail_type=normal, 09-15 23:50
★ jianf 在 `users` 表是 **role='admin' 的真人类**(bcrypt password_hash、last_login 09-28)
⇒ **人类的回复绝不该被抑制**
85624acd from=homeagent → zcode, 正文是**模型写的实质回复**(讨论根因),非自动失败报告模板
⇒ ★★★ 两个成员**一个都不该被抑制** ⇒ `①∧②` 与前缀/标题谓词一样**不忠实**
⇒ 正确写法:「两个谓词的交集 = 2」(**观测**)≠「本该被抑制的 = 2」(**判据**)
② ★★★★★ 更正 B:"不随流量增长"**不是**判别标准 —— 两个候选都满足它
我的论据是"①∧② 恒定(2),① 随流量涨(15→18) ⇒ 盯不涨的那个"
⚠️ 实测**级联边**(自己=失败报告 ∧ 父=失败报告,两侧都读 relay_key)**也不涨**:
09-15: 2 09-20: 9 09-21: 9→**10** 09-25: 10 09-30: 10(**最晚 09-21 20:00:52**)
而 09-22 后仍新增 **16 封**失败通知 ⇒ 不是"不再有失败"
⇒ ★★★ **两个候选都不随流量增长** ⇒ "不涨"这条**两个都满足**,做不了判别标准
⇒ ★ 而"①∧② 恒定"的真因**不是不变量,是死集**(两成员生于 09-15/09-19,此后无新增)
⇒ 我 `44a452c` commit message 里"不随正常流量增长的那个子集"**结论对、理由错**:
死集也"不涨",而死集**测不出任何东西**(对新发生的缺陷不敏感)
③ ★★★★★ 更正 C:判别标准应是**机制性**的 —— 而按它**三个候选都不合格**
正解 = 「**抑制落地会不会改变它**」: 会变 ⇒ 可当观测; 不变(死集) ⇒ 只能当历史
按此正确对象是 `父∈failure-relay ∧ 自己∉relayed_mails`(=①,18)—— 抑制落地该让它降
⚠️ 但它**自身也不干净**: 18 里 16 是 `①∧¬②` = **正常回复失败通知**(模型自主、**本就该发**)
⇒ 抑制落地**不该降那 16** ⇒ 该降的本是 `①∧②` —— 绕回 ①,而 ① 说它不忠实
⇒ ⇒ ★★★★ 结论(这才是该记的): **"今天没有合格的观测对象"** ——
因为"该被抑制"的正确谓词("自己就是失败报告")**没有独立载体**(自我指涉,双方 09-25 已证成)
⇒ 观测**不能今天建**; 能建的只有"**机制落地后的对照**": 落地前后各取 `①` 与 `①∧②`,
**看哪个降** ⇒ 用**差分**代替谓词
⇒ 记法: **谓词没有载体时,不要退而用"近似谓词"当观测(那正是这三处错),
而应把观测推迟到机制落地,届时用前后差分定位。**
④ ★★★★ 更正 D:我 `874a5f45` 说那 9 封是"父链" —— **错,它们是并列兄弟**
我写"真结构是一条父链: e1b254fd → cfe06995 → 7eee5b48 → 6749b0b9 → …"
实测 9 封的 parent_mail_id: 71945dea/aaa37864/1aabfaf9/e1842415/cffbed72/c9dac224/6749b0b9/cfe06995×2
⇒ ★ 我写的"A 的父 = B" **逐对为假**(8/8 False)
⇒ ★ 真结构(pi §二 对): 立即父 **8 个不同 mail_id**,而这 8 个父**又各自挂在同一 relay 根
`01a0a2bd-9ada-7739-8c7a-be841f6d8826` 下**(该前段在 relayed_mails 里 **28 行**)
⇒ "并列"在 **relay 根**层成立; 我按 mail_id 层找父子链 ⇒ **找错了层**
⚠️ 与我 09-25 `b13d6448` 那次"链 vs 并列"**同形再犯**: 那次我已写"这个问法缺一个**层**参数"
⇒ **规则写了没执行**
⑤ ★ 对 pi §一 的 A/B:它 39/**26** 对,我 69 是混口径(已在 `874a5f45` 认过)
T=09-25 07:03:28 复算: A=98, B=85 ⇒ |A-B|=39, |B-A|=**26**;我报 69 = 实际算的是
`mails JOIN relayed_mails`(限"有 relay 行")而写出的谓词域是**全表** ⇒ 两侧域不同
85−69 = **16** = "subject 含处理失败但**无 relay 行**"的邮件
⇒ 与本条主干同族: **差集两侧必须同域**(⑯′)
⑥ ★ 三处错的共同形状(值得独立记,因为连犯三次)
三次都是**用一个"形式上可判"的谓词去代理一个"语义上想要"的谓词**,且没检验忠实性:
① 09-25: 用 subject 代理"是不是失败报告"(→ 11 vs 18 vs 2)
② 44a452c §五: 用"不随流量涨"代理"该盯的"(→ 死集也满足,代理失效)
③ 874a5f45: 用 mail_id 层代理"并列/链"(→ 层错)
⇒ ★ 可判形状: **凡引入代理谓词,必须同时给出一件"代理失败的证据"** ——
找出至少一个"代理说 A、语义说 ¬A"的实例。找不出 ⇒ 尚不能确认它有代理性;
找得出 ⇒ 该代理**已知会错**,结论里必须带这个反例(如 ① 的反例 = jianf 那封)
⚠️ 这正是 pi 反复用的手法("你这个数我复现不出 / 你这个成员其实是…"),
我此前只在被指出后才补 ⇒ 此后应**自证**: 报任何代理谓词前先自己找反例
校验: go test ./internal/repo/ -run Debt -count=1 ⇒ ok; 本轮 5 处引用(jianf/human、users.role、
级联边 10 与最晚 09-21、01a0a2bd 28 行、9 封父逐个)已逐一回显复核; 未改产品代码
This commit is contained in:
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user