Private
Public Access
The original function had a broken pattern: 'raise _classify_gemini_error(exc) from exc' which raises an ErrorInfo (not an Exception) — a runtime bug. Per TIER1_REVIEW 2026-06-20 directive: per-site decision. The body raised a structured error carrier (ErrorInfo), but the pattern was incorrect (ErrorInfo is not an Exception). Cleanest fix: full Result[T] migration. New helper: - _list_gemini_models_result(api_key: str) -> Result[list[str]] Returns Result(data=sorted_models) on success, Result(data=[], errors=[ErrorInfo]) on SDK/network failure. Legacy wrapper: - _list_gemini_models(api_key: str) -> list[str] Returns result.data (preserves original signature; callers don't see errors). Audit: ai_client BC 9 -> 8. Site L1594 (now shifted to L1609 due to helper insertion) no longer in INTERNAL_BROAD_CATCH.