Record post-crash phase 6 verification

This commit is contained in:
Jonathan Sykes
2026-10-09 14:34:59 +08:00
parent 71608c2ce8
commit 6f0235f506
8 changed files with 7967 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,135 @@
{
"date": "2026-10-09T01:16:09.809Z",
"frontendCommit": null,
"sourceRoot": null,
"sourceCommit": "71608c2ce81207ca21c8adbc49edbc2893f5170e",
"frontendBuildTag": "bb9fea44045d",
"commit": "71608c2ce81207ca21c8adbc49edbc2893f5170e",
"runsConfigured": 1,
"browsers": {
"chromium": {
"lte": {
"offline": {
"requestCount": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"wireBytes": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"fcp": {
"median": 108,
"min": 108,
"max": 108,
"values": [
108
]
},
"lcp": {
"median": 108,
"min": 108,
"max": 108,
"values": [
108
]
},
"domContentLoaded": {
"median": 345,
"min": 345,
"max": 345,
"values": [
345
]
},
"bootDone": {
"median": 353,
"min": 353,
"max": 353,
"values": [
353
]
},
"reloadDuration": {
"median": 401,
"min": 401,
"max": 401,
"values": [
401
]
}
}
}
},
"webkit": {
"lte": {
"offline": {
"requestCount": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"wireBytes": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"fcp": {
"median": 127,
"min": 127,
"max": 127,
"values": [
127
]
},
"lcp": {
"median": 184,
"min": 184,
"max": 184,
"values": [
184
]
},
"domContentLoaded": {
"median": 180,
"min": 180,
"max": 180,
"values": [
180
]
},
"bootDone": {
"median": 187,
"min": 187,
"max": 187,
"values": [
187
]
},
"reloadDuration": {
"median": 213,
"min": 213,
"max": 213,
"values": [
213
]
}
}
}
}
}
}

View File

@@ -0,0 +1,97 @@
{
"results": [
{
"browser": "chromium",
"sourceBuildTag": "31617662d2f0",
"classicSharedDefaults": true,
"cssOrderPreserved": true,
"settingsSearch": true,
"carControls": 4,
"offlineFeature": true,
"firstUseNetwork": 0,
"layoutsOffline": [
"glass-stage",
"bento-hub",
"f7-swipe",
"classic"
],
"pinned": true,
"compatibleUnexecutedNewURL": true,
"incompatibleN1ReloadRequired": true,
"stagedN1": true,
"appEvictionN1Offline": true,
"playbackGuard": true,
"prePaintLayout": true,
"offlineSettingsPanels": true,
"scriptErrors": [],
"offlineTransportErrors": []
},
{
"browser": "webkit",
"sourceBuildTag": "31617662d2f0",
"classicSharedDefaults": true,
"cssOrderPreserved": true,
"settingsSearch": true,
"carControls": 4,
"offlineFeature": true,
"firstUseNetwork": 0,
"layoutsOffline": [
"glass-stage",
"bento-hub",
"f7-swipe",
"classic"
],
"pinned": true,
"compatibleUnexecutedNewURL": true,
"incompatibleN1ReloadRequired": true,
"stagedN1": true,
"appEvictionN1Offline": true,
"playbackGuard": true,
"prePaintLayout": true,
"offlineSettingsPanels": true,
"scriptErrors": [],
"offlineTransportErrors": [
{
"message": "TypeError: Load failed",
"disconnected": true
},
{
"message": "/127.0.0.1:38297/api/version.",
"disconnected": true
},
{
"message": "TypeError: Load failed",
"disconnected": true
},
{
"message": "/127.0.0.1:38297/api/recommendations?fp=163577c02a53bc40.",
"disconnected": true
},
{
"message": "TypeError: Load failed",
"disconnected": true
},
{
"message": "/127.0.0.1:38297/api/version.",
"disconnected": true
},
{
"message": "TypeError: Load failed",
"disconnected": true
},
{
"message": "/127.0.0.1:38297/api/recommendations?fp=163577c02a53bc40.",
"disconnected": true
},
{
"message": "TypeError: Load failed",
"disconnected": true
},
{
"message": "/127.0.0.1:38297/api/version.",
"disconnected": true
}
]
}
]
}

