Error shapes
The shape depends on the surface: Speech, LLM, and unified endpoints return a problem object.title and status are always present; detail adds context when available.
auth_error, config_error, rate_limit, and provider_error.