diff --git a/conductor/tracks.md b/conductor/tracks.md index 4879f57..91c9099 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -13,3 +13,8 @@ This file tracks all major tracks for the project. Each track has its own detail - [ ] **Track: Comprehensive Conductor & MMA GUI UX** *Link: [./tracks/comprehensive_gui_ux_20260228/](./tracks/comprehensive_gui_ux_20260228/)* + +--- + +- [ ] **Track: Consolidate Temp/Test Cruft & Log Taxonomy** +*Link: [./tracks/consolidate_cruft_and_log_taxonomy_20260228/](./tracks/consolidate_cruft_and_log_taxonomy_20260228/)* diff --git a/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/index.md b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/index.md new file mode 100644 index 0000000..1e49fc8 --- /dev/null +++ b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/index.md @@ -0,0 +1,5 @@ +# Track consolidate_cruft_and_log_taxonomy_20260228 Context + +- [Specification](./spec.md) +- [Implementation Plan](./plan.md) +- [Metadata](./metadata.json) diff --git a/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/metadata.json b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/metadata.json new file mode 100644 index 0000000..445f212 --- /dev/null +++ b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/metadata.json @@ -0,0 +1,8 @@ +{ + "description": "Consolidate temp/test file cruft into a specific directory we can add to gitignore that shouldn\u0027t be tracked. Migrate existing session logs into a ./logs/sessions category. Make sure future logs get dumped into there.", + "track_id": "consolidate_cruft_and_log_taxonomy_20260228", + "type": "chore", + "created_at": "2026-03-01T08:49:02Z", + "status": "new", + "updated_at": "2026-03-01T08:49:02Z" +} diff --git a/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/plan.md b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/plan.md new file mode 100644 index 0000000..72c59bf --- /dev/null +++ b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/plan.md @@ -0,0 +1,24 @@ +# Implementation Plan: Consolidate Temp/Test Cruft & Log Taxonomy + +## Phase 1: Directory Structure & Gitignore +- [ ] Task: Create `tests/artifacts/`, `logs/sessions/`, `logs/agents/`, and `logs/errors/`. +- [ ] Task: Update `.gitignore` to exclude `tests/artifacts/` and all `logs/` sub-folders. +- [ ] Task: Conductor - User Manual Verification 'Phase 1: Directory Structure & Gitignore' (Protocol in workflow.md) + +## Phase 2: App Logic Redirection +- [ ] Task: Update `session_logger.py` to use `logs/sessions/`, `logs/agents/`, and `logs/errors/` for its outputs. +- [ ] Task: Modify `project_manager.py` to store temporary project TOMLs in `tests/artifacts/`. +- [ ] Task: Update `shell_runner.py` or `scripts/mma_exec.py` to use `tests/artifacts/` for its temporary scripts and outputs. +- [ ] Task: Add foundational support (e.g., in `metadata.json` for sessions) to store "annotated names" for logs. +- [ ] Task: Conductor - User Manual Verification 'Phase 2: App Logic Redirection' (Protocol in workflow.md) + +## Phase 3: Migration Script +- [ ] Task: Create `scripts/migrate_cruft.ps1` to identify and move existing files (e.g., `temp_*.toml`, `*.log`) from the root to their new locations. +- [ ] Task: Test the migration script on a few dummy files. +- [ ] Task: Execute the migration script and verify the project root is clean. +- [ ] Task: Conductor - User Manual Verification 'Phase 3: Migration Script' (Protocol in workflow.md) + +## Phase 4: Regression Testing & Final Verification +- [ ] Task: Run a full session through the GUI and verify that all logs and temp files are created in the new sub-directories. +- [ ] Task: Verify that `tests/artifacts/` is correctly ignored by git. +- [ ] Task: Conductor - User Manual Verification 'Phase 4: Regression Testing & Final Verification' (Protocol in workflow.md) diff --git a/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/spec.md b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/spec.md new file mode 100644 index 0000000..a8984ea --- /dev/null +++ b/conductor/tracks/consolidate_cruft_and_log_taxonomy_20260228/spec.md @@ -0,0 +1,32 @@ +# Track Specification: Consolidate Temp/Test Cruft & Log Taxonomy + +## Overview +This track focuses on cleaning up the project root by consolidating temporary and test-related files into a dedicated directory and establishing a structured taxonomy for session logs. This will improve project organization and make manual file exploration easier before a dedicated GUI log viewer is implemented. + +## Goals +1. **Establish Artifacts Directory:** Create `tests/artifacts/` as the primary location for temporary test data and non-persistent cruft. +2. **Gitignore Updates:** Update `.gitignore` to ensure this new directory and its contents are not tracked. +3. **Log Taxonomy Setup:** Organize `./logs/` into clear sub-categories: `sessions/`, `agents/`, and `errors/`. +4. **Migration Script:** Provide a PowerShell script to move existing files and logs into the new structure. +5. **Future-Proofing:** Update the application logic (e.g., `session_logger.py`, `project_manager.py`) to ensure all future logs and temp files are created in the correct sub-directories. +6. **Annotated Names Capability:** Add foundational support for attaching human-readable "annotated names" to log sessions for easier GUI lookup later. + +## Functional Requirements +- **Structure:** Create `tests/artifacts/`, `logs/sessions/`, `logs/agents/`, and `logs/errors/`. +- **Configuration:** Update the app's default paths for temporary files (e.g., `temp_project.toml`) to use `tests/artifacts/`. +- **Logging Logic:** Modify `SessionLogger` to use the new taxonomy based on the type of log (e.g., `agents/` for sub-agent runs). +- **Migration Tool:** A script (`scripts/migrate_cruft.ps1`) that identifies and moves existing root-level `temp_*.toml`, `*.log`, and other cruft. + +## Non-Functional Requirements +- **Non-Destructive:** The migration script should use `Move-Item -Force` but ideally verify file presence before moving. +- **Cleanliness:** No new temporary files should appear in the project root after this track is implemented. + +## Acceptance Criteria +- `tests/artifacts/` exists and contains redirected temp files. +- `.gitignore` excludes `tests/artifacts/` and all `logs/` sub-folders. +- Existing logs are successfully moved into `logs/sessions/`, `logs/agents/`, or `logs/errors/`. +- A new session correctly places its logs into the categorized sub-folders. + +## Out of Scope +- The full GUI implementation of the log viewer (this is just the filesystem foundation). +- Consolidation of `.git` or `.venv` directories.