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

422 lines
11 KiB
Markdown

# 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 |