View File

@@ -0,0 +1,41 @@
{
"commit": "b77938a",
"results": [
{
"browser": "chromium",
"oldTag": "1175f1a1d2c1",
"newTag": "31617662d2f0",
"banners": 1,
"updateReloads": 1,
"cachedFiles": 122,
"durationMs": 27355,
"wireBytes": 631091,
"offline": true,
"legacyURLs": 21,
"profile": "lossy",
"userInitiatedOnly": true,
"playbackGuard": true,
"evictionRepair": true,
"incrementalRefresh": true,
"offlineTransportErrors": 0
},
{
"browser": "webkit",
"oldTag": "1175f1a1d2c1",
"newTag": "31617662d2f0",
"banners": 1,
"updateReloads": 1,
"cachedFiles": 122,
"durationMs": 24426,
"wireBytes": 730395,
"offline": true,
"legacyURLs": 21,
"profile": "lossy",
"userInitiatedOnly": true,
"playbackGuard": true,
"evictionRepair": true,
"incrementalRefresh": true,
"offlineTransportErrors": 4
}
]
}

View File

@@ -0,0 +1,41 @@
{
"commit": "b77938a",
"results": [
{
"browser": "chromium",
"oldTag": "1175f1a1d2c1",
"newTag": "31617662d2f0",
"banners": 1,
"updateReloads": 1,
"cachedFiles": 122,
"durationMs": 13290,
"wireBytes": 640960,
"offline": true,
"legacyURLs": 21,
"profile": "unthrottled",
"userInitiatedOnly": true,
"playbackGuard": true,
"evictionRepair": true,
"incrementalRefresh": true,
"offlineTransportErrors": 0
},
{
"browser": "webkit",
"oldTag": "1175f1a1d2c1",
"newTag": "31617662d2f0",
"banners": 1,
"updateReloads": 1,
"cachedFiles": 122,
"durationMs": 11711,
"wireBytes": 766828,
"offline": true,
"legacyURLs": 21,
"profile": "unthrottled",
"userInitiatedOnly": true,
"playbackGuard": true,
"evictionRepair": true,
"incrementalRefresh": true,
"offlineTransportErrors": 4
}
]
}

View File

@@ -0,0 +1,28 @@
[
{
"browser": "chromium",
"checked": [
"shell",
"presenter",
"remote",
"party",
"share",
"stats"
],
"offlineNetworkRequests": 0,
"errors": []
},
{
"browser": "webkit",
"checked": [
"shell",
"presenter",
"remote",
"party",
"share",
"stats"
],
"offlineNetworkRequests": 0,
"errors": []
}
]

View File

@@ -0,0 +1,135 @@
{
"date": "2026-10-09T01:15:49.802Z",
"frontendCommit": null,
"sourceRoot": null,
"sourceCommit": "71608c2ce81207ca21c8adbc49edbc2893f5170e",
"frontendBuildTag": "2bf76ad9d08e",
"commit": "71608c2ce81207ca21c8adbc49edbc2893f5170e",
"runsConfigured": 1,
"browsers": {
"chromium": {
"lte": {
"offline": {
"requestCount": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"wireBytes": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"fcp": {
"median": 88,
"min": 88,
"max": 88,
"values": [
88
]
},
"lcp": {
"median": 88,
"min": 88,
"max": 88,
"values": [
88
]
},
"domContentLoaded": {
"median": 299,
"min": 299,
"max": 299,
"values": [
299
]
},
"bootDone": {
"median": 305,
"min": 305,
"max": 305,
"values": [
305
]
},
"reloadDuration": {
"median": 349,
"min": 349,
"max": 349,
"values": [
349
]
}
}
}
},
"webkit": {
"lte": {
"offline": {
"requestCount": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"wireBytes": {
"median": 0,
"min": 0,
"max": 0,
"values": [
0
]
},
"fcp": {
"median": 164,
"min": 164,
"max": 164,
"values": [
164
]
},
"lcp": {
"median": 253,
"min": 253,
"max": 253,
"values": [
253
]
},
"domContentLoaded": {
"median": 241,
"min": 241,
"max": 241,
"values": [
241
]
},
"bootDone": {
"median": 256,
"min": 256,
"max": 256,
"values": [
256
]
},
"reloadDuration": {
"median": 299,
"min": 299,
"max": 299,
"values": [
299
]
}
}
}
}
}
}

