Classify one provider HTTP status into the routing vocabulary.
Ordering is load-bearing and is the reason this is one function rather than a
lookup table: quota wording is tested BEFORE 429, because providers signal an
exhausted balance with the same status as a transient rate limit. Getting
that order wrong makes a terminal failure retry forever.
Parameters
status: number
HTTP status from the provider response.
detail: string = ""
provider code, type and message text joined into one string;
pass "" when the provider supplied no structured error body.
Classify one provider HTTP status into the routing vocabulary.
Ordering is load-bearing and is the reason this is one function rather than a lookup table: quota wording is tested BEFORE 429, because providers signal an exhausted balance with the same status as a transient rate limit. Getting that order wrong makes a terminal failure retry forever.