Rescue the retained CLI quarantine by making TaskStore shutdown deterministic before fixture cleanup. - Await cached extension TaskStore closes and clear the cache before asynchronous shutdown drains. - Update CLI fixtures to await direct and cached store closure, with a regression proving cached close is awaited. - Remove rescued CLI quarantine entries/excludes and document the loaded-suite rescue with a patch changeset. Files changed: .changeset/fn-6839-close-cached-stores.md | 5 ++ CLAUDE.md | 1 + docs/testing.md | 4 ++ .../extension-agent-set-instructions.test.ts | 2 +- .../__tests__/extension-goal-tools-audit.test.ts | 2 +- .../cli/src/__tests__/extension-goal-tools.test.ts | 2 +- .../cli/src/__tests__/extension-insights.test.ts | 6 +-- .../__tests__/extension-mission-goal-tools.test.ts | 2 +- .../cli/src/__tests__/extension-task-tools.test.ts | 16 ++++--- packages/cli/src/__tests__/extension.test.ts | 56 +++++++++++----------- .../src/__tests__/research-extension-tools.test.ts | 4 +- packages/cli/src/extension.ts | 16 +++---- packages/cli/vitest.config.ts | 6 +-- scripts/lib/test-quarantine.json | 15 ------ 14 files changed, 68 insertions(+), 69 deletions(-) Fusion-Task-Id: FN-6839 Fusion-Task-Lineage: ea0c7c77-bb59-4db4-931d-5e052a1043e5
11 lines
1.2 KiB
JSON
11 lines
1.2 KiB
JSON
{
|
|
"$comment": "Flaky-test quarantine ledger (deletion ratchet — see AGENTS.md 'Flaky tests: quarantine on sight' and docs/testing.md 'Quarantine ledger and the deletion ratchet'). A test observed failing without a corresponding real bug is quarantined ON SIGHT: add an entry here AND a matching one-line `exclude` entry in that package's vitest config, in the same commit. Every entry needs a non-empty `reason` (link the failing run) and a `quarantinedAt` date — the entry expires 14 days later, at which point the test file is DELETED unless someone rescues it with evidence it catches real regressions plus a root-cause fix (never appeasement). There is deliberately no loader module and no automation around this file: it is a dated record, the vitest config exclude is the mechanism, and the sweep is policy executed by whoever touches the suite.",
|
|
"entries": [
|
|
{
|
|
"file": "packages/dashboard/src/__tests__/session-cross-tab.test.ts",
|
|
"reason": "FN-6690 local workspace `pnpm test` observed ENOTEMPTY while removing the test's temp .fusion directory in dashboard-api-quality-backfill shard; isolated rerun passed, indicating cleanup flake rather than a lazy-view CSS regression.",
|
|
"quarantinedAt": "2026-06-19"
|
|
}
|
|
]
|
|
}
|