Skip to content

Commit 42fdfb6

Browse files
claude[bot]claude
andauthored
feat(dispatch-gates): a checkable whole-tree-population channel, so a repo-wide gate is placed by declaration instead of landing near undetermined (#14774)
* wip: whole-tree-population channel * wip: self-test repairs * wip: hoist self-test helper --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent fc648a2 commit 42fdfb6

6 files changed

Lines changed: 698 additions & 28 deletions

scripts/check-closing-keyword-parity.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@
9595
* pinning an unmeasured spelling here would launder a guess into a contract.
9696
*/
9797

98+
// dispatch-gates: whole-tree-population -- the sweep reads every tracked file (node_modules and dist aside) hunting the closing-keyword grammar, so a card adding prose or a workflow anywhere implicates it; the literals below are the parsers it grades.
99+
98100
import { execFileSync } from 'node:child_process';
99101
import { readFileSync, statSync } from 'node:fs';
100102
import { join } from 'node:path';

scripts/check-comment-mask-corpus.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@
123123
* run.
124124
*/
125125

126+
// dispatch-gates: whole-tree-population -- `collectSources` walks every authored JS/TS file from the repo root, so the corpus is the whole tree; the one literal below names the masker this gate exercises, not the files it reads.
127+
126128
import { readdirSync, readFileSync } from 'node:fs';
127129
import { dirname, extname, join, relative, resolve } from 'node:path';
128130
import { fileURLToPath, pathToFileURL } from 'node:url';

scripts/check-nul-bytes.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,8 @@
264264
// on purpose. Extraction failure is RED, never a silent skip -- the class
265265
// vanishing from a self-scan command is the same defect as it drifting.
266266

267+
// dispatch-gates: whole-tree-population -- the scan set is `git ls-files` PLUS `git ls-files --others --exclude-standard`, so every tracked and every untracked-not-ignored file in the repo is read; the literals below name this gate's own artifacts, never its population.
268+
267269
import { execFileSync } from 'node:child_process';
268270
import { lstatSync, mkdirSync, mkdtempSync, readFileSync, rmSync, symlinkSync, writeFileSync } from 'node:fs';
269271
import { tmpdir } from 'node:os';

scripts/check-refd-timer-probe.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@
9595
* never stand for "there was nothing to find".
9696
*/
9797

98+
// dispatch-gates: whole-tree-population -- `readTree` is the tracked-plus-untracked sweep of the entire repository, so no card's file surface can narrow this gate; the literals below are its skip set and its testkit anchor.
99+
98100
import { readFileSync } from 'node:fs';
99101
import { execFileSync } from 'node:child_process';
100102
import { join, dirname, resolve, relative, sep } from 'node:path';

scripts/check-watch-hint-literal.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@
139139
* directly after a `const` in this file.
140140
*/
141141

142+
// dispatch-gates: whole-tree-population -- `audit(walk(REPO_ROOT))` reads every authored JS/TS file in the tree; ROOT_DIR_WATCH_HINTS below is where this gate's FINDINGS have so far lived, not the population it walks.
143+
142144
import { readdirSync, readFileSync, statSync } from 'node:fs';
143145
import { dirname, relative, resolve, join } from 'node:path';
144146
import { fileURLToPath } from 'node:url';

0 commit comments

Comments
 (0)