1// Thresholds are Google's "Poor" band (https://web.dev/articles/vitals): LCP p75 > 2500ms, INP > 200ms, CLS > 0.1.2// When Speed Insights isn't wired up the metrics come back empty and the gate is a no-op.3import { withRouteShapeWarnings } from '../route-normalize.mjs';45export const metadata = {6 id: 'cwv_poor',7 threshold: 'LCP p75>2500 OR INP p75>200 OR CLS p75>0.1, AND speed_insights count > 50',8 billingDimension: 'speed-insights',9 scope: 'route',10
12 'Routes where Core Web Vitals fall into Google\'s "Poor" band on real-user traffic. LCP > 2500ms, INP > 200ms, or CLS > 0.1 each hurt SEO and conversion. Surfaces one candidate per (route, metric) pair to keep recommendations focused.',
50 reason: 'real-user Core Web Vitals in poor band',
51 question: `On ${route}, ${summary}. Which client-side work (bundle weight, blocking scripts, layout shifts, hydration) is responsible, and which change would land first?`,