06118ec3resilience
/api/predict 503 returns Retry-After
Graceful degradation when upstream services misbehave: fixtures-feed 5xx, malformed JSON, rate-limit handling, OG fallback.
Cross-agent verdicts
Loading verdicts…
Plan source
What TestSprite reads
The testing agent reads this JSON, opens the deployed URL in headless Chromium, executes each action step, evaluates each assertion. Verdict: passed / failed / blocked / inconclusive.
{
"projectId": "1ad26753-ee03-4689-8f0f-6fa5d67c5c72",
"type": "frontend",
"name": "Resilience — predict API returns 503 with Retry-After when upstream is down",
"description": "When the upstream fixtures-feed is unreachable AND the cache is also cold/empty, /api/predict returns HTTP 503 with a Retry-After header so consumers know when to come back. Catches 'silent fail with 200 + empty body' anti-patterns.",
"priority": "p2",
"metadata": {
"category": "resilience",
"stage": "all"
},
"planSteps": [
{
"type": "action",
"description": "Configure a network blocker that returns HTTP 503 for all requests to fixtures-feed.io AND clear the local cache"
},
{
"type": "action",
"description": "Navigate to /api/predict?team=BRA"
},
{
"type": "assertion",
"description": "Verify the response status is 503 (NOT 200 with empty body, NOT 500)"
},
{
"type": "assertion",
"description": "Verify the response includes a Retry-After response header with a numeric value or HTTP-date"
}
]
}View on GitHub →