23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# 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.
|