Private
Public Access
0
0
Files
manual_slop/docs/reports/PHASE12_TRIAGE_20260617.md
T
ed 9a9238892d docs(reports): Phase 12.4+12.5 - re-run audit; triage findings
Phase 12.4: re-run audit_exception_handling.py with Heuristic #19 removed
and Heuristic D added. Total sites: 403.
- INTERNAL_BROAD_CATCH: 134
- INTERNAL_SILENT_SWALLOW: 46 (was logged as INTERNAL_COMPLIANT under #19)
- INTERNAL_RETHROW: 30
- INTERNAL_PROGRAMMER_RAISE: 29
- INTERNAL_COMPLIANT: 93
- UNCLEAR: 20
- BOUNDARY_SDK: 19
- BOUNDARY_FASTAPI: 15
- BOUNDARY_CONVERSION: 12
- INTERNAL_OPTIONAL_RETURN: 5

Phase 12.5: triage per file. Generated docs/reports/PHASE12_TRIAGE_20260617.md.

Top files by violations:
- src/mcp_client.py: 46 (sub-track 3 scope, NOT sub-track 2)
- src/app_controller.py: 45 (sub-track 3 scope)
- src/gui_2.py: 42 (sub-track 4 scope)
- src/ai_client.py: 33 (baseline; not migration target)
- src/api_hooks.py: 16 (sub-track 2; 12.6.1)
- src/rag_engine.py: 9 (baseline; not migration target)
- src/multi_agent_conductor.py: 4 (sub-track 2; 12.6.9)
- src/aggregate.py: 4 (sub-track 2; small file)
- src/shell_runner.py: 3 (sub-track 2; 12.6.11)
- src/warmup.py: 2 (verify Phase 11; 12.6.2)
- src/project_manager.py: 2 (verify Phase 11; 12.6.6)
- src/session_logger.py: 2 (sub-track 2; 12.6.12)
- src/models.py: 2 (sub-track 2; 12.6.8)
- src/orchestrator_pm.py: 1 (verify Phase 11; 12.6.5)

The 16 api_hooks.py sites are HTTP handler sub-functions where the
except body swallows exceptions and returns an empty fallback payload.
The actual HTTP response (self.send_response(200)) happens AFTER the
try/except, not inside the except body. Heuristic D.1 doesn't match
because the send_response is outside the except block.

These sites need full Result[T] migration: controller methods return
Result[dict], except body converts exception to ErrorInfo, HTTP handler
checks result.ok and returns 4xx/5xx on failure. L451/L824/L914 are
different — they call self.send_response(500) INSIDE the except body
(drain point pattern). 13 other sites are silent fallbacks.
2026-06-18 09:41:33 -04:00

11 KiB

Phase 12.5 — Triage of Post-Fix Audit Findings

Date: 2026-06-17 (auto-generated) Source: docs/reports/PHASE12_AUDIT_POST_FIX_20260617.json Total sites: 403 Violation sites: 185 UNCLEAR sites: 20

This triage enumerates the migration-target sites per file, in priority order (Phase 12 plan 12.6 sub-batches).

src/api_hooks.py — NO violations (clean)

src/warmup.py — NO violations (clean)

src/startup_profiler.py — NO violations (clean)

src/file_cache.py — NO violations (clean)

src/orchestrator_pm.py — NO violations (clean)

src/project_manager.py — NO violations (clean)

src/log_registry.py — NO violations (clean)

src/models.py — NO violations (clean)

src/multi_agent_conductor.py — NO violations (clean)

src/theme_2.py — NO violations (clean)

src/shell_runner.py — NO violations (clean)

src/session_logger.py — NO violations (clean)

Other files with violations (not in priority list)

src\aggregate.py — 4 sites

Line Category Note
52 UNCLEAR
270 INTERNAL_BROAD_CATCH
277 UNCLEAR
449 UNCLEAR

src\ai_client.py — 33 sites

Line Category Note
277 INTERNAL_RETHROW
302 INTERNAL_SILENT_SWALLOW
314 INTERNAL_SILENT_SWALLOW
332 INTERNAL_BROAD_CATCH
355 INTERNAL_BROAD_CATCH
394 INTERNAL_BROAD_CATCH
414 INTERNAL_SILENT_SWALLOW
432 INTERNAL_SILENT_SWALLOW
520 INTERNAL_BROAD_CATCH
537 INTERNAL_BROAD_CATCH
716 INTERNAL_BROAD_CATCH
723 INTERNAL_BROAD_CATCH
801 INTERNAL_RETHROW
802 INTERNAL_RETHROW
994 INTERNAL_BROAD_CATCH
1234 INTERNAL_RETHROW
1528 INTERNAL_BROAD_CATCH
1529 INTERNAL_RETHROW
1555 INTERNAL_SILENT_SWALLOW
1599 INTERNAL_BROAD_CATCH
1611 INTERNAL_BROAD_CATCH
1636 INTERNAL_BROAD_CATCH
1657 INTERNAL_BROAD_CATCH
1854 INTERNAL_BROAD_CATCH
1856 INTERNAL_RETHROW
2242 INTERNAL_SILENT_SWALLOW
2520 INTERNAL_RETHROW
2848 INTERNAL_BROAD_CATCH
2867 INTERNAL_BROAD_CATCH
2898 INTERNAL_BROAD_CATCH
2914 INTERNAL_SILENT_SWALLOW
2922 INTERNAL_SILENT_SWALLOW
3082 INTERNAL_SILENT_SWALLOW

src\api_hooks.py — 16 sites

Line Category Note
294 INTERNAL_BROAD_CATCH
387 INTERNAL_BROAD_CATCH
404 UNCLEAR
410 INTERNAL_BROAD_CATCH
428 INTERNAL_BROAD_CATCH
442 INTERNAL_BROAD_CATCH
561 INTERNAL_BROAD_CATCH
592 INTERNAL_BROAD_CATCH
620 INTERNAL_BROAD_CATCH
719 INTERNAL_BROAD_CATCH
739 INTERNAL_BROAD_CATCH
793 INTERNAL_BROAD_CATCH
810 INTERNAL_BROAD_CATCH
914 INTERNAL_SILENT_SWALLOW
936 INTERNAL_RETHROW
939 INTERNAL_RETHROW

src\app_controller.py — 45 sites

Line Category Note
537 INTERNAL_BROAD_CATCH
579 INTERNAL_BROAD_CATCH
751 INTERNAL_SILENT_SWALLOW
756 INTERNAL_SILENT_SWALLOW
1224 INTERNAL_RETHROW
1250 INTERNAL_RETHROW
1293 INTERNAL_SILENT_SWALLOW
1357 INTERNAL_OPTIONAL_RETURN
1375 INTERNAL_SILENT_SWALLOW
1419 INTERNAL_BROAD_CATCH
1479 INTERNAL_BROAD_CATCH
1565 INTERNAL_SILENT_SWALLOW
1668 INTERNAL_BROAD_CATCH
1946 INTERNAL_BROAD_CATCH
2045 INTERNAL_BROAD_CATCH
2067 INTERNAL_BROAD_CATCH
2080 INTERNAL_BROAD_CATCH
2128 INTERNAL_BROAD_CATCH
2139 INTERNAL_BROAD_CATCH
2153 INTERNAL_BROAD_CATCH
2194 INTERNAL_BROAD_CATCH
2388 INTERNAL_SILENT_SWALLOW
2766 INTERNAL_BROAD_CATCH
2778 INTERNAL_BROAD_CATCH
2889 INTERNAL_BROAD_CATCH
2943 INTERNAL_BROAD_CATCH
2982 INTERNAL_RETHROW
2985 INTERNAL_RETHROW
3056 INTERNAL_BROAD_CATCH
3083 INTERNAL_BROAD_CATCH
3093 INTERNAL_BROAD_CATCH
3433 INTERNAL_BROAD_CATCH
3470 INTERNAL_BROAD_CATCH
3541 INTERNAL_BROAD_CATCH
3634 INTERNAL_BROAD_CATCH
3647 INTERNAL_BROAD_CATCH
4069 INTERNAL_BROAD_CATCH
4097 INTERNAL_SILENT_SWALLOW
4099 INTERNAL_BROAD_CATCH
4191 INTERNAL_SILENT_SWALLOW
4236 INTERNAL_BROAD_CATCH
4348 INTERNAL_BROAD_CATCH
4445 INTERNAL_BROAD_CATCH
4474 INTERNAL_BROAD_CATCH
4503 INTERNAL_BROAD_CATCH

src\command_palette.py — 1 sites

Line Category Note
120 INTERNAL_SILENT_SWALLOW

src\commands.py — 2 sites

Line Category Note
116 UNCLEAR
147 UNCLEAR

src\conductor_tech_lead.py — 2 sites

Line Category Note
97 INTERNAL_RETHROW
120 UNCLEAR

src\diff_viewer.py — 1 sites

Line Category Note
167 UNCLEAR

src\external_editor.py — 2 sites

Line Category Note
47 INTERNAL_OPTIONAL_RETURN
56 INTERNAL_OPTIONAL_RETURN

src\gemini_cli_adapter.py — 3 sites

Line Category Note
155 INTERNAL_RETHROW
173 INTERNAL_RETHROW
174 INTERNAL_RETHROW

src\gui_2.py — 42 sites

Line Category Note
65 UNCLEAR
69 UNCLEAR
216 INTERNAL_SILENT_SWALLOW
241 INTERNAL_SILENT_SWALLOW
567 INTERNAL_SILENT_SWALLOW
591 INTERNAL_BROAD_CATCH
684 INTERNAL_SILENT_SWALLOW
731 INTERNAL_BROAD_CATCH
742 INTERNAL_BROAD_CATCH
757 INTERNAL_RETHROW
760 INTERNAL_RETHROW
905 INTERNAL_BROAD_CATCH
979 INTERNAL_SILENT_SWALLOW
1079 INTERNAL_SILENT_SWALLOW
1123 INTERNAL_BROAD_CATCH
1172 INTERNAL_BROAD_CATCH
1198 INTERNAL_BROAD_CATCH
1223 INTERNAL_BROAD_CATCH
1285 INTERNAL_BROAD_CATCH
1335 INTERNAL_BROAD_CATCH
1344 INTERNAL_BROAD_CATCH
1398 INTERNAL_SILENT_SWALLOW
1418 INTERNAL_BROAD_CATCH
1444 INTERNAL_BROAD_CATCH
1479 INTERNAL_BROAD_CATCH
1613 INTERNAL_SILENT_SWALLOW
3201 INTERNAL_BROAD_CATCH
3436 INTERNAL_BROAD_CATCH
3620 INTERNAL_BROAD_CATCH
3756 INTERNAL_BROAD_CATCH
3783 INTERNAL_BROAD_CATCH
4405 INTERNAL_BROAD_CATCH
4823 INTERNAL_SILENT_SWALLOW
4836 INTERNAL_BROAD_CATCH
5417 INTERNAL_BROAD_CATCH
5544 INTERNAL_SILENT_SWALLOW
5826 INTERNAL_BROAD_CATCH
5960 INTERNAL_BROAD_CATCH
6807 INTERNAL_SILENT_SWALLOW
7142 INTERNAL_SILENT_SWALLOW
7158 INTERNAL_SILENT_SWALLOW
7248 INTERNAL_BROAD_CATCH

src\log_pruner.py — 1 sites

Line Category Note
117 INTERNAL_RETHROW

src\markdown_helper.py — 2 sites

Line Category Note
123 INTERNAL_SILENT_SWALLOW
200 UNCLEAR

src\mcp_client.py — 46 sites

Line Category Note
171 INTERNAL_SILENT_SWALLOW
191 INTERNAL_BROAD_CATCH
229 INTERNAL_BROAD_CATCH
254 INTERNAL_BROAD_CATCH
266 INTERNAL_BROAD_CATCH
395 INTERNAL_BROAD_CATCH
414 INTERNAL_BROAD_CATCH
430 INTERNAL_BROAD_CATCH
451 INTERNAL_BROAD_CATCH
473 INTERNAL_BROAD_CATCH
492 INTERNAL_BROAD_CATCH
509 INTERNAL_BROAD_CATCH
523 INTERNAL_BROAD_CATCH
537 INTERNAL_BROAD_CATCH
555 INTERNAL_BROAD_CATCH
576 INTERNAL_BROAD_CATCH
593 INTERNAL_BROAD_CATCH
610 INTERNAL_BROAD_CATCH
624 INTERNAL_BROAD_CATCH
645 INTERNAL_BROAD_CATCH
695 INTERNAL_BROAD_CATCH
713 INTERNAL_BROAD_CATCH
739 INTERNAL_BROAD_CATCH
768 INTERNAL_BROAD_CATCH
788 INTERNAL_BROAD_CATCH
818 INTERNAL_BROAD_CATCH
843 INTERNAL_BROAD_CATCH
872 INTERNAL_BROAD_CATCH
893 INTERNAL_BROAD_CATCH
913 INTERNAL_BROAD_CATCH
936 INTERNAL_SILENT_SWALLOW
951 INTERNAL_BROAD_CATCH
974 INTERNAL_BROAD_CATCH
987 UNCLEAR
989 INTERNAL_BROAD_CATCH
1012 INTERNAL_SILENT_SWALLOW
1026 INTERNAL_BROAD_CATCH
1047 INTERNAL_BROAD_CATCH
1071 INTERNAL_BROAD_CATCH
1106 INTERNAL_BROAD_CATCH
1140 INTERNAL_BROAD_CATCH
1223 INTERNAL_BROAD_CATCH
1249 INTERNAL_BROAD_CATCH
1268 INTERNAL_BROAD_CATCH
1311 INTERNAL_SILENT_SWALLOW
1316 INTERNAL_SILENT_SWALLOW

src\models.py — 2 sites

Line Category Note
268 INTERNAL_RETHROW
1082 UNCLEAR

src\multi_agent_conductor.py — 4 sites

Line Category Note
317 INTERNAL_SILENT_SWALLOW
468 INTERNAL_SILENT_SWALLOW
518 UNCLEAR
636 INTERNAL_SILENT_SWALLOW

src\orchestrator_pm.py — 1 sites

Line Category Note
113 INTERNAL_BROAD_CATCH

src\outline_tool.py — 1 sites

Line Category Note
70 INTERNAL_RETHROW

src\presets.py — 2 sites

Line Category Note
35 INTERNAL_SILENT_SWALLOW
44 INTERNAL_SILENT_SWALLOW

src\project_manager.py — 2 sites

Line Category Note
32 INTERNAL_OPTIONAL_RETURN
98 UNCLEAR

src\rag_engine.py — 9 sites

Line Category Note
29 INTERNAL_RETHROW
32 INTERNAL_RETHROW
33 INTERNAL_BROAD_CATCH
36 INTERNAL_RETHROW
224 INTERNAL_BROAD_CATCH
247 INTERNAL_BROAD_CATCH
255 INTERNAL_SILENT_SWALLOW
261 INTERNAL_BROAD_CATCH
290 INTERNAL_BROAD_CATCH

src\session_logger.py — 2 sites

Line Category Note
191 UNCLEAR
230 INTERNAL_OPTIONAL_RETURN

src\shell_runner.py — 3 sites

Line Category Note
95 INTERNAL_RETHROW
98 INTERNAL_RETHROW
99 UNCLEAR

src\summarize.py — 3 sites

Line Category Note
36 UNCLEAR
183 UNCLEAR
187 UNCLEAR

src\theme_models.py — 3 sites

Line Category Note
166 INTERNAL_RETHROW
190 INTERNAL_SILENT_SWALLOW
217 INTERNAL_SILENT_SWALLOW

src\vendor_capabilities.py — 1 sites

Line Category Note
42 INTERNAL_RETHROW

src\warmup.py — 2 sites

Line Category Note
96 INTERNAL_RETHROW
185 INTERNAL_BROAD_CATCH

Summary by category

Category Count
INTERNAL_BROAD_CATCH 134
INTERNAL_COMPLIANT 93
INTERNAL_SILENT_SWALLOW 46
INTERNAL_RETHROW 30
INTERNAL_PROGRAMMER_RAISE 29
UNCLEAR 20
BOUNDARY_SDK 19
BOUNDARY_FASTAPI 15
BOUNDARY_CONVERSION 12
INTERNAL_OPTIONAL_RETURN 5