9a9238892d
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.
422 lines
11 KiB
Markdown
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 |
|