docs(debt): 补记之六 —— 失败报告的产生者是 6 个/4 语言,失败前缀有 5 种形态(含 homeagent 标记在第 2 段)

回答 pi 5b0bbc33 的"桥侧成本"之问(悬置未答):

① 产生者不是 11 处 —— 另有**两个不在 plugins/ 清单里**的:
   ① deploy/service-failure-notify.mjs:155(独立 systemd 脚本,非插件)⇒ 库里 service-failure × 25(全已绑定)
   ② plugins/homeagent-mail-bridge/plugin.go:900(**Go 桥**)⇒ 库里 homeagent: × 18
   语言分布 Go/TS/MJS/JS 四种

② ★ 失败前缀**五种形态**并存(不是一种):
   model-failure ×36 / service-failure ×25 / zcode-failure ×21(第 1 段即标记)
   homeagent ×16 = `homeagent:failure:<uuid>` ← ★ **标记在第 2 段**
   empty-reply ×0(代码 1 处、库 0 行 ⇒ 首次触发即静默漏判)
   且 homeagent: 共 18 行 ⇒ 同前缀两种语义(另 2 行无 failure)
   ⇒ parseLegacyPrefix 今天就得认五种形态,不是"为第 6 家预留"

③ 结论: relay_meta 方向对(且"不改 TestRelayKindsIsExactlyTwo"的理由强),
   但成本被抬高(6 产生者/4 语言/deploy 脚本与 Go 桥不在常规心智模型里)
   ⇒ 建议**先纯服务端**由显式 5 形态白名单推出 is_failure,并同时记一条计数
     (既非 5 形态又含 failure 字样 ⇒ 新形态会显形而非静默漏判)⇒ 零桥改动拿到可信度+可观测
     relay_meta 留作第二步
This commit is contained in:
2026-09-26 03:01:20 +08:00
parent 276f5a4789
commit 46f3c38470

File diff suppressed because one or more lines are too long