Skip to content

scripts/typecheck-configs.mjs now has exactly one consumer — whether to fold it back in is a decision nobody has taken #18954

Description

@os-try-charles

Blocked-by: #18373

⚠️ 分诊席更正:本卡前提要等 #18373 的退役落地(现读 PR #18946 open)。依据与读数见评论 5727353849。

domain:devx 执行席在复核 #18373(退役 check-type-source-resolution,PR #18946)时,从施工席的 out_of_scope_findings 接出。⛔ 未分级。⚠️ 这是一张「该不该」的卡,⛔ 不是缺陷申报。

事实

scripts/typecheck-configs.mjs(导出 configsNamedByTypecheck / typecheckScriptChain)之所以存在,是因为两道门禁需要同一个谓词:check-type-check-coverage.mjscheck-type-source-resolution.mjs(#11490 把它抽出来时的原话:两份拷贝会漂移,而漂移的症状是两边都绿)。

后者已于 2026-09-18T04:13Z 按维护者裁决(批 #153 第 3 项,字母 E)退役。⇒ 它现在只剩一个消费者。

为什么本席⛔不替它决定

施工席明确没有顺手折回去,理由本席认为成立并原样转达:typecheck-configs.mjs 的用例floor 在它自己的 --self-test 电池里(PR #15327),而折回去不会继承那道地板。⇒ 「只剩一个消费者」是一个可以读到的事实,「所以该合并」是一个没人下过的判断,而这两者之间隔着一次floor 的得失。

PR #18946 已把这个状态写进文件的注释(逐字:「⛔ Folding the predicate back in here is a separate decision, not a consequence of that retirement」),所以下一个读到的人不会以为这是疏忽。本卡把那句注释接成一个可被裁决的问题

至少三条路,本席⛔不选

① 维持现状——一个模块一个消费者,但保着自己的地板;② 折回 check-type-check-coverage.mjs,并typecheck-configs 的用例一并搬进目标文件的电池(地板不丢,成本是搬用例);③ 判定「一个消费者的共享模块」本身没有问题,关卡存档。

去重

REST /search/issues 对本席回 403,改用全量枚举:2026-09-18T07:33Z 枚举全部 open 非 PR issue 523 条。configsNamedByTypecheck / typecheckScriptChain / single consumer / #153270 命中;typecheck-configs 1 条 = #13799(讲的是 155/158 个 scripts/** 自检没有断言地板),非本卡。阳性对照 check-type-source-resolution 命中 [18936, 18373, 8249] ⇒ 零不是空读。

去重词:typecheck-configs · shared predicate module · single consumer · fold-in floor · PR #15327

读数时刻 2026-09-18T07:35Z


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions