# Phase 6 report Tested `4b1f520`, from Phase 5 `21c1273`. Adjacent-commit measurements isolate `5d6a154`: WebKit/LTE FCP 1032→1615 ms. Its selected classic CSS arrived late (1540–1711 ms); worker installation started after paint. Fonts matched their preloads. Default/force-cache and HTTP-cache handoff trials still transferred app.js twice. Shipped early classic style discovery (`e7a7cdc`), a single verified page-owned WebKit response and specific CSP hash (`a86fa1c`, refined through `9408ee0`), worker-owned stale-core contract protection (`97eb31e`), and native parser boot with low-priority app preloading (`4b1f520`). The loader shares the existing final core script; core contract 2 prevents unsafe old packing fallback. app.js, playback and sw-update.js are unchanged. Five-run final medians: | Engine/profile | Phase 5→6 FCP ms | Phase 5→6 cold bytes | app bodies | |---|---:|---:|---:| | WebKit/LTE | 1739→905 | 1097048→983326 | 2→1 | | WebKit/lossy | 4303→2748 | 1105402→990152 | 2→1 | | Chromium/LTE | 1356→1388 | 651012→653267 | 1→1 | | Chromium/lossy | 2052→1976 | 651096→653267 | 1→1 | WebKit paint, one-body and below-baseline wire targets pass (−16.6%/−16.1% versus original wire baseline). Phase 2 measured 1044/4045 ms over three runs. Strict zero regression is **not achieved**: Chrome/LTE FCP +32 ms, cold bytes +0.35%, long tasks 278→304 ms; warm boots Chrome 410/403→418/442 and WebKit 83/85→88/89 ms. Metadata adds ~0.4 KB per core update. Added loader/security work has a cost; complete timing attribution remains unproved. Contemporary Phase 5 controls and all offline/update deltas appear in [phase6-verification.md](phase6-verification.md), with actual command excerpts. Chromium cold boot improves 7043/11342→6478/10314 ms. Migration passes both engines with/without stalls; banner once, explicit legacy refresh, old URLs, N-1, offline and playback guards. Lazy/layout/feature seams, hidden timers, both rollback modes, 223 frontend/184 server/3 measurement tests pass. No fonts/icons re-downloaded. ASSET_HASHING=0 and ASSET_SYNC=0 remain. Real iPhone install/update, quota pressure and 30-minute locked-screen audio require owner checks. The historical fixture measures home launch, not autoplay. Post-crash verification retained in `6f0235f`: both-engine migrations, offline layouts/features, rollback and cold smoke pass. WebKit smoke FCP 1253/2881 ms (LTE/lossy), one app response each. Durable five-run results remain authoritative.