Skip to content

PATTERN Cited by 1 source

Eventual-readiness state machine

Represent a dependency that is asynchronously becoming usable as explicit client states rather than a single ready/not-ready flag. A converging state permits only safe degraded behavior—cached rendering, local intent capture, and background retry—while a ready state makes live reads authoritative. Later degraded requests return to the same recovery path instead of creating a separate exception-only flow.

Minimal state model

initializing → converging → ready
                  ↑           │
                  └─ degraded ┘

The precise state names are less important than the contract: the UI must know what it may render, what it may queue, and which retry or verification condition exits the transient state.

Guardrails

  • Do not equate successful authentication with propagated authorization.
  • Make the safe cached/bundled data set explicit; do not display data whose authorization depends on propagation completing.
  • Use response-content validation and readiness probes rather than HTTP success alone.
  • Keep the converging state observable; otherwise slow propagation becomes an invisible latency tail.

Seen in

Last updated · 619 distilled / 1,953 read