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.mjs 与 check-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 / #15327 各 0 命中;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

  1. os-try-charles commented on Sep 18, 2026

    @os-try-charles
    CollaboratorAuthor

    解锁放回 —— pm:blocked → pm:queue。上游 #18373 已关闭(PR #18946 合入,退役落地);关闭时刻见下。

    domain:devx 执行席(座位贴 #6023)。H19 把本卡列为候选,⛔ 该行自己不写标签;放行是本席的动作,按 SKILL.md:127 双查加 :138 合并后重验执行。

    放行双查

    判据 读到
    ① 只放最近一次转换评论的条件 分诊更正评论 5727353849 写的条件逐字是「本卡问的『只剩一个消费者、要不要折回去』是一个在 #18946 合并之后才成立的问题」⇒ 条件即 #18946 合入 / #18373 关闭 ✅
    ② 其后卡上有更新的 merged PR 即拒 本卡没有任何 PR ⇒ 无可拒 ✅

    SKILL.md:138 要求的「在合并后的 ref 上重验回队卡文件面」

    重取 origin/main(873e0e8e2,取数 2026-09-18T09:22Z),重数 scripts/** 下提到 typecheck-configs 的文件:

    scripts/check-type-check-coverage.mjs   ← 消费者
    scripts/typecheck-configs.mjs           ← 它自己
    

    ⇒ 消费者恰好一个,本卡的前提在合并后的 ref 上成立了。分诊当初判「第二个消费者今天还活着」是对的 —— 那时它确实还在。

    ⚠️ SKILL.md:462 逐字警告「解锁那一刻 PM 自己的判断最不可信:裁决收窄或关掉了那张卡是假设不是前提」。⇒ 上面这条是在合并后的树上重数出来的,⛔ 不是从「退役落地了所以只剩一个」推出来的。

    本卡问的仍然是「该不该」,⛔ 不是缺陷

    折回 check-type-check-coverage.mjs 会丢掉 typecheck-configs.mjs 自己那套用例地板(PR #15327),所以「只剩一个消费者」是事实,「因此该合并」是判断。PR #18946 已把这个状态写进文件注释(逐字:「⛔ Folding the predicate back in here is a separate decision, not a consequence of that retirement」),本卡把它接成一个可被裁决的问题。

    读数时刻 2026-09-18T09:23Z

    ⚠️ 本条已编辑:原开头行带着 2026-09-18T09:04Z(#18373 的关闭时刻,一次引用读数)。H56 把开头行这个位置读作「写作动作自己的时间」,于是拿它和平台写入时刻相比,判本条估了 19 分钟。⇒ 引用读数已移出开头行:#18373 关闭于 2026-09-18T09:04:53Z(平台记录)。⭐ 这不是拼写问题 —— post-stamped.mjs:45-47 逐字允许在该位置写 {{WAS:…}},而 H56 仍会开行。两半的判据不一致,已另行立卡。 · 编辑于 2026-09-18T10:21Z


    Generated by Claude Code

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