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