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
objectstack-fleet commentedon Oct 30, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Closed: done-when met · 2026-10-30T13:03Z
This card's own done-when is "every child closed; nothing lands on this card". Triage read every one on the board:
toHaveLength(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, test(spec): metadata-type-schemas.test.ts pins the registry atclosed 27 / types 28and is bumped on every new metadata kind — state the rule in words, drop the counts #26437, test(i18n): objectView-config-keys-retired pinsSURVIVING_KEY_COUNT = 103(and 229 total), so any legitimate key added to console.objectView reds it — pin the retired list only #26438, 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 and 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.No epic PM held this parent. It stayed open only because nobody came back to close it after the last child landed. It is closed as
completed, on the maintainer's word in the triage session (2026-10-30): 「关」.Generated by Claude Code