Private
Public Access
0
0
Commit Graph

36 Commits

Author SHA1 Message Date
ed 4ab7c732b5 refactor(src): Phase 12.6.2-12.6.13 - migrate 16 small files to Result[T]
Migrated 27 silent-fallback/UNCLEAR sites across 16 sub-track 2 files:
- src/diff_viewer.py (1: apply_patch_to_file)
- src/presets.py (2: load_all global/project preset parsing)
- src/theme_models.py (2: load_themes_from_dir, load_themes_from_toml)
- src/summarize.py (3: _summarise_python, summarise_file x2)
- src/command_palette.py (1: _execute)
- src/markdown_helper.py (2: _on_open_link, render table fallback)
- src/commands.py (2: generate_md_only, save_all)
- src/conductor_tech_lead.py (1: topological_sort)
- src/orchestrator_pm.py (1: generate_tracks JSON parse)
- src/project_manager.py (1: get_git_commit)
- src/session_logger.py (1: log_tool_call write_ps1)
- src/shell_runner.py (1: run_powershell error)
- src/multi_agent_conductor.py (4: run, run_worker_lifecycle x3)
- src/aggregate.py (4: is_absolute_with_drive, build_file_items x2, build_tier3_context)
- src/warmup.py (1: _warmup_one indirect Result)
- src/models.py (2: from_dict discussion.ts, load_mcp_config)

Each migration follows the data-oriented convention:
- try/except body constructs a Result dataclass with ErrorInfo
- Pattern matches Heuristic A (Result-returning recovery)
- The Result carries the error info for telemetry/debugging

Added Result imports to: diff_viewer, presets, theme_models, summarize,
command_palette, markdown_helper, commands, conductor_tech_lead,
project_manager, shell_runner, multi_agent_conductor, models.

Audit post-fix: 0 violations, 0 UNCLEAR in sub-track 2 scope.
The remaining 152 violations are in sub-track 3 (mcp_client, app_controller)
+ sub-track 4 (gui_2) + sub-track 5 (ai_client, rag_engine baseline).
2026-06-18 10:21:24 -04:00
ed 35bac5eda7 refactor(src): Phase 10.2 batch 4 - aggregate + api_hooks + context_presets + external_editor
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.
2026-06-17 22:38:17 -04:00
ed f4a445bd4b refactor(src): narrow exception types in Phase 6 batch (8 sites across 3 files)
Migrates the 8 try/except sites in provider + adapter + orchestration
files by narrowing the exception types from broad 'except Exception' to
specific stdlib/domain exceptions.

Files and sites:
1. src/aggregate.py:50 (is_absolute_with_drive - PureWindowsPath)
   except Exception -> except (ValueError, OSError)
2. src/aggregate.py:105 (stats - ast.parse for element count)
   except Exception -> except (SyntaxError, ValueError)
3. src/aggregate.py:107 (stats outer try)
   except Exception -> except (OSError, SyntaxError)
4. src/aggregate.py:274 (file read with traceback)
   except Exception -> except (OSError, UnicodeDecodeError)
5. src/aggregate.py:446 (AST skeleton fallback)
   except Exception -> except (AttributeError, TypeError, ValueError)
6. src/multi_agent_conductor.py:317 (persona load fallback)
   except: -> except (OSError, KeyError, AttributeError, TypeError)
7. src/multi_agent_conductor.py:467 (persona apply with print)
   except Exception -> except (OSError, KeyError, AttributeError, TypeError)
8. src/multi_agent_conductor.py:517 (file view injection)
   except Exception -> except (OSError, UnicodeDecodeError, AttributeError, TypeError)
9. src/multi_agent_conductor.py:635 (response push with traceback)
   except Exception -> except (OSError, TypeError, AttributeError)
10. src/models.py:1081 (MCP config load)
    except Exception -> except (OSError, json.JSONDecodeError, UnicodeDecodeError)

Decisions (documented as no-op):
- src/dag_engine.py: 0 violations; 1 compliant site; no migration
- src/models.py:268 (RAISE AttributeError): legitimate __getattr__ pattern; keep
- src/gemini_cli_adapter.py:173-174 (RAISE): try/except + raise for SDK
  exception conversion; keep as-is (cascading if changed)
- src/conductor_tech_lead.py:120 UNCLEAR (Phase 2 decision): keep
- src/openai_compatible.py:87 UNCLEAR (Phase 2 decision): keep

