chore(conductor): Add new track 'Consolidate Temp/Test Cruft & Log Taxonomy'

This commit is contained in:
2026-03-01 08:49:19 -05:00
parent 26287215c5
commit efaf4e98c4
5 changed files with 74 additions and 0 deletions

View File

@@ -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/)*

View File

@@ -0,0 +1,5 @@
# Track consolidate_cruft_and_log_taxonomy_20260228 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./metadata.json)

View File

@@ -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"
}

View File

@@ -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)

View File

@@ -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.