ed
b95601e949
refactor(ai_client): migrate _list_anthropic_models to Result[T] (Phase 12 site 4)
...
Site 4 (L1337) had:
try: anthropic = _require_warmed('anthropic'); ... client.models.list() ...
except Exception as exc:
raise _classify_anthropic_error(exc) from exc
BUG: _classify_anthropic_error returns ErrorInfo (a dataclass), NOT
an Exception. 'raise ErrorInfo from exc' would fail at runtime.
Migration per Phase 9 redo precedent: convert to Result[T]. This is
the same fix pattern applied to _list_gemini_models in Phase 10.
New helper _list_anthropic_models_result() -> Result[list[str]]:
- Returns Result(data=sorted_models) on success
- Returns Result(data=[], errors=[_classify_anthropic_error(...)])
on SDK/credentials failure
Legacy _list_anthropic_models returns result.data (preserves signature).
Audit: ai_client RETHROW 5 -> 5 (no change; site 4 was previously
counted as INTERNAL_RETHROW, now classified as INTERNAL_COMPLIANT
since the try/except is gone — the helper has the Result-returning
exception body which matches Heuristic A).
Actually let me verify with audit_summary...
2026-06-20 15:48:17 -04:00
..
2026-06-19 21:13:46 -04:00
2026-06-20 15:48:17 -04:00
2026-06-08 00:46:12 -04:00
2026-06-08 00:33:21 -04:00
2026-06-19 10:59:18 -04:00
2026-06-08 00:47:21 -04:00
2026-06-18 12:09:00 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-15 13:54:57 -04:00
2026-06-11 14:48:03 -04:00
2026-06-13 18:05:12 -04:00
2026-06-17 00:32:33 -04:00
2026-06-17 00:38:29 -04:00
2026-06-08 20:46:41 -04:00
2026-06-08 17:49:34 -04:00
2026-06-08 15:19:30 -04:00
2026-06-07 19:54:17 -04:00
2026-06-08 20:46:41 -04:00
2026-06-07 10:20:17 -04:00
2026-06-08 10:13:07 -04:00
2026-06-08 23:45:25 -04:00
2026-06-19 14:25:53 -04:00
2026-06-19 12:40:26 -04:00
2026-06-19 19:13:20 -04:00
2026-06-19 16:24:01 -04:00
2026-06-08 23:45:25 -04:00
2026-06-08 20:46:41 -04:00
2026-06-07 19:54:17 -04:00
2026-06-07 10:23:45 -04:00
2026-06-07 10:54:51 -04:00
2026-06-17 18:53:25 -04:00
2026-06-18 09:37:28 -04:00
2026-06-20 11:59:20 -04:00
2026-06-07 15:24:57 -04:00
2026-06-20 01:47:23 -04:00
2026-06-07 19:54:17 -04:00
2026-06-20 12:15:15 -04:00
2026-06-08 00:41:20 -04:00
2026-06-08 01:14:12 -04:00
2026-06-08 00:27:04 -04:00
2026-06-09 17:01:14 -04:00
2026-06-09 16:40:18 -04:00
2026-06-17 19:15:51 -04:00
2026-06-17 00:29:21 -04:00
2026-06-17 00:33:36 -04:00
2026-06-09 18:42:53 -04:00
2026-06-17 22:38:17 -04:00
2026-06-18 12:09:00 -04:00
2026-06-17 23:15:57 -04:00
2026-06-17 22:38:17 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-07 19:54:17 -04:00
2026-06-15 18:21:58 -04:00
2026-06-18 17:55:05 -04:00
2026-06-07 21:21:38 -04:00
2026-06-19 14:25:53 -04:00
2026-06-16 19:06:09 -04:00
2026-06-07 10:10:53 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-15 14:15:52 -04:00
2026-06-07 21:21:38 -04:00
2026-06-15 13:04:45 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 15:37:47 -04:00
2026-06-20 02:26:42 -04:00
2026-06-07 14:43:36 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 12:36:21 -04:00
2026-06-19 09:40:01 -04:00
2026-06-07 19:54:17 -04:00
2026-06-08 15:19:30 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-07 19:54:17 -04:00
2026-06-17 22:42:10 -04:00
2026-06-17 22:42:10 -04:00
2026-06-08 17:51:39 -04:00
2026-06-07 19:54:17 -04:00
2026-06-15 09:41:39 -04:00
2026-06-09 15:37:47 -04:00
2026-06-17 00:38:29 -04:00
2026-06-15 11:04:46 -04:00
2026-06-09 15:42:00 -04:00
2026-06-18 14:26:12 -04:00
2026-06-08 21:17:54 -04:00
2026-06-15 13:52:38 -04:00
2026-06-15 13:25:31 -04:00
2026-06-15 18:27:40 -04:00
2026-06-07 21:21:38 -04:00
2026-06-12 18:07:16 -04:00
2026-06-13 18:57:44 -04:00
2026-06-07 19:54:17 -04:00
2026-06-07 17:57:36 -04:00
2026-06-10 09:16:46 -04:00
2026-06-07 10:01:40 -04:00
2026-06-07 19:54:17 -04:00
2026-06-18 14:40:04 -04:00
2026-06-13 17:50:43 -04:00
2026-06-17 00:38:29 -04:00
2026-06-19 12:36:21 -04:00
2026-06-17 00:30:48 -04:00
2026-06-17 22:31:35 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 12:36:21 -04:00
2026-06-17 00:38:29 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 09:40:01 -04:00
2026-06-07 16:56:05 -04:00
2026-06-11 16:38:09 -04:00
2026-06-11 16:38:09 -04:00
2026-06-20 08:25:27 -04:00
2026-06-08 00:47:03 -04:00
2026-06-15 18:05:45 -04:00
2026-06-09 17:10:33 -04:00
2026-06-12 20:14:01 -04:00
2026-06-12 20:14:40 -04:00
2026-06-17 00:38:29 -04:00
2026-06-10 17:20:57 -04:00
2026-06-10 14:43:27 -04:00
2026-06-16 00:09:02 -04:00
2026-06-09 10:37:14 -04:00
2026-06-10 15:14:35 -04:00
2026-06-12 16:29:22 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 16:14:40 -04:00
2026-06-17 22:29:36 -04:00
2026-06-17 00:38:29 -04:00
2026-06-19 12:36:21 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 16:25:44 -04:00
2026-06-07 19:54:17 -04:00
2026-06-19 14:25:53 -04:00
2026-06-17 14:20:17 -04:00
2026-06-17 10:26:32 -04:00
2026-06-15 14:26:32 -04:00
2026-06-20 01:45:34 -04:00
2026-06-16 19:13:30 -04:00
2026-06-16 20:25:44 -04:00
2026-06-17 14:50:01 -04:00
2026-06-19 07:41:15 -04:00
2026-06-16 22:26:04 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-17 00:38:29 -04:00
2026-06-09 16:14:40 -04:00
2026-06-11 21:46:41 -04:00
2026-06-10 15:13:25 -04:00
2026-06-10 15:45:44 -04:00
2026-06-07 16:02:30 -04:00
2026-06-09 20:45:24 -04:00
2026-06-10 15:14:35 -04:00