{"id":656,"slug":"inp-150ms-target-not-200ms-floor","title":"Candid build standard: INP ≤ 150ms target (200ms is the failing floor); LCP ≤ 2.0s; CLS ≤ 0.05","kind":"rule","scope":"business","status":"current","audiences":["claude-code","candid-team"],"topics":["core-web-vitals","inp-optimization"],"reference_body":"**Rule:** Set internal performance budgets above Google's \"Good\" thresholds:\n\n- **LCP ≤ 2.0s** (don't aim for 2.5s — that's the failing threshold)\n- **INP ≤ 150ms** (200ms is \"Good\", so aim 50ms inside)\n- **CLS ≤ 0.05**\n\nFail the build (or at least warn loudly) when Lighthouse-CI exceeds any of these on a representative page. See [[rule-enforce-performance-budgets-in-ci]] (existing entry).\n\n**Why:** INP is the metric most KW competitors are failing. Per the HTTP Archive 2025 Web Almanac: *\"In June 2025, 77% of pages achieved good Interaction to Next Paint (INP) scores\"* — meaning 23% still fail. For a KW SMB-focused agency, INP is where the page-speed moat lives because most local agencies don't yet measure it. See also [[inp-killers-catalogue]] (existing entry).\n\n**How to apply:** every new Astro/Next.js starter has Lighthouse-CI configured at these thresholds. Real-user monitoring via `web-vitals` library reports INP at p75; alert when a deployed page exceeds budget for 3 consecutive measurement windows.","rationale_body":null,"metadata":null,"links":{"outgoing":[{"slug":"inp-replaced-fid-march-2024","title":"INP officially replaced FID as a Core Web Vital on March 12, 2024","kind":"reference","scope":"business","link_type":"depends-on"},{"slug":"inp-killers-catalogue","title":"Reference: the 8 most common INP killers — ranked by observed frequency","kind":"reference","scope":"business","link_type":"relates-to"},{"slug":"2026-performance-budget-smb-site","title":"Reference: 2026 performance budget — SMB marketing site (Candid default targets)","kind":"reference","scope":"business","link_type":"relates-to"},{"slug":"rule-enforce-performance-budgets-in-ci","title":"RULE: Performance budgets enforced in CI. Build fails on budget violation. Documented budgets without CI enforcement do not work.","kind":"rule","scope":"business","link_type":"relates-to"}],"incoming":[{"slug":"scheduler-yield-limited-baseline-may-2026","title":"scheduler.yield() is Limited Availability — Chrome 129+, Edge, Firefox; Safari has not shipped. Use scheduler-polyfill.","kind":"reference","scope":"business","link_type":"relates-to"}]},"created_at":"2026-05-22T21:24:18.317Z","updated_at":"2026-05-22T21:24:18.317Z"}