Preserve origin error codes across streaming proxy hops

When a streaming proxy receives a typed fatal error from an origin, preserve the origin code end to end instead of remapping every error frame to one generic “upstream rejected” label. Keep a bounded public message, but record the typed code at each hop and expose it in per-stream telemetry. Otherwise network failures, provider protocol errors, and local safety guards become indistinguishable, forcing time-window correlation to recover the cause. This applies to WebSocket speech pipelines and other multi-hop streaming systems; sanitize messages and never forward provider secrets.

Applies when: diagnosing a fatal stream that crosses one or more proxy or adapter layers. Keywords: WebSocket streaming proxy error taxonomy provider telemetry observability STT