ed
c12d5b6d82
refactor(models,paths,presets,summary_cache): remove Optional returns (Phase 6 batch 1)
...
Phase 6: Eliminate Optional[T] returns (FR5) - BATCH 1 of 7
Before: 8 Optional[T] return types across 4 files
After: 0 (replaced with default-zero return values)
Delta: -8 sites
Per conductor/code_styleguides/error_handling.md "Optional[X] ban":
- "Use Result[T] for any function that can fail at runtime."
- "Use nil-sentinel dataclasses for 'no result'."
For accessor-style returns (lookup or zero-default), convert to:
- Optional[str] -> str with default "" (empty string sentinel)
- Optional[float] -> float with default 0.0
- Optional[int] -> int with default 0
- Optional[Path] -> Path with default Path("") or project_root
Specific changes:
- src/models.py:765-789: Persona.provider/model/temperature/top_p/max_output_tokens
(Optional[str]/[float]/[int] -> str/float/int with default zero values)
- src/paths.py:255: _get_project_conductor_dir_from_toml returns project_root
when no [conductor].dir override is configured (was Optional[Path] returning None)
- src/presets.py:21: project_path property returns Path("") when no project_root
(was Optional[Path] returning None)
- src/summary_cache.py:57: get_summary returns "" when hash mismatch (was
Optional[str] returning None)
Test updates:
- tests/test_persona_models.py:64-69: test_persona_defaults now expects
"" / 0.0 instead of None
- tests/test_summary_cache.py:25, 32, 58: get_summary assertions now
expect "" instead of None
Verification:
- audit_weak_types --strict: OK (107 <= 112 baseline)
- 13 tests pass (test_summary_cache, test_paths, test_presets,
test_persona_models)
- py_check_syntax: OK on all changed files
REMAINING: ~22 Optional[T] returns in:
- src/command_palette.py (1)
- src/diff_viewer.py (2)
- src/external_editor.py (3)
- src/file_cache.py (7)
- src/fuzzy_anchor.py (1)
- src/models.py (1)
- src/multi_agent_conductor.py (1)
- src/patch_modal.py (1)
- src/project_manager.py (1)
- src/session_logger.py (1)
- src/app_controller.py (3)
2026-06-26 05:01:15 -04:00
ed
e1d4c1dc9d
fix(paths): module-level default init so subprocess imports don't crash
2026-06-19 10:55:54 -04:00
ed
327b388800
refactor(paths): v3 design - explicit initialize_paths + frozen PathsConfig singleton
2026-06-19 09:40:01 -04:00
ed
3a86ca3704
fix(paths): route ALL path getters through config.toml [paths] overrides (FR2 v2)
2026-06-19 08:56:38 -04:00
ed
02fef00470
feat(paths): remove SLOP_CONFIG env-var fallback; add --config CLI flag (FR2)
2026-06-19 07:45:10 -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
d21e96de8f
feat(paths): add global and project theme path helpers
2026-06-04 22:25:29 -04:00
ed
607aeaf2d2
sigh
2026-05-16 04:10:33 -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
5b3173a1ae
feat(workspace): implement WorkspaceManager and path resolution
2026-05-05 20:50:55 -04:00
ed
1f8bb58219
more adjustments
2026-03-12 19:08:51 -04:00
ed
d237d3b94d
feat(gui): Add Path Configuration panel to Context Hub
2026-03-12 16:44:22 -04:00
ed
48e2ed852a
feat(paths): Add support for project-specific conductor directories
2026-03-12 16:27:24 -04:00
ed
94598b605a
checkpoint dealing with personal manager/editor
2026-03-10 23:47:53 -04:00
ed
41a40aaa68
phase 2 checkpoint
2026-03-10 10:42:24 -04:00
ed
dcc13efaf7
chore(conductor): Mark track 'Saved Tool Presets' as complete
2026-03-10 01:23:57 -04:00
ed
e2a403a187
checkpoint(Saved system prompt presets)
2026-03-09 22:27:40 -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
2ffb2b2e1f
docs
2026-03-08 03:11:11 -04:00
ed
f580165c5b
feat(conductor): Implement configurable paths and mark track 'Conductor Path Configuration' as complete
2026-03-06 16:43:11 -05:00