Status: canonical
Audience: engineering, agents
Purpose: explain current performance gates and target ratchets
Performance budgets live in data/site.config.json and are checked by
scripts/check-performance-budget.js.
Current budgets intentionally match the transition state of the site. They are a guardrail first, not the final goal.
css/style.css bundle remains as a local fallback and migration aid.scripts/optimize-assets.js.1x/2x/3x/4x AVIF/WebP/PNG variants so high-DPI and 4K+
displays stay sharp without loading the original 1 MB master.legacy.css.onclick handlers.| Budget | Current Transition Target | Long-Term Target |
|---|---|---|
| Page CSS | <= 90 KB | <= 40 KB common plus narrow page CSS |
| Per-page HTML | <= 90 KB | <= 30 KB for most pages |
| Per-page JS | <= 50 KB, vendor excluded | <= 25 KB for most pages |
| Nav logo | generated density variants, no raw master refs | <= 25 KB common case |
| Logo video | generated density variants, hover-loaded only | no initial-load video transfer |
| Inline scripts | <= 16 | 0 public inline scripts |
| Inline handlers | <= 116 | 0 inline handlers |
| Inline style blocks | <= 33 | 0 page-level style blocks |
Only lower a budget after the relevant refactor lands and browser smoke testing confirms the page still looks and behaves the same.
images/source/ and production references in
images/generated/.images/logo.png, images/profile.jpg,
images/zen-nature.jpg, images/logo-animated.mp4, or images/source/
from public HTML.images/logo-animated.mp4 and images/source/logo-animated.mp4
protected as source/master assets; production pages should use generated
density variants.