diff --git a/src/aggregate.py b/src/aggregate.py index 4083e43..b028b68 100644 --- a/src/aggregate.py +++ b/src/aggregate.py @@ -342,16 +342,17 @@ def run(config: dict[str, Any]) -> tuple[str, Path, list[dict[str, Any]]]: def main() -> None: # Load global config to find active project - config_path = Path(os.environ.get("SLOP_CONFIG", "config.toml")) + from src.paths import get_config_path + config_path = get_config_path() if not config_path.exists(): - print("config.toml not found.") + print(f"{config_path} not found.") return with open(config_path, "rb") as f: global_cfg = tomllib.load(f) active_path = global_cfg.get("projects", {}).get("active") if not active_path: - print("No active project found in config.toml.") + print(f"No active project found in {config_path}.") return # Use project_manager to load project (handles history segregation) proj = project_manager.load_project(active_path) diff --git a/src/paths.py b/src/paths.py index 089fa51..fc951c1 100644 --- a/src/paths.py +++ b/src/paths.py @@ -49,7 +49,8 @@ from typing import Optional _RESOLVED: dict[str, Path] = {} def get_config_path() -> Path: - return Path(os.environ.get("SLOP_CONFIG", "config.toml")) + root_dir = Path(__file__).resolve().parent.parent + return Path(os.environ.get("SLOP_CONFIG", root_dir / "config.toml")) def _resolve_path(env_var: str, config_key: str, default: str) -> Path: if env_var in os.environ: diff --git a/tests/test_paths.py b/tests/test_paths.py index 4d98ac7..b5346c3 100644 --- a/tests/test_paths.py +++ b/tests/test_paths.py @@ -13,7 +13,9 @@ def test_default_paths(): assert paths.get_conductor_dir() == Path("conductor") assert paths.get_logs_dir() == Path("logs/sessions") assert paths.get_scripts_dir() == Path("scripts/generated") - assert paths.get_config_path() == Path("config.toml") + # config path should now be an absolute path relative to src/paths.py + root_dir = Path(paths.__file__).resolve().parent.parent + assert paths.get_config_path() == root_dir / "config.toml" assert paths.get_tracks_dir() == Path("conductor/tracks") assert paths.get_archive_dir() == Path("conductor/archive")