Files
ytplayer/plans/integration-report.md

2.9 KiB
Raw Blame History

Integration verification — 2026-10-09

Merged Phase 6 → hygiene → settings → autosave into codex/integrate; measured 6ae81d1, build 7760d5727244.

Reconciled response capture, contracts/pinning, resumable completion, Save-Data, stale-header sanitization and cache-poisoning tests. Manifest preserves exclusions/direct hashes, CSP hashes and rollback flags. Harness documentation survives.

Executed:

node perf/baseline.mjs --runs 5 --browser all --profile all --scenario all --assert-cold --compare perf/results/final-2026-10-08.json --out perf/results/integration-baseline.json

Five-run medians; Phase 5 → combination. Wire values are bytes.

Engine/profile Cold FCP ms Cold wire B Positive app.js bodies
Chromium LTE 1356 → 1360 651,012 → 663,611 1 × 5
Chromium LOSSY 2052 → 1992 651,096 → 663,611 1 × 5
Webkit LTE 1739 → 895 1,097,048 → 999,794 1 × 5
Webkit LOSSY 4303 → 2744 1,105,402 → 1,006,620 1 × 5
Engine/profile Warm boot ms Offline boot ms Core update B CSS update B Feature update B
Chromium LTE 410 → 395 185 → 236 125795 → 126116 35363 → 43741 33408 → 41769
Chromium LOSSY 403 → 386 189 → 200 125795 → 126116 35363 → 43741 33408 → 41769
Webkit LTE 83 → 83 86 → 78 147259 → 148181 45659 → 57529 43318 → 42636
Webkit LOSSY 85 → 80 81 → 84 147259 → 148181 43705 → 54421 41364 → 42636

All cold samples start worker/background transfers after paint: WebKit/LTE sample paint 936 ms, worker 2,989 ms, background CSS 6,637 ms. Controlled-page resumptions remain event-driven.

CSS overhead includes /sw.js?v=… (9,439 B) and larger sync-core responses. Chromium cold bytes increase ~2%; LTE offline boot increases 51 ms. These costs remain.

Verification Result
Frontend / server / measurement suites 242 / 187 / 3 pass; zero failures
Migration: all engines, lossy + unthrottled pass; one banner/reload, playback guard, offline
Offline-complete: all engines + interruption/Save-Data/two tabs 102/102 runtime files, missing/failures zero
Lazy / hidden timers pass; warmed first-use network zero
UI geometry / icons 384 / 24 cases pass
Autosave / persisted settings Chromium native OPFS pass; both engines preserve 24 keys

Actual output excerpts:

ℹ pass 242
ℹ fail 0
after: 384 cases; 0 failed checks
Result: ALL ASSERTIONS PASSED

Evidence: perf/results/integration-*.json, including commands/exits. Linux WebKit lacks native OPFS; offline tests use the documented proxy workaround. Settings records an existing null-listener error. Expected offline API errors are tolerated; asset failures are not. iPhone checks: OPFS, suspension/resumption, quota/eviction, safe areas, locked-screen audio.