From f1191070e671004453a7e8906d5eb5a0561c23e9 Mon Sep 17 00:00:00 2001 From: Jarvis Date: Wed, 24 Jun 2026 16:39:01 -0500 Subject: [PATCH] fix(fleet): raise fleet-personas spec timeout --- docs/scratchpads/672-fleet-personas-timeout.md | 18 ++++++++++++++++++ .../mosaic/src/commands/fleet-personas.spec.ts | 7 ++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 docs/scratchpads/672-fleet-personas-timeout.md diff --git a/docs/scratchpads/672-fleet-personas-timeout.md b/docs/scratchpads/672-fleet-personas-timeout.md new file mode 100644 index 0000000..0040194 --- /dev/null +++ b/docs/scratchpads/672-fleet-personas-timeout.md @@ -0,0 +1,18 @@ +# Scratchpad — fleet-personas spec timeout + +## Objective + +Raise `packages/mosaic/src/commands/fleet-personas.spec.ts` Vitest timeout to 30s, mirroring PR #665's `fleet-provision.spec.ts` CI flake fix. + +## Plan + +1. Copy `vi.setConfig({ testTimeout: 30_000 })` pattern/placement from `fleet-provision.spec.ts`. +2. Run targeted test plus typecheck/lint/format gates. +3. Commit, queue guard, push, PR. + +## Evidence + +- `pnpm --filter @mosaicstack/mosaic test -- src/commands/fleet-personas.spec.ts` — pass (8 tests). +- `pnpm typecheck` — pass (41 tasks). +- `pnpm lint` — pass (23 tasks). +- `pnpm format:check` — pass after formatting this scratchpad. diff --git a/packages/mosaic/src/commands/fleet-personas.spec.ts b/packages/mosaic/src/commands/fleet-personas.spec.ts index 7421d68..d5325dd 100644 --- a/packages/mosaic/src/commands/fleet-personas.spec.ts +++ b/packages/mosaic/src/commands/fleet-personas.spec.ts @@ -2,7 +2,7 @@ import { cp, mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { dirname, join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { afterEach, beforeEach, describe, expect, it } from 'vitest'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { extractClassesFromDir, listPersonaClasses, @@ -11,6 +11,11 @@ import { } from './fleet-personas.js'; import { loadProfiles, validateProfile, type FleetProfile } from './fleet-profiles.js'; +// These are INTEGRATION tests: they exercise real filesystem I/O while scanning +// and validating the committed + override persona libraries. Under contended CI +// runners, the default 5s timeout can false-red even though the suite is healthy. +vi.setConfig({ testTimeout: 30_000 }); + // The real, committed library: packages/mosaic/src/commands -> framework/fleet. const frameworkFleet = resolve( dirname(fileURLToPath(import.meta.url)),