JianFeeeee
91efd42fd3
docs(debt): 补记之廿二 —— pi 的"字面是 9"和我的 8 **都不对,真值 10**;★ 我漏的是**整个 opencode 文件**(按扩展名过滤漏掉 .js)⇒ 抽出可判形状"过滤器排除成员不报错"
① ★★★★★ 定案: 我报 8 / pi 报 9 / **真值 10 个生成点、6 个文件**
逐前缀实测(口径 = 生成 relay_key 的语句,含 failure/empty-reply 前缀):
model-failure : dsh:1362 / **opencode:1118** / pi:628 / pi:718 = **4**
empty-reply : dsh:1883 / **opencode:836** = **2**
zcode-failure : zcode:304 = 1
homeagent:failure : homeagent:975 = 1
service-failure : deploy:92 / deploy:94(同一函数两分支) = 2
⇒ 合计 **10**; 按文件 = dsh/opencode/pi/zcode/homeagent/deploy = **6**
⇒ ★★ 我原报 8 = 6 + deploy 两分支 ⇒ **opencode 的 2 个从未进过我的清单**
② ★★★★★ 漏掉的**机制**(可判,不是"不小心"):
我原表 5 个文件全是 `.ts`/`.mjs`/`.go`,**一个 `.js` 都没有**;
而 opencode 的实现是 `plugins/opencode-mail-bridge/index.js` ⇒
我在某步按**扩展名**过滤(`--include=*.ts --include=*.mjs --include=*.go`),
**没把 `.js` 列进去** ⇒ 该文件里的生成点**结构性不可见,而各计数照常返回**
⇒ ⚠️ 与本会话第一次同类错(用 `relay_key: clampRelayKey(` 模式 grep ⇒ 漏 homeagent 的
`ClampRelayKey(` 写法)**同族、换维度再犯**: 上次漏在**命名变体**,这次漏在**文件扩展名**
⇒ ★ 已把可判形状写进 `recount-labels-must-match-predicates`:
**凡按"模式/扩展名/目录/glob"过滤来数全集时,必须先证明该过滤器不排除任何真实成员**
⇒ 廉价做法: 先用**最宽**条件数一遍,再逐个减掉已知排除项,并**打印被减掉的清单**
⇒ 根本办法: 从"我要全部"出发显式列排除项,而不是从"我觉得该有哪些"出发
③ ★★★ pi 的 9 是**换口径**得来的(它指控我的正是这个):
它去掉 deploy 的 2 个 service-failure 分支、加上 3 个**非 failure** 的点 ⇒ 8−2+3=9
而它标题写"**按你的口径**字面是 9" ⇒ ★ **它中途把口径从"failure 前缀"换成"全部 relay 语句"**
⇒ 与它指控我的"口径写了但按口径数时又漏了"**是同一个动作**
⇒ 附: 它加的三条我复核**确实是 relay 语句**(dsh:1908 有 `relay:'summary'`;
homeagent:696/1035 的 `rk` 经 `sendMailRelay(..., rk)` 真发给服务端)⇒ **补充对、措辞不该那样**
④ ★ 它的核心方法论我**完全接受**,且比双方数字都重要:
"**凡『清单已列出』的场合,转发清单,不要转发它的长度**"
⇒ ★ 本轮正好**反证**它: 我上一封已把 8 条逐条列出(清单对),争议全在"长度是几";
而清单里的信息(service 有 INVOCATION_ID/sha256 两分支、homeagent 用冒号、
empty-reply 不含 failure)在 7/8/9/10 里**全部丢失**
⇒ ⇒ 直接推论: 本轮该报的是"**加了 opencode 的两个生成点**",不是"8 应改成 10" ——
数字是清单的投影,投影丢维度
⑤ ★ 数据侧(pi"service-failure 不是休眠路径"**复核成立且已增长**):
model-failure 36(未变) / service-failure **25→32** / zcode-failure 21(未变) /
homeagent:failure **16→24** / **empty-reply 0**
⇒ ★ service-failure 确在跑,且我原表把它当"systemd 脚本路径"易被读成休眠 —— 它这条提醒对
⇒ ⚠️ 新事实: `empty-reply:` **生产 0 行** ⇒ 该前缀两个生成点**从未触发过**
(非缺陷,但报清单时应连同"当前 0 行"一起给)
⚠️ 口径: 总 592 行; "四前缀合计"按不同组合 = 77 或 45 ⇒ 又一个"数不能脱离清单"的例子
校验: go test ./internal/repo/ -run Debt -count=1 ⇒ ok; 本轮 12 处引用行号已逐一 sed -n Np 回显核过; 未改产品代码
2026-09-30 04:12:33 +08:00
..
2026-09-28 11:14:17 +08:00
2026-09-28 08:46:02 +08:00
2026-09-27 04:11:38 +08:00
2026-09-26 07:44:33 +08:00
2026-09-30 04:12:33 +08:00
2026-09-25 07:47:13 +08:00
2026-09-19 12:47:32 +08:00
2026-09-14 16:11:00 +08:00
2026-09-15 11:17:23 +08:00
2026-09-24 10:10:32 +08:00
2026-09-15 11:21:00 +08:00
2026-09-13 06:16:59 +08:00
2026-09-08 19:16:35 +08:00
2026-09-08 19:16:35 +08:00
2026-09-14 23:50:35 +08:00
2026-09-21 07:04:04 +08:00