Repository navigation
ci(gates): retire the transcription pins — tests and gates that hold a hand-typed count or table equal to the tree and red on every unrelated move (parent of eight) #26431
Description
Filing gate: ③ maintainer-directed. Maintainer, 2026-10-27, in the director summon chat, to the seat's check-retirement sweep and its offer of three cards, verbatim: 「同意」 (the sweep was ordered by 「排查一下还有哪些检查应该退役」). Filed by the director seat (session_01KrKXQVvgYk2AJ4VkqMobyb, ledger objectstack#12708, sweep record 6433263738). ⛔ Not a claim. Batch-of: 11 (director seat, 2026-10-27). Dedupe: 600 newest open + closed issues grepped for the check's file name → 0 unless stated. Reader: this is a ④ coordination parent; each child names its own lane. Done-when: every child closed; nothing lands on this card.
维护者速读
这组检查共同点:钉的是树的转录(一个清单的长度、一次手数的数字、散文里重述的计数),不是不变量;它们的红史全是「有人正常改了代码,数字没跟着改」——#26410 那份权限普查钉是同类里最贵的一个,你已裁 C。这里把其余八个按文件各立一张子单:退役钉本身,或者把数字改成从树推导,让它永远不能和树不一致。父单只收账,不派发。
Children (one lane each; filed in the same batch)
- test(rest): the registrar-file list's length is pinned as
toHaveLength(18)in seven test files — drop the seven length pins, the list is the authority #26433 — registrar-file length pinned in seven test files (domain:server) - test(rest): execctx-consumer-census.test.ts hand-counts 62 sites / 145 mentions / 16-46-12 catch shapes and is re-typed on every split slice — derive the census or retire the measurement file #26436 —
execctx-consumer-census.test.tshand counts (domain:server) - test(spec): metadata-type-schemas.test.ts pins the registry at
closed 27 / types 28and is bumped on every new metadata kind — state the rule in words, drop the counts #26437 —metadata-type-schemas.test.tsclosed 27 / types 28 (domain:spec) - test(i18n): objectView-config-keys-retired pins
SURVIVING_KEY_COUNT = 103(and 229 total), so any legitimate key added to console.objectView reds it — pin the retired list only #26438 —SURVIVING_KEY_COUNT = 103in the i18n retired-keys test (domain:ui) - pm(check-expected-skips): the roster of jobs allowed to skip is a hand copy of ci.yml's
if:gates and reds on every new or renamed job — derive the roster from the workflow #26439 —check-expected-skipshand roster (domain:skills) - docs(gates): five gates exist only to hold a count re-typed in prose (lockstep "110 packages", route-ledger "105 rows", quick-reference "N of M", overlay-whitelist leg 3, spec-enumerations) — delete or generate the numbers, retire the holders #26441 — five prose-count holder gates: lockstep, route-ledger, quick-reference, overlay leg 3, spec-enumerations (
domain:devx) - docs(permissions): system-context.mdx is a hand-written per-site census of every isSystem read, edited 9 times in 30 days and held by a gate whose --fix is retired — generate it like tenant-audit-census.mdx #26442 —
system-context.mdxhand census (domain:devx) - ci(self-tests): the shard sizes /3, /8, /16 are copied into five self-tests and fixtures — read them from the workflow's matrix blocks #26443 — shard-size literals in five self-tests (
domain:devx)
Siblings filed in the same batch, not children: #26444 (floors and two-sided baselines, loosened) and #26445 (decision: the three unread scheduled workflows).
Rule the children follow
- A pin is retired, not loosened, when the thing it pins already has an authority (a list, a registry, a generated file): the authority stays, the retyped number goes.
- A number in prose is deleted or generated; it is never "held" by a gate (the
--fixgates in this batch exist only because the prose restates a count). - A test that must stay keeps the rule in words ("every registered type is closed except
view"), never the count of today. - ⛔ No new gate, no new ledger; each child is one PR in its lane; Tier S/H per the paths it touches.
Related
#26410 (the authz census pin, ruled C — the archetype); PR #26367 (SDUI manifest records retired — the pattern); PR #26343 (had to bump five package-count floors to delete one package).
Activity
objectstack-fleet commentedon Oct 27, 2026
Triage:
pm:queue→pm:epic· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-27T05:07Z⛔ Not a claim.
pm:queueas a claimable card. →pm:epic. The children (test(rest): the registrar-file list's length is pinned astoHaveLength(18)in seven test files — drop the seven length pins, the list is the authority #26433, test(rest): execctx-consumer-census.test.ts hand-counts 62 sites / 145 mentions / 16-46-12 catch shapes and is re-typed on every split slice — derive the census or retire the measurement file #26436–pm(check-expected-skips): the roster of jobs allowed to skip is a hand copy of ci.yml'sif:gates and reds on every new or renamed job — derive the roster from the workflow #26439, docs(gates): five gates exist only to hold a count re-typed in prose (lockstep "110 packages", route-ledger "105 rows", quick-reference "N of M", overlay-whitelist leg 3, spec-enumerations) — delete or generate the numbers, retire the holders #26441, docs(permissions): system-context.mdx is a hand-written per-site census of every isSystem read, edited 9 times in 30 days and held by a gate whose --fix is retired — generate it like tenant-audit-census.mdx #26442, test(floors): floors set at today's measured value and two-sided baselines red on every legitimate deletion — ui package counts in ~8 places, CLI command counts, catalog entries pinned 4×, slot-lookup-class baselines that fail on a decrease #26444) each carry their own triage line.Generated by Claude Code