Skip to content

[finding] retiring check-type-source-resolution leaves the TEST_DEBT ledger's route (b) with no instrument measuring its precondition #18953

Description

@os-try-charles

domain:devx 执行席在复核 #18373(退役 check-type-source-resolution,PR #18946)时,从施工席的 out_of_scope_findings 接出。⛔ 未分级,分级是分诊席的。

缺陷

scripts/check-type-check-coverage.mjsTEST_DEBT 毕业补救给作者两条路:

  • (a) 加一个 tsconfig.test.json 并写进 typecheck 脚本 —— 始终可用,不动 tsconfig.json;
  • (b)tsconfig.jsonexclude 里删掉 **/*.test.ts(或把 include 放宽到测试树)。

(b) 是否可用,过去由 check:type-source-resolution 来量。退役前的原文逐字:「Available ONLY while pnpm check:type-source-resolution still passes with the tests re-admitted … Run it before you commit; nothing in this gate's own verdict will tell you.

⇒ 那道门禁在 2026-09-18T04:13Z 的维护者裁决(批 #153 第 3 项,字母 E)下退役。(b) 的前置条件从此没有任何仪器在量。

为什么这不是「少了一句话」

⭐ 那句话不是提示,它是唯一的把关。被删掉的门禁在有 exclusion 可删的 18 条里,对 14 条读红。换句话说:(b) 这条路在四分之三的情形下是坏的,而唯一会当场说「坏」的东西没了。

⇒ 现在一个作者可以走 (b),把构建配置放宽进一个门禁过去会拒绝的状态,而全程无人反对。

PR #18946 已经把测量结果留在文案里并明写「⛔ 其沉默不是放行」,把作者引向 (a)。⚠️ 但那是散文,不是门禁。 这张卡问的就是散文够不够。

本卡⛔不预设答案

至少三种收法,本席⛔不选:① 让 check-type-check-coverage 自己在毕业那一刻量这个前置条件;② 干脆把 (b) 从补救里撤掉,只留 (a);③ 判定散文足够,把这张卡关掉当作记录。

相邻但不同的卡

#18936([survey],p3)问的是另一件事 —— 「打印可粘贴补救的门禁,该不该从实测状态推导那段补救」,并且正是拿这同一道已退役的门禁当唯一实测样本。本卡问的不是补救对不对,而是退役之后还有没有东西在量

去重

REST /search/issues 对本席回 403(会话绑定仓库),改用全量枚举:2026-09-18T07:33Z 枚举全部 open 非 PR issue 523 条。route (b) / graduation remedy / exclusion to drop0 命中;TEST_DEBT 3 条(#12799 债务盈余计量、#8113 PINS_CHECKED 只认 @ts-expect-error#6024 是一张席位贴)—— 逐条读过标题,均非本卡。阳性对照 check-type-source-resolution 命中 [18936, 18373, 8249],对照取自同一总体并命中,所以这些零不是空读。

去重词:TEST_DEBT route (b) · graduation remedy · exclusion drop unguarded · check-type-check-coverage precondition · dist-resolved type imports unguarded

立卡读数时刻 2026-09-18T07:34Z · 四棱块补齐于 2026-09-18T08:22Z

os-decision-facets

⚠️立卡席(domain:devx 执行席,座位贴 #6023)在分诊把本卡定为 needs-user-decision 后补齐。⛔ 纯增量:上文一字未删、未改、未重排。本席陈述四棱,⛔ 不替维护者评分。

  • ① 项目长远合理性 —— TEST_DEBT 毕业的 (b) 路(从 tsconfig.jsonexclude 删掉 **/*.test.ts)其可用性,过去由一道门禁当场量。那道门禁按裁决退役了,判据没有跟着搬家,也没有跟着作废 —— 它只是没人量了。留着一条「大多数时候是坏的、但没有东西会说坏」的官方补救路径,是长期要还的。
  • ② 实际业务拉动 —— 对平台用户 0。这是开发环内的事:一个作者按 (b) 走,把构建配置放宽进一个门禁过去会拒绝的状态,症状是别的地方读到陈旧类型而报绿⚠️ 本席⛔ 没有测量今天有多少人在走 (b)。
  • ③ 防 AI 犯错 —— 本卡的要害就在这里。那段补救是给作者(含 agent)照着做的文案,而唯一会当场否决它的东西已经没了。退役前的实测:有 exclusion 可删的 18 条里 14 条读红 ⇒ 照 (b) 做,先验概率上更可能是错的。PR chore(gates): retire check-type-source-resolution (maintainer ruling E on #18373) #18946 把这条测量留在了文案里并写明「⛔ its silence is not a clearance」,⚠️ 但那是散文,不是门禁 —— 散文挡不住一个不读散文的执行者。
  • ④ 创业阶段不扩散 —— 三条路的成本差很大:把前置条件的测量搬进 check-type-check-coverage 自己(要写代码,且⛔ 与裁决 E「不再往这道投资」的取向相邻);把 (b) 整条撤掉只留 (a)(最省,但收窄了一条官方路径);判定散文足够并关卡(零成本,代价是把风险记在账上)。⚠️ 裁决 E 的理由里写过「value now: not now」,本卡⛔ 不重开那个判断,只问它没有被呈报过的这一半。

Prior rulings read: retiring,check-type-source-resolution,leaves,test_debt,ledger,route,instrument,measuring,precondition → 30 hits; ADR-0131 D7, ADR-0029 D9.6, ADR-0056 D10, ADR-0056 D9, ADR-0057 D8, ADR-0058 D7, ADR-0060 D1 —— ⚠️ 七条都读过,七条都不裁本问:它们各自是组织所有权、内核对象分解、权限一致性矩阵、业务单元范围深度、表达式面、一致性账本平台模式,命中的是 ledger / route / conformance 这类通用词。最近的治理文本是本卡的父裁决本身(批 #153 第 3 项 · 字母 E),而它⛔ 没有裁过 (b) 路 —— 呈报时这一半没有被提出来。

选项 × 成本

做什么 成本 风险
A check-type-check-coverage 在毕业那一刻自己量这个前置条件 写代码;与裁决 E「不再往这道投资」取向相邻 把一道刚退役的测量以更小的形式请回来
B 从补救里撤掉 (b),只留 (a) 最小,纯文案 收窄一条官方路径;(a) 是否真的「始终可用」本席⛔ 未测
C 判定散文足够,关卡存档 风险留在账上,且只对读散文的执行者有效

分诊定级评论(5727132332,2026-09-18T08:07Z)读过,它把建议往 B 推了一步:该评论写下的升级条件是「测到某处文案/门禁输出仍在推荐 (b),同样升 p1 —— 来源会持续生产受害者」。⇒ 只要 (b) 还留在补救文案里,这张卡就站在升级条件的门口;B 恰好就是把那个来源移走⚠️ 分诊同时明确:今天⛔不是零防护(PR #18946 的文案还在),要价的是「散文 vs 仪器」。

建议 B,退路 C。 理由:(b) 在实测里 18 之 14 为红,一条大多数情形下是坏的补救,本身就不该是官方补救;而 B 不需要任何新仪器,与裁决 E 的取向一致。

⚠️ 本席的置信缺口,明写:① 本席⛔ 没有测过 (a) 是否真的对全部 18 条都可用 —— 若不可用,B 会把作者推进死胡同,那时 A 才是对的;② 本席⛔ 没有测过今天实际有多少条目还想走 (b)。这两项都该在裁决前补测,⛔ 不该由本席的建议代替。


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