fix(e2e): review-dashboard-via session budget survives runner contention (#2473)

The test failed on CI (and its baseline run) with the timeout signature:
0 turns, $0.00, exactly 183s, 3/3 attempts — the spawned claude -p session
never emitted a single stream event before the 180s inner timeout. The
file's tests run concurrently on one runner; session startup queues behind
sibling sessions, and this test had the tightest budget in the file (the
240s-budget tests in the same job passed). A clean local run takes 270s
wall for 4 turns, confirming 180s was too tight even without contention.

Inner timeout 180s -> 300s; outer bun timeout 240s -> 360s to keep headroom
over the inner budget. Verified: PASS locally post-fix (4 turns, 270s).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan 2026-08-07 15:18:11 -07:00
parent 7d1b9e90f7
commit c7bf129b4d
No known key found for this signature in database
GPG Key ID: C1F69E85C74EFE1D
1 changed files with 8 additions and 2 deletions

View File

@ -614,7 +614,13 @@ Skip the preamble, lake intro, telemetry, and all other ship steps.
Write the dashboard output to ${dashDir}/dashboard-output.md`,
workingDirectory: dashDir,
maxTurns: 12,
timeout: 180_000,
// 300s, not 180s: on a saturated CI runner this file's concurrent
// sessions queue behind each other and session STARTUP can eat the
// whole budget — observed as deterministic timeout at 0 turns/$0.00
// for exactly 180s across 3 attempts (PR #2472 CI + its baseline),
// while the 240s-budget tests in the same job passed. Outer bun
// timeout below rises to 360s to keep headroom over the inner budget.
timeout: 300_000,
testName: 'review-dashboard-via',
runId,
});
@ -648,7 +654,7 @@ Write the dashboard output to ${dashDir}/dashboard-output.md`,
);
// Ship dashboard should not gate when eng review is clear
expect(gateQuestions).toHaveLength(0);
}, 240_000);
}, 360_000);
});
// Module-level afterAll — finalize eval collector after all tests complete