Harden the core Vitest worker-root cleanup path and rescue the related broad-suite quarantines. - Increase bounded retries for transient ENOTEMPTY/EBUSY worker-root cleanup races. - Add teardown coverage proving transient ENOTEMPTY retries remove the worker root. - Remove rescued core quarantine entries from the ledger and Vitest exclude list. - Document the FN-6600 core cleanup rescue pattern in testing guidance. Files changed: docs/testing.md | 2 ++ .../core/src/__test-utils__/vitest-teardown.ts | 7 +++++- .../vitest-teardown-worker-root-cleanup.test.ts | 27 ++++++++++++++++++++++ packages/core/vitest.config.ts | 6 +++-- scripts/lib/test-quarantine.json | 15 ------------ 5 files changed, 39 insertions(+), 18 deletions(-) Fusion-Task-Id: FN-6600 Fusion-Task-Lineage: 107fb5cf-82c8-4e65-915d-0ef69725369b
16 lines
1.9 KiB
JSON
16 lines
1.9 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": "plugins/fusion-plugin-compound-engineering/src/__tests__/sync.test.ts",
|
|
"reason": "CE broad package verification under NODE_ENV=production fix hit a 10000ms beforeEach hook timeout only in the full @fusion-plugin-examples/compound-engineering lane, while an immediate isolated compound-engineering-node run of sync.test.ts passed in 15.43s. Quarantined per deletion-ratchet policy without hookTimeout increases, retries, or assertion loosening.",
|
|
"quarantinedAt": "2026-06-17"
|
|
},
|
|
{
|
|
"file": "plugins/fusion-plugin-compound-engineering/src/__tests__/work-bridge.test.ts",
|
|
"reason": "CE broad package verification under NODE_ENV=production fix hit a 10000ms beforeEach hook timeout only in the full @fusion-plugin-examples/compound-engineering lane, while an immediate isolated compound-engineering-node run of work-bridge.test.ts passed in 10.96s. Quarantined per deletion-ratchet policy without hookTimeout increases, retries, or assertion loosening.",
|
|
"quarantinedAt": "2026-06-17"
|
|
}
|
|
]
|
|
}
|