The release gate enforces byte ceilings over the generated GitHub Pages artifact. These budgets prevent accidental transfer growth without pretending that local byte counts are real-user latency measurements.
| Surface | Budget |
|---|---|
Complete _site artifact |
8 MiB |
First-party CSS under _site/assets |
96 KiB |
First-party JavaScript under _site/assets |
128 KiB |
| Largest generated HTML document | 192 KiB |
Pagefind output and publication data remain inside the complete-artifact budget. CSS and JavaScript generated by Pagefind are excluded from the first-party subtotals because they are separately bounded by the complete artifact.
Build before checking:
npm run build
npm run test:performancenpm run check runs the same gate automatically. If a budget fails, reduce the generated output or revise the limit with measured evidence and an explicit explanation. Do not replace the check with a non-failing placeholder. Browser timings, field data, and performance regressions caused by external delivery remain hmmm until a reproducible measurement surface is selected.