QC Master Test Plan
Performance checks
Performance checks — documentation pending.
Complete
Performance QC verifies that every public route meets the documented Core Web Vitals budget: LCP ≤2.5s, FID ≤100ms (or INP ≤200ms), CLS ≤0.1. Plus three platform-specific budgets: SSR TTFB ≤800ms, initial JS bundle ≤512KB (current is at 893KB — flagged), and hydration mismatch count = 0.
Per-route performance checklist
- LCP element identifiable + ≤2.5s on 3G Fast simulation. Above-the-fold images use proper width/height + native lazy + fetchpriority="high" on hero.
- CLS ≤0.1 — no layout shift after first paint. Reserved space for images, ads, sponsor mini-rows. Font-loading uses font-display:swap with fallback metric overrides to prevent shift.
- No long tasks >50ms on the main thread during initial render. Heavy work (search index init, mock data merge) is deferred to idle callback or worker.
- SSR TTFB ≤800ms on the canonical hosting tier. Per-route SSR cost is logged + alarmed when crossing the budget.
- Bundle budget warnings (currently 381KB over the 512KB initial budget) are tracked + each PR’s contribution is reviewed. New lazy chunks count as additions, not subtractions.
- No hydration mismatches in console under SSR — every component renders identically server-side and client-side on first render.
- Image weights: cover images <100KB after AVIF/WebP compression. SVG fallbacks <5KB.
