{
  "scope": "finite virtual time; no network/SDK/server cancellation/load or latency measurements",
  "python": "3.11.12",
  "cases": {
    "deadline_stops_third": {
      "reason": "deadline",
      "attempts": 2,
      "elapsed_ms": 1700,
      "retry_tokens_left": 9,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 800,
          "status": "timeout",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 800,
          "end": 900
        },
        {
          "kind": "attempt",
          "start": 900,
          "end": 1700,
          "status": "timeout",
          "limit_ms": 800
        }
      ]
    },
    "shorten_last_attempt": {
      "reason": "attempt-limit",
      "attempts": 3,
      "elapsed_ms": 2300,
      "retry_tokens_left": 8,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 800,
          "status": "timeout",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 800,
          "end": 900
        },
        {
          "kind": "attempt",
          "start": 900,
          "end": 1700,
          "status": "timeout",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 1700,
          "end": 2000
        },
        {
          "kind": "attempt",
          "start": 2000,
          "end": 2300,
          "status": "timeout",
          "limit_ms": 300
        }
      ]
    },
    "transient_then_success": {
      "reason": "success",
      "attempts": 2,
      "elapsed_ms": 1150,
      "retry_tokens_left": 9,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 800,
          "status": "timeout",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 800,
          "end": 900
        },
        {
          "kind": "attempt",
          "start": 900,
          "end": 1150,
          "status": "ok",
          "limit_ms": 800
        }
      ]
    },
    "unsafe_timeout": {
      "reason": "reconcile",
      "attempts": 1,
      "elapsed_ms": 800,
      "retry_tokens_left": 10,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 800,
          "status": "timeout",
          "limit_ms": 800
        }
      ]
    },
    "permanent": {
      "reason": "permanent",
      "attempts": 1,
      "elapsed_ms": 50,
      "retry_tokens_left": 10,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 50,
          "status": "permanent",
          "limit_ms": 800
        }
      ]
    },
    "retry_after_exceeds_deadline": {
      "reason": "deadline",
      "attempts": 1,
      "elapsed_ms": 800,
      "retry_tokens_left": 10,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 800,
          "status": "transient",
          "limit_ms": 800
        }
      ]
    },
    "no_retry_tokens": {
      "reason": "retry-budget",
      "attempts": 1,
      "elapsed_ms": 800,
      "retry_tokens_left": 0,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 800,
          "status": "timeout",
          "limit_ms": 800
        }
      ]
    },
    "cancel_during_wait": {
      "reason": "cancelled",
      "attempts": 1,
      "elapsed_ms": 850,
      "retry_tokens_left": 10,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 800,
          "status": "timeout",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 800,
          "end": 850,
          "status": "cancelled"
        }
      ]
    },
    "cancel_before_send": {
      "reason": "cancelled",
      "attempts": 0,
      "elapsed_ms": 0,
      "retry_tokens_left": 10,
      "trace": []
    },
    "attempt_cap": {
      "reason": "attempt-limit",
      "attempts": 3,
      "elapsed_ms": 430,
      "retry_tokens_left": 8,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 10,
          "status": "transient",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 10,
          "end": 110
        },
        {
          "kind": "attempt",
          "start": 110,
          "end": 120,
          "status": "transient",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 120,
          "end": 420
        },
        {
          "kind": "attempt",
          "start": 420,
          "end": 430,
          "status": "transient",
          "limit_ms": 800
        }
      ]
    },
    "retry_after_floor": {
      "reason": "success",
      "attempts": 2,
      "elapsed_ms": 800,
      "retry_tokens_left": 9,
      "trace": [
        {
          "kind": "attempt",
          "start": 0,
          "end": 100,
          "status": "transient",
          "limit_ms": 800
        },
        {
          "kind": "wait",
          "start": 100,
          "end": 700
        },
        {
          "kind": "attempt",
          "start": 700,
          "end": 800,
          "status": "ok",
          "limit_ms": 800
        }
      ]
    }
  },
  "calculations": {
    "naive_ms": 3000,
    "nested_attempts": 27,
    "single_owner_attempts": 3,
    "unbudgeted_attempt_ceiling": 3000,
    "shared_retry_budget_ceiling": 1100,
    "illustrative_jitter_ms": [
      20,
      70,
      120,
      170,
      220,
      270
    ],
    "jitter_100ms_bins": [
      2,
      2,
      2
    ],
    "fixed_delay_ms": [
      300,
      300,
      300,
      300,
      300,
      300
    ]
  }
}
