Files
fusion/scripts/lib/test-quarantine.json
gsxdsm 5596d915ab FN-8647: quarantine flaky Kimi K3 catalog test
Quarantine the timing-sensitive Kimi K3 SDK catalog test without changing timeout budgets.

- Reuse the native model registry once per test file.
- Add the observed CI timeout to the dashboard quarantine ledger and config.
- Document validation and timeout-budget preservation requirements.

Files changed:
 docs/testing.md                                    |  8 ++++++++
 ...ister-model-routes-kimi-k3-supplemental.test.ts | 23 ++++++++++++++++++++--
 packages/dashboard/vitest.config.ts                |  8 ++++++++
 scripts/lib/test-quarantine.json                   |  5 +++++
 4 files changed, 42 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-8647

Fusion-Task-Lineage: 31e79677-d923-4003-a8e8-082159334e65

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-31 22:32:18 -07:00

16 lines
2.2 KiB
JSON

{
"$comment": "Flaky-test quarantine ledger (deletion ratchet \u2014 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 \u2014 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 is the enforcement.",
"entries": [
{
"file": "packages/dashboard/app/hooks/__tests__/useTasks-hydration-freshness.test.ts",
"reason": "Wall-clock off-by-one-millisecond in 'task:created does not advance the clock while an unconfirmed hydrated snapshot is on screen' \u2014 asserts an exact epoch equality against a value derived from a second real-clock read. Observed 1 failure in 3 identical local runs (AssertionError: expected 1785409894615 to be 1785409894614) while working PR #2731, whose change is in a different hook (useTaskDiffStats) and cannot affect it; the same file passed 11/11 with that change stashed and then failed again with it restored, so the variance is the clock, not the diff. Quarantined on sight per AGENTS.md rather than appeased \u2014 the root-cause fix is fake timers or a tolerance-free monotonic source, not a widened assertion.",
"quarantinedAt": "2026-07-30"
},
{
"file": "packages/dashboard/src/__tests__/register-model-routes-kimi-k3-supplemental.test.ts",
"reason": "Real Pi SDK ModelRuntime catalog construction timed out at the 15s test budget in 2/6 sampled loaded CI runs; failing run https://github.com/Runfusion/Fusion/actions/runs/30664201149 and issue https://github.com/Runfusion/Fusion/issues/3245. FN-8647 landed a reusable shared-construction seam without widening timeouts. FN-8669 must obtain an owner budget decision and re-measure CI before the 14-day deletion deadline.",
"quarantinedAt": "2026-08-01"
}
]
}