# Phase 7.4 — asset weight budget Measured 2026-10-26 on `.13` with `stat -c%s` and `gzip -9`. Every number below is a measurement of a file that is in this repository, not an estimate. ## What is in the assets directory | Group | Files | Raw | Gzip (`-9`) | |---|---|---|---| | Diagrams (`diagrams/*.svg`) | 8 | 51,729 B | 8,943 B | | Code exhibits (`code/*.as`, `.js`, `.php`, `.ts`, `.hpp`, `.nix`) | 6 | 8,161 B | 2,989 B | | Client wall data (`logos/clients.yaml`) | 1 | 3,912 B | 1,288 B | | **Served payload total** | **15** | **63,802 B** | **13,220 B** | | Manifests and READMEs (build-time only, never served) | 5 | 15,955 B | — | ## Per-asset | File | Raw | Gzip | |---|---|---| | `diagrams/01-homelab-topology.svg` | 7,079 | 2,169 | | `diagrams/02-agent-architecture.svg` | 6,027 | 1,971 | | `diagrams/03-rag-pipeline.svg` | 7,010 | 2,043 | | `diagrams/04-edge-architecture.svg` | 6,896 | 2,163 | | `diagrams/05-distributed-audio.svg` | 6,833 | 1,997 | | `diagrams/06-media-pipeline.svg` | 5,694 | 1,718 | | `diagrams/07-cost-resource-engineering.svg` | 6,151 | 2,023 | | `diagrams/08-era-timeline.svg` | 6,039 | 1,930 | | `code/01-actionscript-class.as` | 958 | 495 | | `code/02-js-easing-core.js` | 1,848 | 584 | | `code/03-php-encode-op.php` | 2,295 | 765 | | `code/04-typescript-service-layer.ts` | 1,078 | 482 | | `code/05-embedded-cpp-interface.hpp` | 788 | 419 | | `code/06-nix-derivation.nix` | 1,194 | 724 | Rasters: **zero.** There are no PNG, JPEG, WebP or font files in this phase. That is a design outcome, not an oversight — every diagram is text-based SVG and every code exhibit is text, so the "optimise every image" requirement has no image to optimise yet. Phase 7.4 screenshots are deferred (see below). ## The budget | Rule | Limit | Worst case today | |---|---|---| | Any single diagram | ≤ 7.5 KB raw / ≤ 2.5 KB gzip | 7,079 B / 2,169 B | | Any single code exhibit | ≤ 3 KB raw / ≤ 1 KB gzip | 2,295 B / 765 B | | Diagrams on one page | ≤ 2 | 2 (14.1 KB raw) | | Asset payload per page, gzipped | ≤ 12 KB | 4.3 KB (two diagrams + one exhibit) | | Web fonts | 0 | 0 — system font stack only | | JS required by any asset | 0 | 0 — SVG carries its own palette | Worst realistic page: an L2 page with two diagrams and one code exhibit is 14,089 B raw, about **4.3 KB over the wire** after gzip and before the HTML, CSS and template overhead. The whole 15-file asset set is 13.2 KB gzipped, so even a page that loaded every one of them would stay inside a single small image's budget. ## What is not yet measured, and why | Item | Status | Why | |---|---|---| | Full page weight (HTML + CSS + assets) | **not measured** | No page exists yet: Phase 2 owns the templates | | Lighthouse ≥ 95 / 95 | **not measured** | Needs a rendered page (Phase 2) served behind the edge (Phase 3). Nothing in this phase can stand in for it | | Screenshots and recordings (7.4) | **deferred** | The agent console is Phase 5 and the TUIOS fleet session has to be real work, not staged. Recording a console that does not exist would be a fabrication | | Home Assistant / Snapcast stills | **deferred** | Same reason: needs a live system and a judgement about whether a still adds what diagram 4 and diagram 5 already show | These are recorded as open rather than asserted. DoD items 4 and 5 cannot be closed until Phase 2 and Phase 3 produce a page to measure, and the measurement must be taken by whoever holds that page.