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 →