From f5ca5920468d07c4ef4e15d7a59f679c5fd794fe Mon Sep 17 00:00:00 2001 From: Ed_ Date: Fri, 6 Mar 2026 15:01:19 -0500 Subject: [PATCH] last track --- TASKS.md | 7 +++- conductor/tracks.md | 15 +++++++- .../index.md | 9 +++++ .../metadata.json | 9 +++++ .../plan.md | 37 +++++++++++++++++++ .../spec.md | 32 ++++++++++++++++ 6 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 conductor/tracks/conductor_path_configurable_20260306/index.md create mode 100644 conductor/tracks/conductor_path_configurable_20260306/metadata.json create mode 100644 conductor/tracks/conductor_path_configurable_20260306/plan.md create mode 100644 conductor/tracks/conductor_path_configurable_20260306/spec.md diff --git a/TASKS.md b/TASKS.md index 458f26f..ae3eeee 100644 --- a/TASKS.md +++ b/TASKS.md @@ -1,4 +1,4 @@ -# TASKS.md +# TASKS.md @@ -10,6 +10,11 @@ --- +#### 0. conductor_path_configurable_20260306 +- **Status:** Planned +- **Priority:** CRITICAL +- **Goal:** Eliminate hardcoded conductor paths. Make path configurable via config.toml or CONDUCTOR_DIR env var. Allow running app to use separate directory from development tracks. + ## Phase 3: Future Horizons (Tracks 1-20) *Initialized: 2026-03-06* diff --git a/conductor/tracks.md b/conductor/tracks.md index 062e838..82f480e 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -1,4 +1,17 @@ -# Project Tracks +# Project Tracks + +This file tracks all major tracks for the project. Each track has its own detailed plan in its respective folder. + +--- + +## Phase 0: Infrastructure (Critical) +*Must be completed before Phase 3* + +0. [ ] **Track: Conductor Path Configuration** + *Link: [./tracks/conductor_path_configurable_20260306/](./tracks/conductor_path_configurable_20260306/)* + +--- + This file tracks all major tracks for the project. Each track has its own detailed plan in its respective folder. diff --git a/conductor/tracks/conductor_path_configurable_20260306/index.md b/conductor/tracks/conductor_path_configurable_20260306/index.md new file mode 100644 index 0000000..43e124f --- /dev/null +++ b/conductor/tracks/conductor_path_configurable_20260306/index.md @@ -0,0 +1,9 @@ +# Conductor Path Configuration + +**Track ID:** conductor_path_configurable_20260306 + +**Status:** Planned + +**See Also:** +- [Spec](./spec.md) +- [Plan](./plan.md) diff --git a/conductor/tracks/conductor_path_configurable_20260306/metadata.json b/conductor/tracks/conductor_path_configurable_20260306/metadata.json new file mode 100644 index 0000000..b628fc0 --- /dev/null +++ b/conductor/tracks/conductor_path_configurable_20260306/metadata.json @@ -0,0 +1,9 @@ +{ + "id": "conductor_path_configurable_20260306", + "name": "Conductor Path Configuration", + "status": "planned", + "created_at": "2026-03-06T00:00:00Z", + "updated_at": "2026-03-06T00:00:00Z", + "type": "infrastructure", + "priority": "critical" +} diff --git a/conductor/tracks/conductor_path_configurable_20260306/plan.md b/conductor/tracks/conductor_path_configurable_20260306/plan.md new file mode 100644 index 0000000..629e3d6 --- /dev/null +++ b/conductor/tracks/conductor_path_configurable_20260306/plan.md @@ -0,0 +1,37 @@ +# Implementation Plan: Conductor Path Configuration (conductor_path_configurable_20260306) + +## Phase 1: Centralized Path Resolver +- [ ] Task: Create path resolver module + - WHERE: src/orchestrator_pm.py or new module + - WHAT: Single function to get conductor path + - HOW: Check env var, then config, then default + - SAFETY: Immutable after first call + +## Phase 2: Update Modules +- [ ] Task: Update orchestrator_pm.py + - WHERE: src/orchestrator_pm.py + - WHAT: Use centralized resolver + - HOW: Import and use get_conductor_path() +- [ ] Task: Update project_manager.py + - WHERE: src/project_manager.py + - WHAT: Use centralized path + - HOW: Import from orchestrator_pm +- [ ] Task: Update app_controller.py + - WHERE: src/app_controller.py + - WHAT: Use centralized path + - HOW: Import from orchestrator_pm + +## Phase 3: Config Support +- [ ] Task: Add to config.toml + - WHERE: config.toml + - WHAT: conductor_path option + - HOW: toml key +- [ ] Task: Add env var support + - WHERE: src/orchestrator_pm.py + - WHAT: CONDUCTOR_DIR env var + - HOW: os.environ.get() + +## Phase 4: Verification +- [ ] Task: Test with different paths +- [ ] Task: Test default behavior +- [ ] Task: Conductor - Phase Verification diff --git a/conductor/tracks/conductor_path_configurable_20260306/spec.md b/conductor/tracks/conductor_path_configurable_20260306/spec.md new file mode 100644 index 0000000..c7a640a --- /dev/null +++ b/conductor/tracks/conductor_path_configurable_20260306/spec.md @@ -0,0 +1,32 @@ +# Track Specification: Conductor Path Configuration (conductor_path_configurable_20260306) + +## Overview +Eliminate hardcoded paths in the application. Make the conductor directory path configurable via config.toml or environment variable, allowing the running app to use a different directory from the development tracks. + +## Current State Audit +### Already Implemented +- CONDUCTOR_PATH in orchestrator_pm.py is hardcoded to Path(\"conductor\") +- project_manager.py uses Path(base_dir) / \"conductor\" / \"tracks\" +- app_controller.py hardcodes \"conductor\" and \"conductor/tracks\" + +### Gaps to Fill +- No config-based path override +- No environment variable support + +## Goals +- Make conductor path configurable +- Support config.toml and environment variable +- Backward compatible (default to ./conductor) + +## Functional Requirements +- Config file support in config.toml +- Environment variable support (CONDUCTOR_DIR) +- Runtime path resolution +- All modules use centralized path resolver + +## Acceptance Criteria +- [ ] config.toml has conductor_path option +- [ ] CONDUCTOR_DIR env var works +- [ ] Default remains ./conductor +- [ ] All modules use resolved path +- [ ] Backward compatible