Private
Public Access
0
0
Files
manual_slop/tests
ed 26ebbf7818 refactor(ai_client): migrate _classify_anthropic + _classify_gemini_error to Result[T] (Phase 11 sites 1+2)
Both classify functions had:
  try:
      sdk = _require_warmed('xxx')
      if isinstance(exc, sdk.SomeException): return ErrorInfo(...)
      ...
  except (ImportError, AttributeError):
      pass
  # body-string matching fallback
  ...

Body: bare 'except: pass' = SS violation (silent recovery).

Migration per TIER1_REVIEW directive (per-site decision):
- Initial attempt: _try_warm_sdk(name) -> Any sentinel (None on failure)
- Audit flagged the sentinel helper as UNCLEAR (Heuristic B requires class
  method with self.attr assignment; module-level sentinel doesn't match)
- Per Phase 9 redo precedent: migrate to Result instead of adding heuristic

Final approach: _try_warm_sdk_result(name) -> Result[Any]
  Returns Result(data=module) on success,
          Result(data=None, errors=[ErrorInfo]) on ImportError/AttributeError.

Classify callers check result.ok and use result.data on success.

Audit: ai_client SS 2 -> 0; UNCLEAR 1 -> 0 (after Result migration).
COMPLIANT 32 -> 33.
2026-06-20 14:10:42 -04:00
..
2026-03-05 17:13:59 -05:00
2026-05-10 15:14:54 -04:00
2026-05-20 07:51:58 -04:00
2026-03-05 16:37:30 -05:00
2026-03-05 17:13:59 -05:00
2026-03-05 16:37:30 -05:00
2026-03-07 20:32:59 -05:00
2026-03-05 15:10:53 -05:00
2026-03-12 19:08:51 -04:00
2026-05-20 07:51:58 -04:00
2026-05-20 07:51:58 -04:00
ok
2026-03-07 21:40:40 -05:00