Skip to content

Commit 2245341

Browse files
committed
chore(merge-driver,dispatch-gates): record gen:checklist-status's disposition and classify its battery
Two ledgers the new generator and its self-test battery owe a row in, each found by its own gate rather than by inspection: - `scripts/regen-artifacts.mjs`: `gen:checklist-status` writes NOTHING into this repository, so 'discard both sides and re-run the generator' is not a question that arises. Recorded as NOT_DRIVER_MANAGED with `untracked: true` rather than omitted, because the refused alternative — a committed STATUS.md paired with a check — is exactly the routed-artifact shape a reader assumes. Owner is the ROOT manifest: the accounting is keyed per (owner, script). - `scripts/pm/dispatch-gates.mjs`: `selfTestPlannedStatus` is a genuine battery, so its fixtures SHOULD be masked away from watch-hint extraction. The docblock's TOTAL / GENUINE / distinct-spelling counts are pinned against the table and move with the row. Its two UNPINNED neighbours (the corpus totals) were already stale on origin/main at 253/223 against a measured 273/243; restated to the freshly measured 275/244 so the paragraph's own arithmetic (244 + 31 = 275) stays true rather than being broken by this row. Claude-Session: https://claude.ai/code/session_01AmH9bKvGoLjiY86Q4Z3og2 Co-authored-by: Claude <noreply@anthropic.com>
1 parent d09bfb8 commit 2245341

2 files changed

Lines changed: 34 additions & 6 deletions

File tree

‎scripts/pm/dispatch-gates.mjs‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5211,9 +5211,9 @@ const BARE_ENTRY_POINT_NAME = 'selfTest';
52115211
*
52125212
* ## The census, re-derived on this tree
52135213
*
5214-
* 253 code-position matches over the tracked JS/TS corpus. 223 are the bare
5215-
* `selfTest`; the remaining 30 carry compound names over 27 distinct spellings,
5216-
* and they are the rows below. Nineteen are genuine self-test batteries — the
5214+
* 275 code-position matches over the tracked JS/TS corpus. 244 are the bare
5215+
* `selfTest`; the remaining 31 carry compound names over 28 distinct spellings,
5216+
* and they are the rows below. Twenty are genuine self-test batteries — the
52175217
* anchor firing on them is the anchor working. ELEVEN are production code:
52185218
*
52195219
* scripts/check-self-test-wired.mjs carriesSelfTest
@@ -5240,7 +5240,7 @@ const BARE_ENTRY_POINT_NAME = 'selfTest';
52405240
* and it is exactly the kind of claim that stops being true without anything
52415241
* going red, which is what the pin in this module's self-test exists to catch.
52425242
*
5243-
* The same measurement, redone over the table's current nineteen genuine rows,
5243+
* The same measurement, redone over the table's current twenty genuine rows,
52445244
* is still NOT zero, and that asymmetry is what makes the classification
52455245
* load-bearing rather than decorative: `fixtureSelfTest` drops
52465246
* `packages/spec/spec-changes.json` and `prePushIsArmedSelfTest` drops
@@ -5269,8 +5269,8 @@ const BARE_ENTRY_POINT_NAME = 'selfTest';
52695269
* wider — and it would make the tool's self-scan differ from every other
52705270
* scan, which is a hazard of its own.
52715271
*
5272-
* ⇒ What ships is neither. The anchor keeps firing on all 30, the mask keeps
5273-
* blanking all 30, and the cost of the eleven accidental ones is MEASURED on
5272+
* ⇒ What ships is neither. The anchor keeps firing on all 31, the mask keeps
5273+
* blanking all 31, and the cost of the eleven accidental ones is MEASURED on
52745274
* every run instead of asserted in prose. Silence was the defect; the remedy is
52755275
* noise on the day it starts costing something.
52765276
*
@@ -5306,6 +5306,7 @@ const COMPOUND_ANCHOR_LEDGER = [
53065306
['scripts/check-platform-checklist.mjs', 'selfTestMetaCallSpelling', false],
53075307
['scripts/check-platform-checklist.mjs', 'selfTestLineCitationBinding', false],
53085308
['scripts/check-platform-checklist.mjs', 'selfTestSymbolAnchors', false],
5309+
['scripts/check-platform-checklist.mjs', 'selfTestPlannedStatus', false],
53095310
['scripts/check-regen-pending.mjs', 'fixtureSelfTest', false],
53105311
['scripts/check-regen-pending.mjs', 'prePushIsArmedSelfTest', false],
53115312
['scripts/check-regen-pending.mjs', 'decisionTableSelfTest', false],

‎scripts/regen-artifacts.mjs‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -855,6 +855,33 @@ export const NOT_DRIVER_MANAGED = Object.freeze([
855855
+ 'ledger — recorded so that "no disposition" is not confused with "not yet decided". Same '
856856
+ 'expiry clause as the entry above: committing it turns this entry red.',
857857
},
858+
{
859+
// ⚠️ NOT a directory of this repository, and by ruling never one. The
860+
// generator's `--out <dir>` is a runner tempdir whose contents are pushed
861+
// to the repository WIKI — a separate git repo that this driver, this
862+
// ledger and the merge queue all sit outside of.
863+
path: 'wiki/**',
864+
gen: 'gen:checklist-status',
865+
// The ROOT manifest defines this script, not `packages/spec` — and the
866+
// accounting is keyed per (owner, script), so leaving this to the default
867+
// owner records the disposition against a manifest that has no such script
868+
// and leaves the real one unaccounted. Both halves red at once, which is
869+
// the two-way reconciliation working.
870+
owner: ROOT_OWNER,
871+
untracked: true,
872+
why:
873+
'writes NOTHING into this repository. `gen:checklist-status` prints the per-area '
874+
+ 'active/planned census to stdout and, with `--out <dir>`, renders the wiki page set into '
875+
+ 'that directory; `.github/workflows/checklist-status.yml` publishes it to the repository '
876+
+ 'wiki on a schedule. So "discard both sides and re-run the generator" is not a question '
877+
+ 'that arises — git never merges these pages, and the wiki is regenerated wholesale every '
878+
+ 'run. Recorded rather than omitted because the ALTERNATIVE was considered and REFUSED on '
879+
+ 'the card: a `STATUS.md` committed to `docs/qa/platform-checklist/` paired with a '
880+
+ '`check:checklist-status` gate, which is exactly the routed-artifact shape this ledger is '
881+
+ 'full of, and which a reader may well assume happened here. Same expiry clause as the two '
882+
+ 'entries above: the day any of these pages is committed to this tree, this entry turns red '
883+
+ 'and a real disposition is owed.',
884+
},
858885
{
859886
path: 'docs/audits/**',
860887
why:

0 commit comments

Comments
 (0)