Files
tech-log-frontend/docs/operations/performance-evidence.md
T

1.3 KiB

Performance evidence contract

Performance evidence is deliberately split by measurement context:

  • bundle.json records production build output and enforces initial JavaScript at 200 KiB gzip and every lazy chunk at 120 KiB gzip.
  • lab.json records Chromium/runner/viewport/network/CPU/cache/build context and enforces LCP 2.5 s, CLS 0.10, and the named route interaction at 200 ms.
  • field-web-vitals.json records consent-filtered, route-ID aggregated, release-specific production samples over 28 days and evaluates p75 LCP, CLS, and INP against 2.5 s, 0.10, and 200 ms.

The field minimum eligible-sample threshold is intentionally unresolved until a privacy-approved telemetry baseline exists. Therefore the field command fails closed with FAIL_UNVERIFIED when run against the example input. Provide FIELD_WEB_VITALS_INPUT and MIN_ELIGIBLE_SAMPLES only after that decision is recorded. The external input must identify a production release and an exact 28-day export window, name the source/export, carry privacy-approval and threshold-decision references, and contain only non-negative route-ID samples. The environment threshold must be a positive integer equal to the approved decision embedded in the input. Invalid metadata fails as FAIL_UNVERIFIED; the example can never serve as production evidence.