89000dec7f
Site 7 (_extract_gemini_thoughts): try: getattr(resp, 'candidates', None) or [] ... chunks.append(p.text) except Exception: pass return ''.join(chunks).strip() Body: pass + empty default '' = SS violation (silent + data loss). Site 8 (_list_minimax_models): try: client.models.list() ... if found: return sorted(found) except Exception: pass return ['MiniMax-M2.7', 'MiniMax-M2.5', 'MiniMax-M2.1', 'MiniMax-M2'] Body: pass + hardcoded default = SS violation. New helpers: - _extract_gemini_thoughts_result(resp) -> Result[str] Returns Result(data=thinking_text) on success, Result(data='', errors=[ErrorInfo]) on attribute access failure. - _list_minimax_models_result(api_key) -> Result[list[str]] Returns Result(data=sorted_models) on success, Result(data=defaults, errors=[ErrorInfo]) on SDK failure. Defaults extracted to _MINIMAX_DEFAULT_MODELS module constant. Legacy wrappers delegate to _result helpers and return result.data. Audit: ai_client SS 7 -> 5. COMPLIANT 29 -> 31.