chore: TIER-2 READ conductor/code_styleguides/error_handling.md lines 625-690 before Phase 12 — Re-Raise Patterns

Phase 12: ai_client rethrow classification (6 sites).

3 legitimate re-raise patterns from styleguide:
1. Catch + convert + raise as different type (with rom e):
   try: json.loads(raw)
   except json.JSONDecodeError as e: raise ValueError(f'Invalid JSON: {e}') from e

2. Catch + log + re-raise:
   try: do_something()
   except Exception as e: logger.exception('failed; will propagate'); raise

3. Catch + cleanup + re-raise (or use try/finally for pure cleanup).

SUSPICIOUS pattern (NOT compliant):
   try: do_something()
   except Exception: raise

This catches an exception, does nothing with it, and re-raises. The
try/except is dead code; remove it or use Result-based propagation.

Per MUST-DOT-DO #4: 'raise a custom exception class for runtime failures' is forbidden.

Migration rules per Phase 12 plan:
- If site fits Pattern 1/2/3: leave as-is (audit should classify as COMPLIANT)
- If site is SUSPICIOUS (catch + bare raise): MIGRATE to Result[T]
- Do NOT classify as 'suspicious' (= sliming)
- Per-site: test (if migrated), commit
This commit is contained in:
ed
2026-06-20 15:39:04 -04:00
parent 1fa2b19257
commit d209c78b1c

Diff Content Not Available