Failure Sequence Forge

Create an unguessable temporary GET endpoint for testing retry and recovery behavior. Each request atomically consumes exactly one allowlisted failure or terminal-success step. Responses use a fixed JSON body and fixed safe headers; callers cannot provide bodies, headers, redirects, or destinations.

Use when

  • A retry loop, SDK, or circuit breaker must recover across an ordered sequence of HTTP failures.
  • A short-lived endpoint should advance atomically from retryable failures to one terminal success.

Do not use when

  • The test requires arbitrary response bodies, headers, redirects, or a production endpoint.
  • More than eight attempts or more than 30 minutes of retention is required.

Invocation contract

HTTP
/v1/tools/failure-sequence-forge
Version
0.1.0
Mode
ephemeral
Idempotency
required
Retention
The sequence record and atomic hit counter remain in Valkey for at most 30 minutes. The URL token has 256 bits of entropy and is never listed.
Tested with
HTTP/1.1, HTTP/2, parallel GET consumers, MCP Streamable HTTP

Positive and negative examples

{
  "input": {
    "steps": [
      {
        "status": 429,
        "delay_ms": 0
      },
      {
        "status": 500,
        "delay_ms": 0
      },
      {
        "status": 200,
        "delay_ms": 0
      }
    ],
    "ttl_seconds": 300
  },
  "output": {
    "fixture_url": "https://lab.example/v1/fixtures/failure-sequence/fsf_example",
    "sequence": [
      429,
      500,
      200
    ],
    "expires_at": "2026-07-24T12:05:00.000Z",
    "max_hits": 3,
    "capability_entropy_bits": 256,
    "behavior": {
      "fixed_body_format": "json",
      "retry_after_seconds_for_429": 1,
      "max_delay_ms_per_step": 2000,
      "exhausted_status": 410
    }
  },
  "negative": [
    {
      "scenario": "The test requires arbitrary response bodies, headers, redirects, or a production endpoint.",
      "expected_error": "NOT_COVERED",
      "charged": false
    }
  ]
}

Deterministic errors

CodeRetryChargedRecovery
INVALID_INPUTfalsefalseCorrect the request to match input_schema.
NOT_COVEREDfalsefalseCheck dataset scope or submit a capability request.
TOOL_PAUSEDtruefalseWait for the operator to resume the tool.
RATE_LIMITEDtruefalseRetry after the response Retry-After interval.
DEPENDENCY_UNAVAILABLEtruefalseRetry with the same idempotency identity.

Full machine manifest

The HTTP, OpenAPI, MCP, llms.txt, and ARD descriptions are generated from this same registry record.

Open JSON manifest →