test(gate): politica de flakies firmada — presupuestos explicitos en el proyecto server

Los 4 flaky del handoff eran UNA clase: los defaults de vitest (5s test /
10s hook, no configurados en ningun sitio) midiendo el coste de
transform/import bajo carga paralela (5210s agregados vs ~1s en solitario,
medido), no la lentitud del test. El rojo de orca era el hook beforeEach
muriendo en un await import a los 10s; cookie-adapter no tiene ni un timer.
testTimeout/hookTimeout 30_000 con acta en vite.config.ts: un assert falso
sigue cayendo al instante y los candados anti-cuelgue conservan sus 5s
explicitos (component-guide A36). Con esto se arma el hook pre-push.

Hallazgo residual (clase NUEVA, adjudicacion aparte): gesture.test.ts
rotate detent es un assert sensible a carga (90 vs 270 — projectAngle come
velocidad de timestamps reales); verde x2 en solitario. Exactamente la
clase que retry:1 habria enmascarado.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
alpha-0.1-background
dev 1 month ago
parent 4610781381
commit d09c4919cc

@ -100,6 +100,16 @@ export default defineConfig({
test: {
name: 'server',
environment: 'node',
// Signed flaky policy (P0 gate, 2026-08-26): explicit wall-clock
// budgets instead of the vitest defaults (5s test / 10s hook).
// Under a full parallel run these limits measure transform/import
// cost, not test slowness (measured: 5210s aggregate import under
// load vs ~1s solitary — orca's beforeEach import, cookie-adapter,
// soma-attr-audit, recipe-css-contract all timed out as "flaky").
// A failing assert still fails instantly; hang-lock tests keep
// their explicit short per-test timeouts (component-guide §A36).
testTimeout: 30_000,
hookTimeout: 30_000,
include: ['src/**/*.{test,spec}.{js,ts}'],
exclude: ['src/**/*.svelte.{test,spec}.{js,ts}']
}

Loading…
Cancel
Save

Powered by TurnKey Linux.