Before repair
Agent-complete
1.5× text makes the page 5px wider than a 360px viewport. The service worker fails in all eight variants.
A real run against an AI-generated page
One deterministic pass found a missing service worker, a text-enlargement overflow, and an oversized initial download. After the repair, every blocking root cause was gone.
Evidence board
Select any matrix cell. Both screenshots and the dimension status update together; the screenshots are copied unchanged from the report.
Before repair
1.5× text makes the page 5px wider than a 360px viewport. The service worker fails in all eight variants.
After repair
The bottom controls wrap inside the viewport. The service worker error is gone. Only the 710KB transfer warning remains.
Selected 360 × 800 · 1.5× text · 34px safe area
Before console_error · text_scale_layout_break · transfer_budget
After transfer_budget only
Root-cause ledger
The Agent summary aggregates repeats across viewports. These are root causes, not eight copies of the same warning.
console_error
Every matrix cell logged a 404 while fetching the service-worker script.
Repair Remove the stale registration and load only the shipped worker.
resolved
text_scale_layout_break
At 1.5× text on 360px, the page became 5px wider than its viewport.
Repair Let the bottom actions wrap instead of forcing a single row.
resolved
transfer_budget
Two requests exceed the 400KB transfer budget. This remains visible after the blocking defects are fixed.
Next Audit the largest asset before treating performance as complete.
warning
Machine-readable trail
Each root cause includes its selector, affected triggers, suggested repair, and a reproduction command. Open the compact summaries below or inspect the complete report in the repository.
{
"status": "fail",
"summary": {
"total_block": 10,
"total_warn": 8,
"unique_root_causes": 3,
"affected_viewports": 8
},
"failed_items": [
"console_error",
"text_scale_layout_break",
"transfer_budget"
]
}
Open complete before JSON
{
"status": "warn",
"summary": {
"total_block": 0,
"total_warn": 8,
"unique_root_causes": 1,
"affected_viewports": 8
},
"failed_items": [
"transfer_budget"
]
}
Open complete after JSON
Run it on your page
The default pass opens the page in Chromium, probes the primary action safely, and leaves screenshots plus structured evidence.
python -m pip install ego-webqa
then
ego-webqa https://your-preview.example