Aegis case study · build and verification record
Evidence appendix for /aegis.html · revision rounds 2–4 · 2026-08-10
Build record
$ npm run build # node scripts/build-pages.mjs && tsc && vite build dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 48.25 kB dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 85.06 kB dist/assets/main-DENOFgpZ.css 50.66 kB │ gzip: 10.41 kB dist/assets/main-vvVZQHuN.js 94.53 kB │ gzip: 67.02 kB ✓ built in 257ms EXIT: 0
Forbidden-name grep
$ grep -ric "$RETIRED_NAME" content/aegis.html dist/aegis.html content/aegis.html:0 dist/aegis.html:0
Page weight
| File | Size | Note |
|---|---|---|
| aegis.html (built) | 47.4 KB | hard gate ≤ 200 KB · all imagery external under /img/aegis/ |
| A2 relay video | 2560×1440 · webm 1.24 MB · mp4 1.30 MB · 4.2 s | ≤ 1.5 MB each · reduced-motion still swaps in via CSS media query |
| A4 sign-gate video | 2560×1440 · mp4 1.39 MB · 9.4 s | full Claim→Acknowledge→Accept→Sign→freeze pass · mp4 only: the VP9 encode lands at 2.3 MB, past the cap, so it was dropped |
| A5 calm-motion video | 2560×1440 · webm 778 KB · mp4 936 KB · 4.8 s | true cold load, recorded through a live reload |
| A6 hotspot video | 2560×1440 · webm 732 KB · mp4 671 KB · 5.0 s | hover → zoom → popover with the see A&P cross-reference |
GPU tier self-benchmark (__eyePerf.dump)
Each tier forced via its sessionStorage cache, then measured after boot on the same machine. 16.7 ms = 60 fps frame budget.
| Tier | p50 | p95 | max | slow frames | build ms |
|---|---|---|---|---|---|
| a · full transmission rig | 16.7 ms | 16.9 ms | 54.5 ms | 1 | 93.8 |
| b · Phong cornea, dpr ≤ 1.5 | 16.7 ms | 17.3 ms | 40.2 ms | 1 | 52.3 |
| c · tier b + dpr ≤ 1.25 | 16.7 ms | 17.3 ms | 24.9 ms | 0 | 47.7 |
Full-page renders


Deviation list (round 2, vs the revision prompt)
- Video replaces GIF for A2/A4/A5/A6: webm + mp4 with a CSS-only reduced-motion still, as the prompt directs. Recorded from the bundled copy at
/aegis/demo.htmlbecause the 4184 preview server had already died; the build output is identical. - A2 still shows the handed-off state: frame zero carries no evidence of the relay, so the swap image shows the header holding identity mid-scroll.
- Videos play once, not on loop: round 3 review ruled the loop attribute against the page’s own motion charter. Clips now play on viewport entry, pause off-screen, and end on a Replay control; A5/A6 were re-recorded to 4.7 s and 5.0 s, inside the original caps.
- §8 copy corrected per prompt: “14 text styles” → “17 text styles”, and “8 iterations including two human hand-tuned passes” → “six system frames and two hand-tuned passes”. Both figures are countable on A9/A10 and labeled measured, in-file.
- A11 ships three generations: the first-generation grey ball frame still needs the conversation screenshot from He Zhu. The assertion excerpt is typeset as HTML beside the filmstrip instead of being baked into a caption image.
- A7 remains unannotated: the labeled overlay (rectus clusters, clear zone, feeder corridor) is design work still to do.
- A8 shipped as a live HTML card: the prompt’s “typeset from §7 copy” is implemented as the panel-log component, which stays selectable text and follows both themes.
- Review round 1 scope note: the base64-inline images and absolute demo URL flagged by the external review belong to the standalone single-file share artifact. The site page has always served external
/img/aegis/assets and a relative demo link; AVIF sources were the one genuine gap and are now in place. - Build record as terminal text: the output above is the verbatim record.
Remaining gaps
- A11 first-generation frame + assertion-table screenshot from the original build conversation (needs material from He Zhu).
- A7 annotated overlay.
- A9 board title still reads “Calm Clinical v2” (the Figma collection name); re-export with a neutral title to avoid version confusion beside the V8 filmstrip.
- Production deploy: this record covers the local build; visionfolio.me still serves the pre-rebuild page until dist/ ships.