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
89ce7ad770
refactor(src): Phase 10.2 batch 3 - project_manager + orchestrator_pm Result migration
...
project_manager.py (3 sites):
- get_all_tracks returns list[dict[str, Any]] where each dict now
has an 'errors' field (list[ErrorInfo]) capturing per-track
metadata recovery. The 3 SILENT_SWALLOW sites (state.from_dict,
metadata.json, plan.md) now append to this list instead of
silently passing.
orchestrator_pm.py (2 sites):
- get_track_history_summary returns Result[str]. The 2 SILENT_SWALLOW
sites (metadata.json + spec.md reads) append to a scan_errors list
that's threaded through the Result.
Tests updated to check result.ok and use result.data.
2026-06-17 22:33:57 -04:00
ed
a5b40bcff4
refactor(src): narrow exception types in Phase 7 batch (8 sites across 7 files)
...
Migrates the 8 try/except sites in Infrastructure + Hook + Utility
files by narrowing the exception types from broad 'except Exception'
to specific stdlib/domain exceptions.
Files and sites:
1. src/api_hooks.py:453 (HookHandler.do_GET error response)
except Exception -> except (OSError, ValueError)
2. src/api_hooks.py:826 (HookHandler.do_POST error response)
except Exception -> except (OSError, ValueError)
3. src/api_hooks.py:916 (websocket connection cleanup)
except Exception -> except (OSError, ValueError)
4. src/file_cache.py:84 (path mtime stat)
except Exception -> except (OSError, ValueError)
5. src/orchestrator_pm.py:37 (track metadata.json read)
except Exception -> except (OSError, json.JSONDecodeError, UnicodeDecodeError)
6. src/orchestrator_pm.py:49 (track spec.md read)
except Exception -> except (OSError, UnicodeDecodeError)
7. src/outline_tool.py:67 (ast.unparse node.returns)
except Exception -> except (ValueError, TypeError)
8. src/outline_tool.py:90 (ast.unparse ImGui context)
except Exception -> except (ValueError, TypeError, AttributeError)
9. src/shell_runner.py:99 (subprocess cleanup on error)
except Exception -> except (OSError, subprocess.SubprocessError)
10. src/summarize.py:187 (summarise_file fallback)
except Exception -> except (OSError, ValueError, TypeError, AttributeError)
11. src/summarize.py:191 (summarise_file outer)
except Exception -> except (OSError, ValueError, TypeError)
Decisions:
- src/api_hook_client.py: 0 violations; 2 compliant sites; no migration
- src/hot_reloader.py:58 - kept except Exception (module reload can
raise any exception; test fixture uses generic Exception)
- src/api_hooks.py:938-941 - RETHROW (keep as-is; cascading if changed)
Tests verified:
- tests/test_outline_tool.py (3 tests) PASS
- tests/test_hot_reloader.py (8 tests) PASS
- tests/test_hot_reload_integration.py (13 tests) PASS
2026-06-17 19:20:49 -04:00
ed
d87d909f7b
refactor(ai_client): rename send_result to send in 5 src/ call sites
...
Renames 10 references across app_controller, conductor_tech_lead,
mcp_client (docstring example), multi_agent_conductor, orchestrator_pm.
5 call sites in ai_client.send_result(...) -> ai_client.send(...)
3 print strings mentioning send_result
1 docstring comment (conductor_tech_lead)
1 docstring example (mcp_client) 'src.ai_client.send_result' -> 'src.ai_client.send'
Test suite state: still red, but all src/-level call sites are now
renamed. Remaining failures are in test files (mocks and patches
that still reference send_result).
Refs: conductor/tracks/send_result_to_send_20260616/
2026-06-17 00:27:47 -04:00
ed
7ea802ab80
refactor(orchestrator_pm): migrate to send_result() (G2, public_api_migration_and_ui_polish_20260615 Phase 1.2)
...
Replaces deprecated ai_client.send(md_content='', user_message=user_message,
enable_tools=False) with ai_client.send_result(...) and branches on
result.ok. On error, logs the ui_message() and returns [] (the function
returns a list of track definitions or [] on failure).
The 3 tests in test_orchestrator_pm.py + 1 in test_orchestrator_pm_history.py
now fail because they mock src.ai_client.send. These will be fixed in
Phase 2.14-2.15 by mocking send_result instead.
2026-06-15 15:57:00 -04:00
ed
339b062913
more organization
2026-06-06 11:08:07 -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
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
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
94598b605a
checkpoint dealing with personal manager/editor
2026-03-10 23:47:53 -04:00
ed
f439b5c525
wip fixing regressions, removing hardcoded paths
2026-03-06 19:24:08 -05:00
ed
f580165c5b
feat(conductor): Implement configurable paths and mark track 'Conductor Path Configuration' as complete
2026-03-06 16:43:11 -05:00
ed
90a0f93518
worst bug with visual orchestration
2026-03-06 00:08:10 -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