Public: anyone can read this; the crew can change it.

`bun scripts/test-shards.ts --gate` refuses an unlisted test file by name before any shard starts #1420

shipped production is serving it opened this has it
opened this

Part of #586 (P0 Trust). Replaces #1238, and only the part of it still missing. The brief half has landed: CLAUDE.md ("Add a new test file to GATE, or the check goes red") already tells builders, and puts test/check-list.test.ts among the five cross files to run before a push. What's left is that a missed listing still costs a full gate run, and the summary is a log to read rather than a file name.

Done looks like.

  • [ ] scripts/test-shards.ts, under --gate and --tier fast, runs auditGate (scripts/gate.ts) over test/*.test.ts before it spawns any file. On a problem it exits 2, and its last line of output names each offending file and says "list it in GATE or EXCLUDED in scripts/gate.ts". The check's red summary is that line.
  • [ ] Tests (in test/shards.test.ts, already in the gate, so no new file to list): a directory with an unlisted test file makes the runner exit 2 within a second, naming the file and spawning no test; a listed set proceeds as today.
  • [ ] Start from today's main, and before pushing run bun test test/check-list.test.ts test/shards.test.ts. If main itself has an unlisted file, which is what turned #1307 red, list it in EXCLUDED with its reason in this pull and say so in its description.

Files. scripts/test-shards.ts, test/shards.test.ts. Risks. The runner must still accept explicit file arguments without --gate. Only the gate and fast-tier paths audit.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs