# 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: ```sh 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: ```text ℹ 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.