feat(conductor): Use project-specific conductor directory in project_manager and app_controller

This commit is contained in:
2026-03-12 16:38:01 -04:00
parent 48e2ed852a
commit 3999e9c86d
2 changed files with 15 additions and 9 deletions

View File

@@ -245,7 +245,7 @@ def save_track_state(track_id: str, state: 'TrackState', base_dir: Union[str, Pa
"""
Saves a TrackState object to conductor/tracks/<track_id>/state.toml.
"""
track_dir = Path(base_dir) / paths.get_track_state_dir(track_id)
track_dir = paths.get_track_state_dir(track_id, project_path=str(base_dir))
track_dir.mkdir(parents=True, exist_ok=True)
state_file = track_dir / "state.toml"
data = clean_nones(state.to_dict())
@@ -257,7 +257,7 @@ def load_track_state(track_id: str, base_dir: Union[str, Path] = ".") -> Optiona
Loads a TrackState object from conductor/tracks/<track_id>/state.toml.
"""
from src.models import TrackState
state_file = Path(base_dir) / paths.get_track_state_dir(track_id) / "state.toml"
state_file = paths.get_track_state_dir(track_id, project_path=str(base_dir)) / 'state.toml'
if not state_file.exists():
return None
with open(state_file, "rb") as f:
@@ -302,7 +302,7 @@ def get_all_tracks(base_dir: Union[str, Path] = ".") -> list[dict[str, Any]]:
Handles missing or malformed metadata.json or state.toml by falling back
to available info or defaults.
"""
tracks_dir = Path(base_dir) / paths.get_tracks_dir()
tracks_dir = paths.get_tracks_dir(project_path=str(base_dir))
if not tracks_dir.exists():
return []
results: list[dict[str, Any]] = []