mirror of
https://github.com/garrytan/gstack.git
synced 2026-08-31 18:30:39 +02:00
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:
co-authored by
Claude Fable 5
parent
442a46f989
commit
72a5246aae
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user