FN-6016: quarantine flaky chat-manager generation-slot test

Quarantine the flaky dashboard chat-manager generation-slot test until the underlying race is fixed.

- exclude packages/dashboard/src/__tests__/chat-manager.test.ts from dashboard API Vitest projects
- record the quarantine entry with failure context, rescue requirements, and the 2026-06-08 quarantine date

Files changed:
 packages/dashboard/vitest.config.ts | 2 ++
 scripts/lib/test-quarantine.json    | 8 +++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6016

Fusion-Task-Lineage: 2cd97f8e-db06-4e49-b437-66fee64fb3a9
This commit is contained in:
gsxdsm
2026-06-08 08:33:01 -07:00
parent 3b3c5ed0bf
commit 84330f7dc9
2 changed files with 9 additions and 1 deletions

View File

@@ -258,6 +258,7 @@ const qualityAppBackfillTests = ["app/**/*.test.{ts,tsx}"];
const backfillApiExclude = [
...qualityApiTests,
...skipListDashboardGlobs.filter((file) => file.startsWith("src/")),
"src/__tests__/chat-manager.test.ts",
];
const qualityApiBackfillTests = ["src/**/*.test.{ts,tsx}"];
@@ -449,6 +450,7 @@ export default defineConfig({
name: "dashboard-api",
environment: "node",
include: ["src/**/*.test.{ts,tsx}"],
exclude: ["src/__tests__/chat-manager.test.ts"],
css: { include: [] },
},
},

View File

@@ -1,4 +1,10 @@
{
"$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": []
"entries": [
{
"file": "packages/dashboard/src/__tests__/chat-manager.test.ts",
"reason": "Flaky: 'old generation finally does not delete a newer generation's slot' times out under full-suite load. Prior fix attempts (FN-4012 on 2026-05-11, FN-5982 on 2026-06-06 which exhausted its stuck-kill budget 10/6 and was manually paused twice) failed to address the underlying generation-slot race. Per standing rule: quarantine on sight, not appease. Rescue requires (a) evidence the test catches real regressions and (b) a root-cause fix for the generation-slot race — not another synchronization tweak.",
"quarantinedAt": "2026-06-08"
}
]
}