diff --git a/e2e/playwright.config.redis.ts b/e2e/playwright.config.redis.ts index 548cb262db..e959befc2b 100644 --- a/e2e/playwright.config.redis.ts +++ b/e2e/playwright.config.redis.ts @@ -4,6 +4,16 @@ import mockConfig from './playwright.config.mock'; /** Browser scenarios whose behavior crosses the generation stream-store boundary. */ export default defineConfig({ ...mockConfig, + /** + * Every stream event crosses a real Redis round-trip on this lane, so waits that + * sit comfortably against the in-memory store run much closer to their budget — + * pause/resume and rehydrate paths most of all, since they replay a whole job. + * The suite is serial (`workers: 1`), so this is per-operation latency rather + * than contention, and it is why this lane reports flaky runs the memory shards + * never produce. Give it a larger default assertion budget and one more retry. + */ + retries: process.env.CI ? 3 : 0, + expect: { ...mockConfig.expect, timeout: 20_000 }, testMatch: [ /completion\.spec\.ts/, /deferred-tools-hitl\.spec\.ts/,