由 domain:devx 执行席(座位贴 #6023)在复核 #15082 的切片轮时,从施工席的 out_of_scope_findings 接出。⛔ 未分级。⚠️ 本席未独立重跑下面两条残渣读数(见〈本席的证据边界〉)。
缺陷
scripts/pm/dispatch-gates.mjs:8096 在任何一条声明字面量够不着已跟踪文件时返回 null。⇒ 一个门禁只要有一条声明发霉,整族就从带标签的「Artifact rosters」块掉进无标签的 silent 残渣,并因此失去那个块本来要打印的警告。
⭐ 失效方向是假干净:它看起来「不在那份问题名单上了」,而真相是它连警告都不再被打印。
施工席测到的两个实例(origin/main @ 0ec81857a)
pnpm check:pm-skill-ratchet
残渣自述:1 of 35 declared literal(s) reach nothing tracked … references/platform-readings.md
pnpm check:swallow-census-controls
残渣自述:3 of 16 … packages/fixture/src/{register-only,beta,alpha}.ts
⭐ 这一条同时解释了 #15082 上一个看起来像「增长」的数字
#15082 卡面记的是 32,重新推导得 53。⚠️ 但那不是单纯的增长:30 条仍在、23 条新进、而 2 条离开 —— 离开的两条正是上面这两个,它们是「变得更安静」了,⛔ 不是被修好了。
⇒ 若不知道这条机制,一个读到「32 → 53」的人会以为问题在扩散;实际上其中两条是从有警告退化成没警告。
⛔ 本卡不规定修法
至少两种,本席不选:① 让 artifactOnlySilence 在「部分字面量发霉」时仍归入该块并同时报告发霉;② 另立一条发霉专属的输出块。⚠️ 两者都要先判:发霉本身是不是一个该被单独报告的缺陷,还是只是该块的一个边界条件。
本席的证据边界(⛔ 明写)
- 上面两条残渣自述本席 未重跑,是转引施工席的测量(它在同一轮里重跑过 5 次推导并给了稳定性对照)。⇒ 接手者先复现这两条,⛔ 不要继承。
- 本席未读
dispatch-gates.mjs:8096 的实现本身,只读了施工席对它的描述。⇒ 「every(Boolean) 形状」这句是转引,不是本席的读数。
去重
REST /search/issues 对本席回 403,改用全量枚举,与本条同在一个动作内完成:枚举全部 open 非 PR issue 536 条。artifactOnlySilence / every(Boolean) / declaration rot / no-path-population 各 0 命中;swallow-census-controls 1 条 = #15082 自己;pm-skill-ratchet 3 条 —— #15082,加 #18901(os-dev 三类立卡规则的 Seam: 行)与 #18902(pm-dispatch 按 seam 路由),逐条读过标题,均非本卡。同总体阳性对照 dispatch-gates 25 条 ⇒ 读法有反应,零不是空读。
去重词:artifactOnlySilence · declaration rot roster exit · dispatch-gates 8096 · pm-skill-ratchet stale literal · swallow-census-controls fixture literals
读数时刻 2026-09-18T15:37Z
Generated by Claude Code
由⚠️ 本席未独立重跑下面两条残渣读数(见〈本席的证据边界〉)。
domain:devx执行席(座位贴 #6023)在复核 #15082 的切片轮时,从施工席的out_of_scope_findings接出。⛔ 未分级。缺陷
scripts/pm/dispatch-gates.mjs:8096在任何一条声明字面量够不着已跟踪文件时返回null。⇒ 一个门禁只要有一条声明发霉,整族就从带标签的「Artifact rosters」块掉进无标签的 silent 残渣,并因此失去那个块本来要打印的警告。⭐ 失效方向是假干净:它看起来「不在那份问题名单上了」,而真相是它连警告都不再被打印。
施工席测到的两个实例(
origin/main@0ec81857a)⭐ 这一条同时解释了 #15082 上一个看起来像「增长」的数字
#15082 卡面记的是 32,重新推导得 53。⚠️ 但那不是单纯的增长:30 条仍在、23 条新进、而 2 条离开 —— 离开的两条正是上面这两个,它们是「变得更安静」了,⛔ 不是被修好了。
⇒ 若不知道这条机制,一个读到「32 → 53」的人会以为问题在扩散;实际上其中两条是从有警告退化成没警告。
⛔ 本卡不规定修法
至少两种,本席不选:① 让⚠️ 两者都要先判:发霉本身是不是一个该被单独报告的缺陷,还是只是该块的一个边界条件。
artifactOnlySilence在「部分字面量发霉」时仍归入该块并同时报告发霉;② 另立一条发霉专属的输出块。本席的证据边界(⛔ 明写)
dispatch-gates.mjs:8096的实现本身,只读了施工席对它的描述。⇒ 「every(Boolean)形状」这句是转引,不是本席的读数。去重
REST
/search/issues对本席回 403,改用全量枚举,与本条同在一个动作内完成:枚举全部 open 非 PR issue 536 条。artifactOnlySilence/every(Boolean)/declaration rot/no-path-population各 0 命中;swallow-census-controls1 条 = #15082 自己;pm-skill-ratchet3 条 —— #15082,加 #18901(os-dev 三类立卡规则的Seam:行)与 #18902(pm-dispatch 按 seam 路由),逐条读过标题,均非本卡。同总体阳性对照dispatch-gates25 条 ⇒ 读法有反应,零不是空读。去重词:artifactOnlySilence · declaration rot roster exit · dispatch-gates 8096 · pm-skill-ratchet stale literal · swallow-census-controls fixture literals
读数时刻 2026-09-18T15:37Z
Generated by Claude Code