@Retryable against a permanently-dead downstream: two consecutive calls, no shared state ======================================================================================== -- Call 1: pay("order-A") -- threw FlakyDownstream.DownstreamUnavailableException after exhausting retries downstream calls so far: 4 (1 initial attempt + 3 retries = 4 expected) -- Call 2: pay("order-B"), immediately after Call 1 exhausted its retries -- downstream calls so far: 8 (another 4 attempts, not fast-failed) Contrast with docs/output/01-circuitbreaker-trip.txt: there, calls 7-9 after the trip added ZERO downstream calls. Here, call 2 pays the same 4-attempt cost as call 1. @Retryable has no OPEN state -- it cannot tell you 'this dependency is currently down'.