Skip to content

Commit ca943b8

Browse files
committed
tooling(cutover): the compound self-test anchor ledger classifies the three ui/ batteries (bill item 38, objectstack#25803)
The import brings three compound self-test names under ui/, and check:pm-dispatch-gates reds on them as unclassified (fast tier 1 of 1917 on the cutover PR's first run). All three are self-test batteries, reached only from their file's own --self-test path, so each gets an `accidental: false` row; none is renamed: - ui/scripts/__tests__/helpers/child-verdict.ts selfTestCases - ui/scripts/check-comment-mask-corpus.mjs runSelfTestCases - ui/scripts/check-pre-install-import-graph.mjs runSelfTest The docblock counts are re-derived on the merged tree: 34 compound rows (both "all N" claims), 29 distinct spellings (selfTestCases is the one new spelling), 23 genuine, ELEVEN accidental unchanged. The census line is re-measured too: 324 code-position matches, 24 of them under ui/, 290 bare `selfTest`. Those two figures read 275/244 here but measured 300/269 on main abebc4e before the import; the self-test does not pin them. The #15310 prose check read the genuine count as a number WORD, and its table stops at twenty, so 23 could not be stated. Its regex now also takes digits, which asCount already converts; the accidental and total checks are unchanged. Before: dispatch-gates self-test fast tier 1 of 1917 failed (unclassified compound names). After: the five #15310 prose checks and the ledger census check pass. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CUXv64KLMfYv3ia2sWi6te
1 parent f5fc321 commit ca943b8

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

‎scripts/pm/dispatch-gates.data.mjs‎

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -342,9 +342,10 @@ export const ROOT_WALK_RESIDUE_LEDGER = [
342342
*
343343
* ## The census, re-derived on this tree
344344
*
345-
* 275 code-position matches over the tracked JS/TS corpus. 244 are the bare
346-
* `selfTest`; the remaining 31 carry compound names over 28 distinct spellings,
347-
* and they are the rows below. Twenty are genuine self-test batteries — the
345+
* 324 code-position matches over the tracked JS/TS corpus, 24 of them under
346+
* `ui/` since the objectui import (objectstack#25803). 290 are the bare
347+
* `selfTest`; the remaining 34 carry compound names over 29 distinct spellings,
348+
* and they are the rows below. 23 are genuine self-test batteries — the
348349
* anchor firing on them is the anchor working. ELEVEN are production code:
349350
*
350351
* scripts/check-self-test-wired.mjs carriesSelfTest
@@ -371,7 +372,7 @@ export const ROOT_WALK_RESIDUE_LEDGER = [
371372
* and it is exactly the kind of claim that stops being true without anything
372373
* going red, which is what the pin in this module's self-test exists to catch.
373374
*
374-
* The same measurement, redone over the table's current twenty genuine rows,
375+
* The same measurement, redone over the table's current 23 genuine rows,
375376
* is still NOT zero, and that asymmetry is what makes the classification
376377
* load-bearing rather than decorative: `fixtureSelfTest` drops
377378
* `packages/spec/spec-changes.json` and `prePushIsArmedSelfTest` drops
@@ -400,8 +401,8 @@ export const ROOT_WALK_RESIDUE_LEDGER = [
400401
* wider — and it would make the tool's self-scan differ from every other
401402
* scan, which is a hazard of its own.
402403
*
403-
* ⇒ What ships is neither. The anchor keeps firing on all 31, the mask keeps
404-
* blanking all 31, and the cost of the eleven accidental ones is MEASURED on
404+
* ⇒ What ships is neither. The anchor keeps firing on all 34, the mask keeps
405+
* blanking all 34, and the cost of the eleven accidental ones is MEASURED on
405406
* every run instead of asserted in prose. Silence was the defect; the remedy is
406407
* noise on the day it starts costing something.
407408
*
@@ -443,6 +444,9 @@ export const COMPOUND_ANCHOR_LEDGER = [
443444
['scripts/check-regen-pending.mjs', 'decisionTableSelfTest', false],
444445
['scripts/check-turbo-task-graph.mjs', 'runSelfTest', false],
445446
['scripts/check-workspace-manifest-cycles.mjs', 'runSelfTest', false],
447+
['ui/scripts/__tests__/helpers/child-verdict.ts', 'selfTestCases', false],
448+
['ui/scripts/check-comment-mask-corpus.mjs', 'runSelfTestCases', false],
449+
['ui/scripts/check-pre-install-import-graph.mjs', 'runSelfTest', false],
446450
['scripts/check-self-test-wired.mjs', 'carriesSelfTest', true],
447451
['scripts/check-self-test-workflow-commands.mjs', 'runSelfTest', true],
448452
['scripts/check-step-collectors.mjs', 'selfTestTargets', true],

‎scripts/pm/dispatch-gates.self-test.mjs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2221,7 +2221,7 @@ export function selfTest({ tier = 'full' } = {}) {
22212221

22222222
const remaining = prose.match(/the remaining (\d+) carry compound names/);
22232223
const allFiring = prose.match(/keeps firing on all (\d+), the mask keeps blanking all (\d+)/);
2224-
const genuineLine = prose.match(/([A-Za-z]+) are genuine self-test batteries/);
2224+
const genuineLine = prose.match(/(\d+|[A-Za-z]+) are genuine self-test batteries/);
22252225
const accidentalLine = prose.match(/([A-Za-z]+) are production code:/);
22262226
const spellingsLine = prose.match(/over (\d+) distinct spellings/);
22272227

0 commit comments

Comments
 (0)