TIER-2 READ conductor/code_styleguides/error_handling.md end-to-end before Phase 3
Re-read lines 462-540 (The Broad-Except Distinction). Key points for Phase 3: - Broad catch + log = INTERNAL_SILENT_SWALLOW violation (logging NOT a drain) - Broad catch + return Result(data=..., errors=[ErrorInfo(...)]) = BOUNDARY_CONVERSION (canonical) - Broad catch + pass/return None = INTERNAL_SILENT_SWALLOW / INTERNAL_OPTIONAL_RETURN (violation) - Broad catch + HTTPException in _api_* = BOUNDARY_FASTAPI (compliant) Phase 3 = mcp_client Batch A: 8 INTERNAL_BROAD_CATCH sites in tool file/edit ops (L191 _resolve_and_check, L229 search_files, L254 list_directory, L266 read_file, L395 edit_file, L414 get_file_summary, L430 get_file_slice, L451 set_file_slice). Per the canonical pattern, each site must convert to Result[T] with the tool's specific exception types captured into ErrorInfo.
This commit is contained in: