mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-02 03:35:09 +02:00
c6c3294ee9
Three root causes fixed: - QA agent killed shared test server (kill port), breaking subsequent tests - Shared outcomeDir caused cross-contamination (b8 read b7's report) - max_false_positives=2 too strict for thorough QA agents finding derivative bugs Changes: - Restart test server in planted-bug beforeAll (resilient to agent kill) - Each planted-bug test gets isolated working directory (no cross-contamination) - max_false_positives 2→5 in all ground truth files - Accept error_max_turns for /qa quick (thorough QA is not failure) - "Write early, update later" prompt pattern ensures reports always exist - maxTurns 30→40, timeout 240s→300s for planted-bug evals Result: 10/10 E2E pass, 9/9 LLM judge pass. All three planted-bug evals score 5/5 detection with evidence quality 5. Total E2E cost: $1.69. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
1.6 KiB
JSON
44 lines
1.6 KiB
JSON
{
|
|
"fixture": "qa-eval-spa.html",
|
|
"bugs": [
|
|
{
|
|
"id": "broken-route",
|
|
"category": "functional",
|
|
"severity": "high",
|
|
"description": "Products nav link points to #/prodcts (typo) instead of #/products — shows 'Page not found'",
|
|
"detection_hint": "route|prodcts|typo|products|not found|broken link|navigation"
|
|
},
|
|
{
|
|
"id": "stale-cart-state",
|
|
"category": "functional",
|
|
"severity": "medium",
|
|
"description": "Cart count persists across route changes — never resets when navigating away from products",
|
|
"detection_hint": "cart|count|state|persist|reset|stale|navigation"
|
|
},
|
|
{
|
|
"id": "async-fetch-error",
|
|
"category": "functional",
|
|
"severity": "high",
|
|
"description": "Product list briefly loads then shows 'Error: Failed to fetch products from API' after 1 second",
|
|
"detection_hint": "error|fetch|products|API|loading|failed|async"
|
|
},
|
|
{
|
|
"id": "missing-aria-current",
|
|
"category": "accessibility",
|
|
"severity": "medium",
|
|
"description": "Navigation links have no aria-current attribute to indicate the active route",
|
|
"detection_hint": "aria|current|active|navigation|accessibility|a11y"
|
|
},
|
|
{
|
|
"id": "console-warn-leak",
|
|
"category": "console",
|
|
"severity": "medium",
|
|
"description": "console.warn fires on every route change: 'Possible memory leak detected: 11 event listeners'",
|
|
"detection_hint": "console|warn|memory leak|listener|event|warning"
|
|
}
|
|
],
|
|
"total_bugs": 5,
|
|
"minimum_detection": 2,
|
|
"max_false_positives": 5
|
|
}
|