The bare-root worklist row
scripts/check-ratchet-remedy-authority.mjs SCRIPTS_DIR scripts
carries verdict DECLARED-NARROWER, re-decided 2026-09-01 (#13813). Its why states the
population as the scripts root read one level, set-equal at 183 of 183 against 310
tracked files under the bare root, and ends: "the bare root is still not covered — no
arbitrary file at the top of the root is reached, and no nested script at any depth".
PR #15199 (for #15179, on the 2026-09-04 ruling) widens that gate's walk to a second
directory: corpusFiles() now reads scripts/ and scripts/pm/, one level each, and the
gate declares three hints — scripts/*.mjs, scripts/*.mts, scripts/pm/*.mjs — where
the row records two. Once that PR lands the row is false in two terms:
- the shape claim — "no nested script at any depth is reached" is no longer true; the
fourteen .mjs files under scripts/pm/ are reached;
- the numbers — the walk admits 201 files, not 183 (187 top-level plus 14 under
scripts/pm/), and the recorded spelling entry scripts top-level script files
describes a two-hint set the gate no longer declares alone.
The row's own SPELLINGS entry, scripts top-level script files, holds
(s) => s.length === 2 && s[0] === 'scripts' && ..., which stays TRUE of the tree — the
map pins its recorded spellings against the tracked corpus, not against the gate's array —
so nothing reds: node scripts/pm/bare-root-worklist.mjs --self-test is green on the
#15199 branch, measured. That is exactly why this is worth a card: the divergence is
between the record and the gate it describes, and the pin cannot see it.
Why it was not repaired in #15199. Re-deciding a row on a shrink-only map belongs to
the file that owns it, and the dispatch for #15179 ruled it out of that card's file surface
by name. #15199's gate docblock carries a pointer to this staleness in the meantime.
Shape of the repair (for whoever picks it up): re-measure BOTH terms together on one
tree — the map's own docblock forbids refreshing a row's terms apart — and decide whether
the entry stays one multi-hint SPELLINGS record grown to three hints, or splits. The row
should stay in the sweep either way: the bare root is still not covered.
Not urgent, not blocking: no gate reds on it today.
Found while implementing #15179. Filed unassigned.
Generated by Claude Code
The bare-root worklist row
carries verdict
DECLARED-NARROWER, re-decided 2026-09-01 (#13813). Itswhystates thepopulation as the scripts root read one level, set-equal at 183 of 183 against 310
tracked files under the bare root, and ends: "the bare root is still not covered — no
arbitrary file at the top of the root is reached, and no nested script at any depth".
PR #15199 (for #15179, on the 2026-09-04 ruling) widens that gate's walk to a second
directory:
corpusFiles()now readsscripts/andscripts/pm/, one level each, and thegate declares three hints —
scripts/*.mjs,scripts/*.mts,scripts/pm/*.mjs— wherethe row records two. Once that PR lands the row is false in two terms:
fourteen
.mjsfiles underscripts/pm/are reached;scripts/pm/), and the recorded spelling entryscripts top-level script filesdescribes a two-hint set the gate no longer declares alone.
The row's own
SPELLINGSentry,scripts top-level script files, holds(s) => s.length === 2 && s[0] === 'scripts' && ..., which stays TRUE of the tree — themap pins its recorded spellings against the tracked corpus, not against the gate's array —
so nothing reds:
node scripts/pm/bare-root-worklist.mjs --self-testis green on the#15199 branch, measured. That is exactly why this is worth a card: the divergence is
between the record and the gate it describes, and the pin cannot see it.
Why it was not repaired in #15199. Re-deciding a row on a shrink-only map belongs to
the file that owns it, and the dispatch for #15179 ruled it out of that card's file surface
by name. #15199's gate docblock carries a pointer to this staleness in the meantime.
Shape of the repair (for whoever picks it up): re-measure BOTH terms together on one
tree — the map's own docblock forbids refreshing a row's terms apart — and decide whether
the entry stays one multi-hint
SPELLINGSrecord grown to three hints, or splits. The rowshould stay in the sweep either way: the bare root is still not covered.
Not urgent, not blocking: no gate reds on it today.
Found while implementing #15179. Filed unassigned.
Generated by Claude Code