{
  "handle": "Backoff",
  "mechanism": "After an attempt encounters failure, rejection, or contention and a caller elects to try again, defer the next eligible attempt according to a delay policy. The policy may derive the delay from attempt count, failure history, feedback, or external conditions. Backoff supplies spacing; retry eligibility and retry budgets remain caller policy.",
  "gloss": "Delay subsequent attempts after failure or contention",
  "_meta": {
    "tier": 2,
    "ring": 0,
    "supersedes": [
      "sema:Backoff#mh:SHA-256:315a36ef873a63c30740ce89b1aeb542836a068ef0d81a6e3aaaec062d70bc60",
      "sema:Backoff#mh:SHA-256:16c2d636281df44ed78ef3bce341e7a349fd37cbd675706e2e395172c1dccae6"
    ],
    "path": [
      "Infrastructure",
      "Primitives"
    ]
  },
  "sema_id": "sema:Backoff#mh:SHA-256:9e59718422f5408d7892feccb6d538a21103f9573b122b891ee3c8cf66303e72",
  "sema_ref": "Backoff#9e59",
  "sema_stub": "9e59",
  "sema_layer": "Infrastructure",
  "sema_category": "Primitives",
  "used_by": {
    "references": {
      "CircuitBreaker": "sema:CircuitBreaker#mh:SHA-256:3caa9c387c04bb2ac66ec35a6cfe2665e11339f0d47576b96d68229226580c76",
      "ExponentialBackoff": "sema:ExponentialBackoff#mh:SHA-256:f5e5ff69408a272184da86cf5698f6675e9dfe2aa47917616a695e117602b828",
      "ReAttempt": "sema:ReAttempt#mh:SHA-256:18128dc39f9e9174059b4058d4e1419eb6c4ba921dbad355fabc329bc3902c48",
      "Retry": "sema:Retry#mh:SHA-256:4f9fdfc5b1dafd31221e9426d62c02af80c6356ef5b446eddd3f50da961d1aa2"
    },
    "extends": {
      "ExponentialBackoff": "sema:ExponentialBackoff#mh:SHA-256:f5e5ff69408a272184da86cf5698f6675e9dfe2aa47917616a695e117602b828"
    },
    "composes_with": {
      "StateLock": "sema:StateLock#mh:SHA-256:c9c2809bdf97bb6ac17a8ffe428d4aa9a28294b99d64cc8a336a239d26a8afb8",
      "Throttle": "sema:Throttle#mh:SHA-256:dd626ad2479e5377339f44e77b61a0264591ed21a906556f020fccb98450fe55"
    }
  }
}
