Files
Alex Newman 39dd77d9e3 fix: eliminate all 331 error-handling anti-patterns detected by scanner (#3119)
Drive scripts/anti-pattern-test/detect-error-handling-antipatterns.ts to
zero issues across the entire src/ tree (331 -> 0):

- NO_LOGGING_IN_CATCH (124): every silent catch now logs the full error
  object via logger/console, or carries an explicit documented override
- PROMISE_EMPTY_CATCH (6): empty .catch(() => {}) handlers in the SDK
  cleanup paths now log the swallowed cleanup failure
- GENERIC_CATCH (78): catches discriminate error types via instanceof
  Error normalization instead of blind `as Error` casts
- LARGE_TRY_BLOCK (115): oversized try blocks narrowed to the throwing
  statements or extracted into named helpers, semantics-preserving
- CATCH_AND_CONTINUE_CRITICAL_PATH (6) + ERROR_STRING_MATCHING (2):
  fixed or documented with [ANTI-PATTERN IGNORED] justifications

297 real fixes, 38 documented overrides (each with a specific technical
reason and explicit recovery). No behavior changes: swallowed errors
remain non-throwing, only visible now.

Verified: detector exits 0, tsc --noEmit clean (both tsconfigs),
2292 tests pass / 0 fail. Includes rebuilt plugin artifacts.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 13:09:09 -07:00
..
2026-06-30 21:52:15 -07:00