Record post-crash phase 6 verification
This commit is contained in:
7441
perf/results/phase6-cold-smoke-2026-10-09.json
Normal file
7441
perf/results/phase6-cold-smoke-2026-10-09.json
Normal file
File diff suppressed because it is too large
Load Diff
135
perf/results/phase6-hashing-rollback-2026-10-09.json
Normal file
135
perf/results/phase6-hashing-rollback-2026-10-09.json
Normal 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
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
97
perf/results/phase6-lazy-2026-10-09.json
Normal file
97
perf/results/phase6-lazy-2026-10-09.json
Normal 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
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
41
perf/results/phase6-migration-lossy-2026-10-09.json
Normal file
41
perf/results/phase6-migration-lossy-2026-10-09.json
Normal 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
|
||||
}
|
||||
]
|
||||
}
|
||||
41
perf/results/phase6-migration-unthrottled-2026-10-09.json
Normal file
41
perf/results/phase6-migration-unthrottled-2026-10-09.json
Normal 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
|
||||
}
|
||||
]
|
||||
}
|
||||
28
perf/results/phase6-seams-2026-10-09.json
Normal file
28
perf/results/phase6-seams-2026-10-09.json
Normal 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": []
|
||||
}
|
||||
]
|
||||
135
perf/results/phase6-sync-rollback-2026-10-09.json
Normal file
135
perf/results/phase6-sync-rollback-2026-10-09.json
Normal 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
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user