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

47 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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