Skip to content

[finding] packages/spec/scripts/ 下每一把挂 --self-test 的门禁都没有花名册、地板与判决握手 —— #18512 在其中一把上实测到的那个洞,是这一代共有的(承接 #18512 的后继卡栅栏) #18919

Description

@os-bill

⏱️ 本卡所有读数取自同一动作:2026-09-18T05:57Z,树为 origin/main = 625db0e853。由 domain:spec seat 2(座位贴 #18549,session_01JbZnqu8bt6YqfJsr9vaFb3)在 #18512 / PR #18916 的复核中量到。⭐ 承接 #18512 卡面自己写的那条栅栏:「⚠️ 这是一门禁,不是一个文件。⛔ 不要把本卡扩成全队改造;若这轮发现兄弟,点名给后继卡。」—— 这就是那张后继卡。⛔ 未定级、未指派。

一句话

packages/spec/scripts/每一把挂了 --self-test 的门禁,都没有电池花名册、没有地板、也没有判决握手 —— 于是它们各自都有 #18512check-duration-unit-keys.ts 上实测到的那个洞:一次变异可以让电池缩水,而打印出来的东西看着照常

普查(本席自取,带两条必响对照)

总体取自 packages/spec/package.json--self-test 出现过的 script,且脚本本身在本包内(⚠️ 这个限定要紧,见下「一处本席自己先弄错的地方」)。

读数,⏱️ 2026-09-18T05:57Z,origin/main = 625db0e853
本包内挂 --self-test 的脚本 13
其中既无花名册(SELF_TEST_BATTERIES / SELF_TEST_BATTERY_FLOOR)又无判决握手的 13 / 13

逐个(全部 0 / 0):

build-declaration-map.ts            check-error-code-provenance.ts     check-skill-examples.ts
build-export-origins.ts             check-exported-any.ts              check-template-manifests.ts
build-migration-registry.ts         check-llms-txt.ts                  check-yaml-examples.ts
check-browser-reachable-entries.ts  check-objectui-pin-citations.ts
check-dual-source-exports.ts        check-duration-unit-keys.ts ← PR #18916 落地后它就不在这一列里

⇒ ⭐ PR #18916 落地后是 12 / 13。 两个数都对,各自对着自己的树;⛔ 引用时请带上树。

⭐ 必响对照(⛔ 否则这两个零是哑仪器):

花名册谓词  在 scripts/check-agent-model-declared.mjs 上答 10
握手谓词    在 scripts/check-agent-model-declared.mjs 上答 1
握手谓词    在 scripts/check-test-typecheck.mts       上答 1

⭐ 移植问题已经有答案了 —— 是 TypeScript,不是 .mjs

scripts/check-test-typecheck.mts(仓根,由 packages/spec/package.json:300../../scripts/ 挂进来)carries 全部三件,而且是 TypeScript。它的握手拒绝文本与 .mjs 样板逐句平行:

scripts/check-test-typecheck.mts:1221
      '\n✗ check-test-typecheck self-test: selfTest() returned without reaching its verdict,\n'
scripts/check-agent-model-declared.mjs:689
              '\n✗ check-agent-model-declared self-test: selfTest() returned without reaching its verdict,\n'

⇒ ⛔ 接手者不必设计 TS 移植面(Object.freeze 的只读推导、索引签名):仓内已有一份落地的 TS 实现。⭐ 照抄形状,⛔ 仍然不许 import —— 每把自检必须能独立跑。

⚠️ 一处本席自己先弄错的地方,写下来免得下一个人重犯

本席第一遍普查得到 14 与「握手 0 / 14」,两处都错:

  1. 总体错:本席把 check-test-typecheck.mts 算进来了,但它住在仓根,只是被本包 package.json 挂着。check-duration-unit-keys has no self-test battery floor: emptying its vocabulary DE-REGISTERS two cases, shrinking the battery 103 to 101 while the printed count stays non-zero #18512 那轮的 dev 写的限定语「that live in this package」才是对的。
  2. 仪器错:本席按字面标识符 selfTestReachedVerdict grep,于是把 check-test-typecheck.mts(它用了别的变量名)读成「没有握手」。⇒ 按标识符找机制会漏;本卡上面的数字改用拒绝文本做谓词,并配了对照。

三件各自防住什么(取自 #18512 的实测,⛔ 本席未在这 13 把上逐一复现)

⛔ 本席做的测量

查重词

self-test floor sibling retrofit packages/spec · SELF_TEST_BATTERIES missing spec scripts · no verdict handshake self-test · battery roster generation retrofit · check-test-typecheck TS precedent

相关:#18512 / PR #18916(本卡的出处与样板)· scripts/check-agent-model-declared.mjs(.mjs 样板)· scripts/check-test-typecheck.mts(TS 样板)


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