From 05ffcaf9e2e4cde0eedb7c46e85f18809b2d487d Mon Sep 17 00:00:00 2001 From: garrytan Date: Tue, 29 Sep 2026 15:37:55 +0000 Subject: [PATCH] test: count the design-draft paid file and defer marathon ids in PR selection pins The discovered paid-file census grows by one (skill-e2e-office-hours-design-draft). Full-fallback PR selection defers every non-gate id; the shared-input pins now expect periodic and marathon ids there. --- test/eng-finding-retry-budget.test.ts | 2 +- test/pr-shared-input-selection.test.ts | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/test/eng-finding-retry-budget.test.ts b/test/eng-finding-retry-budget.test.ts index 92be11b3b..46b4ecaa8 100644 --- a/test/eng-finding-retry-budget.test.ts +++ b/test/eng-finding-retry-budget.test.ts @@ -135,7 +135,7 @@ test('live periodic census fits the declared CI wall including setup', () => { test('registered allocation is deterministic and preserves every discovered file', () => { const files = collectPaidTestFiles(); - expect(files).toHaveLength(104); + expect(files).toHaveLength(105); expect(files).toContain('test/skill-e2e-ship-skip.test.ts'); const m = livePlan(files); expect(livePlan([...files].reverse())).toEqual(m); diff --git a/test/pr-shared-input-selection.test.ts b/test/pr-shared-input-selection.test.ts index 72929da8c..c0fea7b84 100644 --- a/test/pr-shared-input-selection.test.ts +++ b/test/pr-shared-input-selection.test.ts @@ -9,7 +9,8 @@ const sharedInputs = [ ]; const skipId = 'ship-skipped-queued-finding'; const gateIds = Object.keys(E2E_TOUCHFILES).filter(id => E2E_TIERS[id] === 'gate').sort(); -const periodicIds = Object.keys(E2E_TOUCHFILES).filter(id => E2E_TIERS[id] === 'periodic').sort(); +// Periodic and marathon cases are both deferred by the PR gate; only their lanes run them. +const deferredIds = Object.keys(E2E_TOUCHFILES).filter(id => E2E_TIERS[id] === 'periodic' || E2E_TIERS[id] === 'marathon').sort(); const judgeIds = Object.keys(LLM_JUDGE_TOUCHFILES).sort(); test.each(sharedInputs)('%s retains the full gate after native dependency registration', file => { @@ -19,7 +20,7 @@ test.each(sharedInputs)('%s retains the full gate after native dependency regist expect(result.coverage?.mode).toBe('full-fallback'); expect(result.selection.e2e).toEqual(gateIds); expect(result.selection.judges).toEqual(judgeIds); - expect(result.coverage?.deferred.map(({ id }) => id).sort()).toEqual(periodicIds); + expect(result.coverage?.deferred.map(({ id }) => id).sort()).toEqual(deferredIds); expect(result.coverage?.reasons).toContain(`Shared runtime/build inputs restore every gate case and judge: ${file}`); expect(result.coverage?.needsFullValidation).toBe(false); }); @@ -71,6 +72,6 @@ test('cumulative shared, native and prompt edits retain every gate case and judg expect(result.coverage?.mode).toBe('full-fallback'); expect(result.selection.e2e).toEqual(gateIds); expect(result.selection.judges).toEqual(judgeIds); - expect(result.coverage?.deferred.map(({ id }) => id).sort()).toEqual(periodicIds); + expect(result.coverage?.deferred.map(({ id }) => id).sort()).toEqual(deferredIds); expect(result.coverage?.needsFullValidation).toBe(false); });