#33371 [RFC] Expose structured provider-error/route-health contract from router cooldown state
## Summary
LiteLLM already tracks per-deployment cooldown state internally (`failed_calls` InMemoryCache, `allowed_fails_policy`) and OpenRouter already returns per-request `openrouter_metadata` with `requested`, `attempts[]`, and `endpoints[]`. However, neither exposes a structured, machine-readable error classification that downstream frameworks can consume to make fallback routing decisions without re-parsing raw error strings.
## Problem
Frameworks building on top of LiteLLM maintain independent regex pattern lists to classify provider errors — `Insufficient balance`, `permission_error`, provider-specific 429/402 bodies, quota exhaustion messages. As a concrete example, `oh-my-openagent` currently has three diverged pattern lists (tracked in [code-yeongyu/oh-my-openagent#5451](https://github.com/code-yeongyu/oh-my-openagent/issues/5451)):
- `runtime-fallback-error-classifier.ts`: ~44 regex/name checks - `hooks/runtime-fallback/constants.ts`: 35 regex patterns (8 extras not in core) - `model-error-classifier.ts`: 89 string patterns in a parallel classifier
Adding support for a new provider requires touching 3+ files in every downstream framework. This is a maintenance antip…