Tests verified:
- tests/test_aggregate_flags.py (2 tests) PASS
- tests/test_context_composition_phase6.py (9 tests) PASS
- tests/test_tiered_context.py (5 tests) PASS
- tests/test_ui_summary_only_removal.py (6 tests) PASS
- tests/test_orchestration_logic.py (8 tests) PASS
- tests/test_dag_engine.py (9 tests) PASS
- tests/test_conductor_tech_lead.py (9 tests) PASS
2026-06-17 19:18:09 -04:00
ed aa56981c87 organizing (mostly aggregate.py) 2026-06-05 22:34:26 -04:00
ed 873edf42cf began to go through the files and organize imports and gui_2.py's new context defs
still a bunch to sift through after the last ai passes
2026-06-05 21:44:41 -04:00
ed e2305ff49a Antigravity is dog shit. 2026-05-20 07:51:58 -04:00
ed a5c0569417 progress on context composition 2026-05-17 07:27:55 -04:00
ed 22f3b9f33a Progress on context composition 2026-05-17 06:43:19 -04:00
ed 11c9aab685 fixing formatting 2026-05-16 02:33:14 -04:00
ed ef91c64a65 minor cleanup aggregae.py 2026-05-14 00:23:02 -04:00
ed b5e512f483 feat(sdm): inject structural dependency mapping tags across codebase
Adds [C: caller] tags to functions/methods and [M: mutation] / [U: usage] tags to class variables based on cross-module call analysis.
2026-05-13 22:35:52 -04:00
ed 26ef81a30e chore(fix): Resolve regressions in history logic, track startup, and GUI performance 2026-05-11 20:03:01 -04:00
ed 1303fc1402 feat(aggregate): Support custom view mode with annotated slices 2026-05-11 18:52:22 -04:00
ed 4dc801ec69 feat(context): Integrate view modes into aggregate pipeline 2026-05-11 15:17:00 -04:00
ed 5112debe14 feat(context): Implement directory grouping and file stats in context composition panel 2026-05-11 11:37:15 -04:00
ed 16b99d16a4 feat(context): Interactive Text Slice Highlighting with Fuzzy Anchors 2026-05-10 13:57:01 -04:00
ed b4f8633bd6 feat(context): Interactive AST Tree Masking with per-symbol toggles 2026-05-10 13:28:15 -04:00
ed cba79350de feat(context): Granular AST Control for C/C++ files 2026-05-10 13:05:32 -04:00
ed 76f4e1be4f refactor(aggregate): consolidate build_markdown and remove redundant file building 2026-05-10 10:13:56 -04:00
ed bcb0216ad9 refactor(aggregate): use standard formatting in build_tier3_context 2026-05-10 10:00:02 -04:00
ed c4a738c8ba refactor(aggregate): remove deprecated build_tier1_context and build_tier2_context 2026-05-09 17:44:15 -04:00
ed 8c06c1767b refactor(sdm): Global pass with refined 'External Only' SDM tags. Pruned redundant internal references and fixed indentation logic in injector. Verified full project compilation. 2026-05-09 15:00:35 -04:00
ed 696c08692e refactor(sdm): Refine SDM tags to 'External Only' and update core files. Pruned internal references to conserve tokens. 2026-05-09 14:55:06 -04:00
ed bd37aa731b fix(aggregate): Handle string path in _build_files_section_from_items 2026-05-06 21:11:10 -04:00
ed 3f592afa16 perf(aggregate): Optimize focus file lookups and ASTParser hoisting 2026-05-06 14:54:21 -04:00
ed 23c1e21661 feat(perf): Expand instrumentation with context manager and extended metrics 2026-05-06 14:30:22 -04:00
ed 2b66f3569b feat(beads): integrate Beads Mode backend, MCP tools, and GUI support 2026-05-06 13:48:47 -04:00
ed 36645f7f3e feat(aggregation): Implement tier-level aggregation strategy tied to Personas 2026-05-04 05:10:59 -04:00
ed 94598b605a checkpoint dealing with personal manager/editor 2026-03-10 23:47:53 -04:00
ed 74737ac9c7 fix(core): Anchor config.toml path to manual slop root
This fixes an issue where config.toml was erroneously saved to the current working directory (e.g. project dir) rather than the global manual slop directory.
2026-03-08 21:29:54 -04:00
ed 790904a094 fixes 2026-03-08 04:00:32 -04:00
ed d7a6ba7e51 feat(ui): Enhanced context control with per-file flags and Gemini cache awareness 2026-03-07 12:13:08 -05:00
ed 661566573c feat(mma): Complete Visual DAG implementation, fix link creation/deletion, and sync docs 2026-03-06 19:13:20 -05:00
ed 0e3b479bd6 WIP: PAIN 2026-03-05 14:24:03 -05:00
ed 5e69617f88 WIP: I HATE PYTHON 2026-03-05 13:55:40 -05:00
ed a0276e0894 feat(src): Move core implementation files to src/ directory 2026-03-04 09:55:44 -05:00