fix(claude): keep a fast-mode refusal request-scoped
An account without the fast-mode entitlement answers speed:"fast" with HTTP 429 and "Usage credits are required for fast mode." The generic pipeline treats any 429 as quota exhaustion: it marks the credential Quota.Exceeded, assigns an exponential cooldown up to 30 minutes and rotates to the next credential, so a single request could walk and cool down the entire Claude pool over a capability the account will never have. Classify it through the existing RequestScopedError contract instead, which already suppresses cooldown, rotation and retry. The status and body are then returned verbatim: the classifier exists to stop the generic pipeline from handling the error, not to handle it. Detection deliberately requires both "fast mode" and a credits phrase, so a genuine rate limit, which never mentions fast mode, keeps its cooldown. Tests cover both observed wordings, byte-exact pass-through, and the negative cases.
S
sususu committed
6912a74064b987755e3690582c69e85f97b20d7c
Parent: 4fdf59c