2.1 KiB
Phase 5 report
Measured Phase 4 f133e1b on codex/phase5. Plan ce5a159; measurement correction a08d363. Product frontend/server bytes are unchanged (served base build c3dbdd7039db).
The full harness completed 120 runs: five samples × six scenarios × Chromium/WebKit × LTE/lossy. Evidence: perf/results/final-2026-10-08.json; full before/after tables and command excerpts in plans/perf-final.md. Warm counters now start after verified idle caching; CSS totals include the changed background stylesheet, with blocking readiness retained separately. Assertions reject unrelated application/font/icon downloads.
Chromium LTE vs after-phase0: cold 1,040,158→651,012 bytes, 166→115 requests; boot 10,480→7,043 ms; long tasks 454→278 ms. WebKit LTE boot 3,290→2,315 ms, but FCP regressed 1,100→1,739 ms. Core edits transfer 125,795/147,259 bytes (Chromium/WebKit); presenter edits 33,408/43,318 bytes on LTE, including overhead. Complete CSS updates cost 35,363/45,659 bytes: <30 KB fails. WebKit still downloads app.js twice on first install. These targets remain unmet.
Verification: 198 frontend, 183 server and two measurement tests pass; hidden timers, both-engine lazy/seam offline smoke, playback guard and b77938a migration with/without stalling pass. Migration: one user-initiated reload/banner, 122 shell entries, 21 legacy URL checks, open-old-tab and offline compatibility. No product regression fix was committed.
Self-review against master §6/6b preserved banner/hash rules, migration, pinned contracts, caches and playback. No push/deploy/production request. Rollout order and rollback commands are in plans/rollout.md; generic lazy feature flags do not exist.
Limitations: the historical 12-character benchmedia01 fixture is rejected as a media ID, so these runs prove home launch, not playing-ready. Nested SPA relative assets remain a pre-existing defect. Large-list rendering and the 25,000-thumbnail quota risk remain. Real-iPhone installed/offline/update behavior, 30-minute locked audio, battery, interruptions and OPFS quota checks are still required. Numerical acceptance is not fully met; report failures before rollout.