View File

@@ -168,3 +168,52 @@ Cache responses are exact-key checked; stale bodies under a new URL are no-store
and carry no decoded transport encoding. Core contract 2 blocks loader-free N-1
packing, while same-contract app fallback and executed feature pinning remain
covered by both-engine smoke. Failed quota writes never delete saved music.
## Post-crash completion — 2026-10-09
Resumed from ff3f934 on codex/phase6. Commit 71608c2 clarifies the diagnostic
waterfall provenance; product code and served build 31617662d2f0 are unchanged.
The durable five-run/120-sample final measurements above were preserved.
Reinstalled Playwright browsers passed fresh compatibility checks:
```sh
node perf/migration.mjs --browser all --profile unthrottled --out perf/results/phase6-migration-unthrottled-2026-10-09.json
node perf/migration.mjs --browser all --profile lossy --out perf/results/phase6-migration-lossy-2026-10-09.json
node perf/hidden-timers.mjs
node perf/lazy.mjs --browser all --out perf/results/phase6-lazy-2026-10-09.json
node perf/seams.mjs --browser all
ASSET_SYNC=0 node perf/baseline.mjs --runs 1 --browser all --profile lte --scenario offline --out perf/results/phase6-sync-rollback-2026-10-09.json
ASSET_HASHING=0 node perf/baseline.mjs --runs 1 --browser all --profile lte --scenario offline --out perf/results/phase6-hashing-rollback-2026-10-09.json
node --test frontend/*.test.js
node --test perf/measurement.test.mjs
(cd server && bun install && PATH="$PWD/../perf/.tmp/test-venv/bin:$PATH" bun run test)
```
Fresh output excerpts (all commands exited successfully):
```text
Migration unthrottled: chromium durationMs=13290; webkit durationMs=11711
Migration lossy: chromium durationMs=27355; webkit durationMs=24426
All four: banners=1 updateReloads=1 cachedFiles=122 legacyURLs=21
All four: userInitiatedOnly=true offline=true playbackGuard=true evictionRepair=true incrementalRefresh=true
Hidden timers: Page errors: none; Result: ALL ASSERTIONS PASSED
Lazy: chromium PASS; webkit PASS
Seams: chromium and webkit checked=[shell,presenter,remote,party,share,stats] offlineNetworkRequests=0 errors=[]
Both rollback flags, both engines: requestCount=0 wireBytes=0
Frontend: tests 223; pass 223; fail 0; skipped 0
Measurement: tests 3; pass 3; fail 0
Server: per-file totals 184 pass; 0 fail
```
The seam output is saved as phase6-seams-2026-10-09.json; the historical Phase 4
result was restored. Offline API transport errors remain distinguished from
script failures. No playback or sw-update.js changes were added. bun.lock is
excluded from commits.
Post-crash cold smoke command:
```sh
node perf/baseline.mjs --runs 1 --browser webkit --profile all --scenario cold --assert-cold --out perf/results/phase6-cold-smoke-2026-10-09.json
```
LTE/lossy FCP was 1253/2881 ms, wire 983326/990152 bytes; both samples passed exactly one positive-byte app.js response. These single-run rechecks do not replace the durable five-run medians.