Files
ytplayer/plans/phase5-plan.md

12 lines
2.1 KiB
Markdown

# Phase 5 plan
Start at Phase 4 f133e1b on codex/phase5. No new product features.
1. Audit perf/baseline.mjs against the original five-run configuration; retain all browser/profile combinations and cold/warm/offline/core-JS/CSS scenarios, plus the existing presenter-chunk update. Measure a genuinely warmed reload and complete CSS background download; preserve readiness measurements separately and document changed boundaries. Extend harness assertions before changing measurement behavior.
2. Run frontend and isolated server suites, hidden-timers, Chromium/WebKit lazy and seam smoke tests, and b77938a migration with unthrottled and lossy/stalling proxies. Preserve previous phase results. Fix only demonstrated product regressions, individually committed with tests.
3. Run the isolated full harness: --runs 5 --browser all --profile all --scenario all --out perf/results/final-2026-10-08.json. Compare actual requests, compressed wire bytes, FCP/LCP, boot and Chromium long tasks with baseline and after-phase0. Target CSS update <30 KB; only changed application payload for feature/core updates; report unmet targets plainly.
4. Write plans/perf-final.md with actual command excerpts, measurement limitations, phase contributions and remaining render/thumbnail/SPA hot spots. Write plans/rollout.md with separate Phase 1 then 2 then 3 then 4 deployment order, checks and rollback instructions. No deployment or production requests here.
5. Review the entire phase diff against master sections 5/6/6b, commit a <=350-word phase5-report.md, and overwrite the queue signal with DONE05 and the final commit.
Risks: browser CPU noise, incomplete idle warm contaminating counters, historical readiness vs complete-download boundaries, Linux WebKit differing from iPhone, and missing real-device battery/audio evidence. Do not alter playback or the banner rule. Rollback product changes by reverting their individual commits; operational ASSET_HASHING=0 and ASSET_SYNC=0 require server restart and a user-initiated update. No generic lazy-feature flag exists; revert the applicable phase for loader rollback.