2.4 KiB
Phase 4 report
Shipped on codex/phase4: plan cdd26b6; six seams 3c9a24a, 5fb9564,
8e7fa19, 94ea211, 0475a18, b335f95; failure handling 2c50035.
Scope-resolved dependency inventory and byte/coupling rankings are in
phase4-seams.md; commands, output excerpts and results in phase4-verification.md.
Original source bytes moved:
| Seam | Bytes |
|---|---|
| Eager shell/shared views/Settings/rail | 98,378 |
| Presenter | 9,492 |
| Remote client | 30,421 |
| Watch party | 22,833 |
| Share/External | 13,334 |
| Stats view | 7,074 |
app.js: 587,029 → 408,473 bytes, −30.42% (178,556 net; 2,976 bytes
facade overhead). Shell definitions load before app; required eager features
stay in RAM. Lazy classic clients register on window.YT. Synchronous playback
hooks remain synchronous; configured/URL sessions resume. Stats tracking loads
without parsing its view. New chunks are manifested and retained in legacy SHELL.
Player, queue, persistence, boot, Notes/editor, service mode, EQ/level, sleep/drift, Gestures and remaining editor/export glue stay in app.js. Exact source fingerprints protect playback/tracking bodies. Now-playing metadata mutations inside Player remain there; markup, action paint and mini bar are eager. Stateful groups remain pinned; live replacement stays disabled without disposal/state handoff.
Actual LTE measurements, Chromium/WebKit: initial compressed JS/CSS 210,419/255,200 versus Phase 3 221,307/274,813; matched Phase 0 276,414/338,940. Isolated three-run Chromium median boot 7,010 ms, long tasks 275 ms versus Phase 0 10,480/454 (Phase 3 7,193/287). WebKit boot 2,977 ms; no long-task API. Presenter edit transfers only its chunk (3,118/3,587 bytes), plus index/manifest/worker checks: total 33,408/41,364. Core updates: 125,795/147,259 bytes. Offline boot: 180/90 ms, zero network.
Verification: 198 frontend/183 server tests, no skips; both-engine cache smoke,
hidden timers, layouts/staged contracts/pinning/playback guard, b77938a migration
with/without stalls, and both rollback flags pass. Each seam had its own green
checks/commit. No deployment.
Limits: WebKit FCP 2,401 versus Phase 0 1,100 ms still regresses. Concurrent-run Chromium long tasks were 495 ms; isolated repeat is reported separately. Warm counters include idle downloads; five-run comparisons await Phase 5. Owner must check real-iPhone cached first-use/layouts, Remote/Party/Presenter, update guard, 30-minute locked audio/resume and OPFS quota coexistence.