fix(evals): activate the 4 paid test files that could never run anywhere

carve-section-loading, codex-e2e-plan-format,
codex-e2e-recommendation-substance, and llm-judge-recommendation gated
on EVALS/tier (free suite loads them as describe.skip) but their names
fell outside PAID_TEST_GLOBS, so no paid lane ever selected them — net
execution zero, forever. The existing matrix tripwire filtered on
isPaidTestFile() first, so it was blind to exactly this class (the same
bug that hid the pre-split monolith's gate tests for ~8 releases).

- PAID_TEST_GLOBS: codex-e2e* + skill-llm-eval* wildcards (replacing
  exact names) + llm-judge-recommendation + carve-section-loading;
  package.json's six test-script glob lists mirrored
- codex-e2e-plan-format gains the explicit periodic tier gate its
  siblings carry (external-service rule) — without it the sharded
  runner's no-guard default would spawn Codex in the gate tier per PR
- eval:bg:periodic --timeout 32400→37800: the census growth pushed the
  periodic worst case to 35910s; the old value had 270s of headroom
  BEFORE this change and would now kill healthy runs mid-flight
- new test/paid-orphan-tripwire.test.ts: any EVALS/tier-gated test file
  outside the globs fails the free suite (reasoned SCANNER_EXEMPT for
  the gate helpers + meta-tests) — the class-killer
- paid-shards pins updated: the four orphans now assert INSIDE the
  census

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-29 04:52:47 +00:00
co-authored by Claude Fable 5
parent 442a46f989
commit 72a5246aae
5 changed files with 113 additions and 13 deletions
+9 -2
View File
@@ -43,15 +43,22 @@ describe('paid test enumeration', () => {
// kept here as a regression pin: its glob-invisibility is exactly how
// two gate tests went unexecuted for ~8 releases before the rehoming.
expect(isPaidTestFile('test/skill-e2e.test.ts')).toBe(false);
expect(isPaidTestFile('test/codex-e2e-recommendation-substance.test.ts')).toBe(false);
expect(isPaidTestFile('test/paid-shards.test.ts')).toBe(false);
// The 2026-08 orphan fix: these four were API-spending files OUTSIDE the
// globs — self-skipping in the free suite and absent from the paid
// census, so they could never run in any lane.
expect(isPaidTestFile('test/codex-e2e-recommendation-substance.test.ts')).toBe(true);
expect(isPaidTestFile('test/codex-e2e-plan-format.test.ts')).toBe(true);
expect(isPaidTestFile('test/llm-judge-recommendation.test.ts')).toBe(true);
expect(isPaidTestFile('test/carve-section-loading.test.ts')).toBe(true);
expect(isPaidTestFile('test/skill-llm-eval-spec.test.ts')).toBe(true);
});
test('discovers files and gives each one its own shard', () => {
const files = collectPaidTestFiles();
expect(files.length).toBeGreaterThan(0);
expect(files.every(isPaidTestFile)).toBe(true);
expect(PAID_TEST_GLOBS.length).toBe(6);
expect(PAID_TEST_GLOBS.length).toBe(7);
const shards = planPaidShards(files);
expect(shards.flat().sort()).toEqual([...files].sort());