Files
ytplayer/plans/phase6-report.md
2026-10-09 14:35:51 +08:00

2.5 KiB
Raw Blame History

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, 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.