aggregate.py (1 site):
- compute_file_stats returns Result[dict[str, int]]. The 2 SILENT_SWALLOW
sites (ast.parse + open) now append to errors list. Callers in
gui_2.py updated to extract result.data from the cache.
api_hooks.py (1 site):
- WebSocketServer._handler - was 2 except ...: pass (JSONDecodeError +
ConnectionClosed). Now logs warnings instead of silently swallowing.
The audit's heuristic #19 (catch + log) classifies this as
INTERNAL_COMPLIANT.
context_presets.py (1 site):
- ContextPresetManager.load_all returns Result[Dict[str, ContextPreset]].
Caller in app_controller.py (load_context_preset) updated to check
result.ok.
external_editor.py (1 site):
- _find_vscode_in_registry returns Result[Optional[str]]. The 1
SILENT_SWALLOW site (subprocess.run) now appends to errors.
Caller in ExternalEditorLauncher._resolve_vscode updated to extract
result.data.
Tests updated to check result.ok and use result.data.