diff --git a/TASKS.md b/TASKS.md index 6e39693..7960ca1 100644 --- a/TASKS.md +++ b/TASKS.md @@ -6,85 +6,99 @@ *(none — all planned tracks queued below)* ## Completed This Session -- `test_architecture_integrity_audit_20260304` — Comprehensive test architecture audit completed. Wrote exhaustive report_gemini.md detailing fixing the "Triple Bingo" streaming history explosion, Destructive IPC Read drops, and Asyncio deadlocks. Checkpoint: e3c6b9e. -- `mma_agent_focus_ux_20260302` — Per-tier source_tier tagging on comms+tool entries; Focus Agent combo UI; filter logic in comms+tool panels; [tier] label per comms entry. 18 tests. Checkpoint: b30e563. -- `feature_bleed_cleanup_20260302` — Removed dead comms panel dup, dead menubar block, duplicate __init__ vars; added working Quit; fixed Token Budget layout. All phases verified. Checkpoint: 0d081a2. +*(See archive: strict_execution_queue_completed_20260306)* --- -## Planned: The Strict Execution Queue -*All previously loose backlog items have been rigorously spec'd and initialized as Conductor Tracks. They MUST be executed in this exact order.* +## Phase 3: Future Horizons (Tracks 1-19) +*Initialized: 2026-03-06* -> [!WARNING] TEST ARCHITECTURE DEBT NOTICE (2026-03-05) -> The `gui_decoupling` track exposed deep flaws in the test architecture (asyncio event loop exhaustion, IPC polling race conditions, phantom Windows subprocesses). -> **Current Testing Policy:** -> - Full-suite integration tests (`live_gui` / extended sims) are currently considered **"flaky by design"**. -> - Do NOT write new `live_gui` simulations until Track #1, #2, and #3 are complete. -> - If unit tests pass but `test_extended_sims.py` hangs or fails locally, you may manually verify the GUI behavior and proceed. +### Architecture & Backend -### 1. `hook_api_ui_state_verification_20260302` (Active/Next) -- **Status:** Initialized +#### 1. \ rue_parallel_worker_execution_20260306- **Status:** Planned - **Priority:** High -- **Goal:** Add a `/api/gui/state` GET endpoint. Wire UI state into `_settable_fields` to enable programmatic `live_gui` testing without user confirmation. -- **Fixes Test Debt:** Replaces brittle `time.sleep()` and string-matching assertions in simulations with deterministic API queries. +- **Goal:** Implement true concurrency for the DAG engine. Once threading.local() is in place, the ExecutionEngine should spawn independent Tier 3 workers in parallel (e.g., 4 workers handling 4 isolated tests simultaneously). Requires strict file-locking or a Git-based diff-merging strategy to prevent AST collision. -### 2. `asyncio_decoupling_refactor_20260306` -- **Status:** Initialized +#### 2. \deep_ast_context_pruning_20260306- **Status:** Planned - **Priority:** High -- **Goal:** Resolve deep asyncio/threading deadlocks. Replace `asyncio.Queue` in `AppController` with a standard `queue.Queue`. Ensure phantom subprocesses are killed. -- **Fixes Test Debt:** Eliminates `RuntimeError: Event loop is closed` and zombie port 8999 hijacking. Restores full-suite reliability. +- **Goal:** Before dispatching a Tier 3 worker, use tree_sitter to automatically parse the target file AST, strip out unrelated function bodies, and inject a surgically condensed skeleton into the worker prompt. Guarantees the AI only sees what it needs to edit, drastically reducing token burn. -### 3. `mock_provider_hardening_20260305` -- **Status:** Initialized +#### 3. \ isual_dag_ticket_editing_20260306- **Status:** Planned - **Priority:** Medium -- **Goal:** Introduce negative testing paths (malformed JSON, timeouts) into the mock AI provider. -- **Fixes Test Debt:** Allows the test suite to verify error handling flows that were previously masked by a mock provider that only ever returned success. +- **Goal:** Replace the linear ticket list in the GUI with an interactive Node Graph using ImGui Bundle node editor. Allow the user to visually drag dependency lines, split nodes, or delete tasks before clicking Execute Pipeline. -### 4. `robust_json_parsing_tech_lead_20260302` -- **Status:** Initialized +#### 4. \ ier4_auto_patching_20260306- **Status:** Planned - **Priority:** Medium -- **Goal:** Implement an auto-retry loop that catches `JSONDecodeError` and feeds the traceback to the Tier 2 model for self-correction. -- **Test Debt Note:** Rely strictly on in-process `unittest.mock` to verify the retry logic until stabilization tracks are done. +- **Goal:** Elevate Tier 4 from a log summarizer to an auto-patcher. When a verification test fails, Tier 4 generates a .patch file. The GUI intercepts this and presents a side-by-side Diff Viewer. The user clicks Apply Patch to instantly resume the pipeline. -### 5. `concurrent_tier_source_tier_20260302` -- **Status:** Initialized +#### 5. ative_orchestrator_20260306- **Status:** Planned - **Priority:** Low -- **Goal:** Replace global state with `threading.local()` or explicit context passing to guarantee thread-safe logging when multiple Tier 3 workers process tickets in parallel. -- **Test Debt Note:** Use in-process mocks to verify concurrency. - -### 6. `manual_ux_validation_20260302` -- **Status:** Initialized -- **Priority:** Medium -- **Goal:** Highly interactive human-in-the-loop track to review and adjust GUI UX, animations, popups, and layout structures based on slow-interval simulation feedback. -- **Test Debt Note:** Naturally bypasses automated testing debt as it is purely human-in-the-loop. - -### 7. `async_tool_execution_20260303` -- **Status:** Initialized -- **Priority:** Medium -- **Goal:** Refactor MCP tool execution to utilize `asyncio.gather` or thread pools to run multiple tools concurrently within a single AI loop. -- **Test Debt Note:** Use in-process mocks to verify concurrency. - -### 8. `simulation_fidelity_enhancement_20260305` -- **Status:** Initialized -- **Priority:** Low -- **Goal:** Add human-like jitter, hesitation, and reading latency to the UserSimAgent. +- **Goal:** Absorb the Conductor extension entirely into the core application. Manual Slop should natively read/write plan.md, manage the metadata.json, and orchestrate the MMA tiers in pure Python, removing the dependency on external CLI shell executions (mma_exec.py). --- -## Phase 3: Future Horizons (Post-Hardening Backlog) -*To be evaluated in a future Tier 1 session once the Strict Execution Queue is cleared and the architectural foundation is stabilized.* +### GUI Overhauls & Visualizations -### 1. True Parallel Worker Execution (The DAG Realization) -**Goal:** Implement true concurrency for the DAG engine. Once `threading.local()` is in place, the `ExecutionEngine` should spawn independent Tier 3 workers in parallel (e.g., 4 workers handling 4 isolated tests simultaneously). Requires strict file-locking or a Git-based diff-merging strategy to prevent AST collision. +#### 6. \cost_token_analytics_20260306- **Status:** Planned +- **Priority:** High +- **Goal:** Real-time cost tracking panel displaying cost per model, session totals, and breakdown by tier. Uses existing cost_tracker.py which is implemented but has no GUI. -### 2. Deep AST-Driven Context Pruning (RAG for Code) -**Goal:** Before dispatching a Tier 3 worker, use `tree_sitter` to automatically parse the target file's AST, strip out unrelated function bodies, and inject a surgically condensed skeleton into the worker's prompt. Guarantees the AI only "sees" what it needs to edit, drastically reducing token burn. +#### 7. \performance_dashboard_20260306- **Status:** Planned +- **Priority:** High +- **Goal:** Expand performance metrics panel with CPU/RAM usage, frame time, input lag with historical graphs. Uses existing performance_monitor.py which has basic metrics but no detailed visualization. -### 3. Visual DAG & Interactive Ticket Editing -**Goal:** Replace the linear ticket list in the GUI with an interactive Node Graph using ImGui Bundle's node editor. Allow the user to visually drag dependency lines, split nodes, or delete tasks before clicking "Execute Pipeline." +#### 8. \mma_multiworker_viz_20260306- **Status:** Planned +- **Priority:** High +- **Goal:** Split-view GUI for parallel worker streams per tier. Visualize multiple concurrent workers with individual status, output tabs, and resource usage. Enable kill/restart per worker. -### 4. Advanced Tier 4 QA Auto-Patching -**Goal:** Elevate Tier 4 from a log summarizer to an auto-patcher. When a verification test fails, Tier 4 generates a `.patch` file. The GUI intercepts this and presents a side-by-side Diff Viewer. The user clicks "Apply Patch" to instantly resume the pipeline. +#### 9. \cache_analytics_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Gemini cache hit/miss visualization, memory usage, TTL status display. Uses existing ai_client.get_gemini_cache_stats() which is not displayed in GUI. -### 5. Transitioning to a Native Orchestrator -**Goal:** Absorb the Conductor extension entirely into the core application. Manual Slop should natively read/write `plan.md`, manage the `metadata.json`, and orchestrate the MMA tiers in pure Python, removing the dependency on external CLI shell executions (`mma_exec.py`). \ No newline at end of file +#### 10. \ ool_usage_analytics_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Analytics panel showing most-used tools, average execution time, and failure rates. Uses existing tool_log_callback data. + +#### 11. \session_insights_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Token usage over time, cost projections, session summary with efficiency scores. Visualize session_logger data. + +#### 12. \ rack_progress_viz_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Progress bars and percentage completion for active tracks and tickets. Better visualization of DAG execution state. + +#### 13. \manual_skeleton_injection_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Add UI controls to manually flag files for skeleton injection in discussions. Allow agent to request full file reads or specific def/class definitions on-demand. Currently skeletons are auto-generated for workers only; extend to manual discussions with user-controlled file selection and def-level retrieval. + +#### 14. \on_demand_def_lookup_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Add ability for agent to request specific class/function definitions during discussion. + +#### 15. \manual_ux_validation_20260302- **Status:** Planned +- **Priority:** Medium +- **Goal:** Interactive human-in-the-loop track to review and adjust GUI UX, animations, popups, and layout structures. User can @mention a symbol and get its full definition inline, or allow the AI to auto-fetch definitions when it encounters unknown symbols. Complements skeleton injection by providing deep-dive capability. + +--- + +### Manual UX Controls + +#### 15. \ icket_queue_mgmt_20260306- **Status:** Planned +- **Priority:** High +- **Goal:** Allow user to manually reorder, prioritize, or requeue tickets in the DAG. Add drag-drop reordering, priority tags, and bulk selection for execute/skip/block. + +#### 16. \kill_abort_workers_20260306- **Status:** Planned +- **Priority:** High +- **Goal:** Add ability to kill/abort a running Tier 3 worker mid-execution. Currently workers run to completion; add cancel button with forced termination option. + +#### 17. \manual_block_control_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Allow user to manually block or unblock tickets with custom reasons. Currently blocked tickets rely on dependency resolution; add manual override. + +#### 18. \pipeline_pause_resume_20260306- **Status:** Planned +- **Priority:** Medium +- **Goal:** Add global pause/resume for the entire DAG execution pipeline. Allow user to freeze all worker activity and resume later. + +#### 19. \per_ticket_model_20260306- **Status:** Planned +- **Priority:** Low +- **Goal:** Allow user to manually select which model to use for a specific ticket, overriding the default tier model. Useful for forcing a smarter model on hard tickets. diff --git a/conductor/tracks.md b/conductor/tracks.md index cdd9fad..062e838 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -4,84 +4,109 @@ This file tracks all major tracks for the project. Each track has its own detail --- -## Current Tracks (Strict Execution Queue) +## Phase 3: Future Horizons (Tracks 1-20) +*Initialized: 2026-03-06* -*The following tracks MUST be executed in this exact order to safely resolve tech debt before feature development.* +### Architecture & Backend -1. [x] **Track: Hook API UI State Verification** -*Link: [./tracks/hook_api_ui_state_verification_20260302/](./tracks/hook_api_ui_state_verification_20260302/)* +1. [ ] **Track: True Parallel Worker Execution (The DAG Realization)** + *Link: [./tracks/true_parallel_worker_execution_20260306/](./tracks/true_parallel_worker_execution_20260306/)* -2. [x] **Track: Asyncio Decoupling & Queue Refactor** -*Link: [./tracks/asyncio_decoupling_refactor_20260306/](./tracks/asyncio_decoupling_refactor_20260306/)* +2. [ ] **Track: Deep AST-Driven Context Pruning (RAG for Code)** + *Link: [./tracks/deep_ast_context_pruning_20260306/](./tracks/deep_ast_context_pruning_20260306/)* -3. [x] **Track: Mock Provider Hardening** -*Link: [./tracks/mock_provider_hardening_20260305/](./tracks/mock_provider_hardening_20260305/)* +3. [ ] **Track: Visual DAG & Interactive Ticket Editing** + *Link: [./tracks/visual_dag_ticket_editing_20260306/](./tracks/visual_dag_ticket_editing_20260306/)* -4. [x] **Track: Robust JSON Parsing for Tech Lead** -*Link: [./tracks/robust_json_parsing_tech_lead_20260302/](./tracks/robust_json_parsing_tech_lead_20260302/)* +4. [ ] **Track: Advanced Tier 4 QA Auto-Patching** + *Link: [./tracks/tier4_auto_patching_20260306/](./tracks/tier4_auto_patching_20260306/)* -5. [x] **Track: Concurrent Tier Source Isolation** -*Link: [./tracks/concurrent_tier_source_tier_20260302/](./tracks/concurrent_tier_source_tier_20260302/)* +5. [ ] **Track: Transitioning to Native Orchestrator** + *Link: [./tracks/native_orchestrator_20260306/](./tracks/native_orchestrator_20260306/)* -6. [x] **Track: Asynchronous Tool Execution Engine** -*Link: [./tracks/async_tool_execution_20260303/](./tracks/async_tool_execution_20260303/)* +--- -7. [x] **Track: Simulation Fidelity Enhancement** -*Link: [./tracks/simulation_fidelity_enhancement_20260305/](./tracks/simulation_fidelity_enhancement_20260305/)* +### GUI Overhauls & Visualizations -## Plan for later. +6. [ ] **Track: Cost & Token Analytics Panel** + *Link: [./tracks/cost_token_analytics_20260306/](./tracks/cost_token_analytics_20260306/)* -1. [ ] **Track: Manual UX Validation & Polish** -*Link: [./tracks/manual_ux_validation_20260302/](./tracks/manual_ux_validation_20260302/)* +7. [ ] **Track: Performance Dashboard** + *Link: [./tracks/performance_dashboard_20260306/](./tracks/performance_dashboard_20260306/)* + +8. [ ] **Track: MMA Multi-Worker Visualization** + *Link: [./tracks/mma_multiworker_viz_20260306/](./tracks/mma_multiworker_viz_20260306/)* + +9. [ ] **Track: Cache Analytics Display** + *Link: [./tracks/cache_analytics_20260306/](./tracks/cache_analytics_20260306/)* + +10. [ ] **Track: Tool Usage Analytics** + *Link: [./tracks/tool_usage_analytics_20260306/](./tracks/tool_usage_analytics_20260306/)* + +11. [ ] **Track: Session Insights & Efficiency Scores** + *Link: [./tracks/session_insights_20260306/](./tracks/session_insights_20260306/)* + +12. [ ] **Track: Track Progress Visualization** + *Link: [./tracks/track_progress_viz_20260306/](./tracks/track_progress_viz_20260306/)* + +13. [ ] **Track: Manual Skeleton Context Injection** + *Link: [./tracks/manual_skeleton_injection_20260306/](./tracks/manual_skeleton_injection_20260306/)* + +14. [ ] **Track: On-Demand Definition Lookup** + *Link: [./tracks/on_demand_def_lookup_20260306/](./tracks/on_demand_def_lookup_20260306/)* + +--- + +### Manual UX Controls + +15. [ ] **Track: Manual Ticket Queue Management** + *Link: [./tracks/ticket_queue_mgmt_20260306/](./tracks/ticket_queue_mgmt_20260306/)* + +16. [ ] **Track: Kill/Abort Running Workers** + *Link: [./tracks/kill_abort_workers_20260306/](./tracks/kill_abort_workers_20260306/)* + +17. [ ] **Track: Manual Block/Unblock Control** + *Link: [./tracks/manual_block_control_20260306/](./tracks/manual_block_control_20260306/)* + +18. [ ] **Track: Pipeline Pause/Resume** + *Link: [./tracks/pipeline_pause_resume_20260306/](./tracks/pipeline_pause_resume_20260306/)* + +19. [ ] **Track: Per-Ticket Model Override** + *Link: [./tracks/per_ticket_model_20260306/](./tracks/per_ticket_model_20260306/)* + +20. [ ] **Track: Manual UX Validation & Review** + *Link: [./tracks/manual_ux_validation_20260302/](./tracks/manual_ux_validation_20260302/)* --- ## Completed / Archived +### Phase 2: Strict Execution Queue (Completed 2026-03-06) +*See: [./archive/strict_execution_queue_completed_20260306/](./archive/strict_execution_queue_completed_20260306/)* + +- [x] **Track: Hook API UI State Verification** +- [x] **Track: Asyncio Decoupling & Queue Refactor** +- [x] **Track: Mock Provider Hardening** +- [x] **Track: Robust JSON Parsing for Tech Lead** +- [x] **Track: Concurrent Tier Source Isolation** +- [x] **Track: Asynchronous Tool Execution Engine** +- [x] **Track: Simulation Fidelity Enhancement** + +### Earlier Archives + - [x] **Track: Test Architecture Integrity Audit** -*Link: [./archive/test_architecture_integrity_audit_20260304/](./archive/test_architecture_integrity_audit_20260304/)* - -- [x] **Track: Codebase Migration to `src` & Cleanup** -*Link: [./archive/codebase_migration_20260302/](./archive/codebase_migration_20260302/)* - +- [x] **Track: Codebase Migration to src & Cleanup** - [x] **Track: GUI Decoupling & Controller Architecture** -*Link: [./archive/gui_decoupling_controller_20260302/](./archive/gui_decoupling_controller_20260302/)* - - [x] **Track: Strict Static Analysis & Type Safety** -*Link: [./archive/strict_static_analysis_and_typing_20260302/](./archive/strict_static_analysis_and_typing_20260302/)* - - [x] **Track: Test Suite Stabilization & Consolidation** -*Link: [./archive/test_stabilization_20260302/](./archive/test_stabilization_20260302/)* - - [x] **Track: Tech Debt & Test Discipline Cleanup** -*Link: [./archive/tech_debt_and_test_cleanup_20260302/](./archive/tech_debt_and_test_cleanup_20260302/)* - - [x] **Track: Conductor Workflow Improvements** -*Link: [./archive/conductor_workflow_improvements_20260302/](./archive/conductor_workflow_improvements_20260302/)* - - [x] **Track: MMA Agent Focus UX** -*Link: [./archive/mma_agent_focus_ux_20260302/](./archive/mma_agent_focus_ux_20260302/)* - - [x] **Track: Architecture Boundary Hardening** -*Link: [./archive/architecture_boundary_hardening_20260302/](./archive/architecture_boundary_hardening_20260302/)* - - [x] **Track: Feature Bleed Cleanup** -*Link: [./archive/feature_bleed_cleanup_20260302/](./archive/feature_bleed_cleanup_20260302/)* - - [x] **Track: Context & Token Visualization** -*Link: [./archive/context_token_viz_20260301/](./archive/context_token_viz_20260301/)* - - [x] **Track: Comprehensive Conductor & MMA GUI UX** -*Link: [./archive/comprehensive_gui_ux_20260228/](./archive/comprehensive_gui_ux_20260228/)* - - [x] **Track: MMA Pipeline Fix & Worker Stream Verification** -*Link: [./archive/mma_pipeline_fix_20260301/](./archive/mma_pipeline_fix_20260301/)* - - [x] **Track: Simulation Hardening** -*Link: [./archive/simulation_hardening_20260301/](./archive/simulation_hardening_20260301/)* - - [x] **Track: Deep Architectural Documentation Refresh** -*Link: [./archive/documentation_refresh_20260224/](./archive/documentation_refresh_20260224/)* - - [x] **Track: Robust Live Simulation Verification** -*Link: [./archive/robust_live_simulation_verification/](./archive/robust_live_simulation_verification/)* \ No newline at end of file diff --git a/conductor/tracks/cache_analytics_20260306/spec.md b/conductor/tracks/cache_analytics_20260306/spec.md index b03e968..6f7ddea 100644 --- a/conductor/tracks/cache_analytics_20260306/spec.md +++ b/conductor/tracks/cache_analytics_20260306/spec.md @@ -1,33 +1,26 @@ # Track Specification: Cache Analytics Display ## Overview -Implement cache analytics display for Manual Slop application. +Gemini cache hit/miss visualization and TTL status. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- get_gemini_cache_stats() in ai_client.py +- Cache creation/deletion -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No GUI display +- No hit/miss tracking ## Goals -- Implement cache analytics display -- Ensure test coverage -- Follow existing code patterns +- Cache status panel +- Hit/miss ratio +- TTL countdown ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Cache size display +- TTL visualization +- Manual cache clear ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Non-blocking UI updates diff --git a/conductor/tracks/cost_token_analytics_20260306/spec.md b/conductor/tracks/cost_token_analytics_20260306/spec.md index a41bf9f..7d7f4d4 100644 --- a/conductor/tracks/cost_token_analytics_20260306/spec.md +++ b/conductor/tracks/cost_token_analytics_20260306/spec.md @@ -1,33 +1,28 @@ # Track Specification: Cost & Token Analytics Panel ## Overview -Implement cost & token analytics panel for Manual Slop application. +Real-time cost tracking panel for API usage by model and tier. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- cost_tracker.py with MODEL_PRICING +- estimate_cost() function +- Token tracking in ai_client.py -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No GUI panel for cost display +- No session totals ## Goals -- Implement cost & token analytics panel -- Ensure test coverage -- Follow existing code patterns +- Cost per model display +- Session totals +- Breakdown by tier ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Real-time cost updates +- Per-model breakdown +- Tier breakdown ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- <10ms update latency +- Clear visual formatting diff --git a/conductor/tracks/deep_ast_context_pruning_20260306/spec.md b/conductor/tracks/deep_ast_context_pruning_20260306/spec.md index dca4afb..b8549bb 100644 --- a/conductor/tracks/deep_ast_context_pruning_20260306/spec.md +++ b/conductor/tracks/deep_ast_context_pruning_20260306/spec.md @@ -1,33 +1,28 @@ -# Track Specification: Deep AST-Driven Context Pruning (RAG for Code) +# Track Specification: Deep AST-Driven Context Pruning ## Overview -Implement deep ast-driven context pruning (rag for code) for Manual Slop application. +Use tree_sitter to parse target file AST and inject condensed skeletons into worker prompts. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- file_cache.py with skeleton generation +- outline_tool.py for code outlines +- AST-based file analysis -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No automatic AST pruning based on edit target +- Skeletons not customizable by user ## Goals -- Implement deep ast-driven context pruning (rag for code) -- Ensure test coverage -- Follow existing code patterns +- Parse target file AST before worker dispatch +- Strip unrelated function bodies +- Inject surgical skeleton to reduce tokens ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- tree_sitter integration +- Target function/method detection +- Configurable skeleton depth ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- <100ms parsing time per file +- >50% token reduction target diff --git a/conductor/tracks/kill_abort_workers_20260306/spec.md b/conductor/tracks/kill_abort_workers_20260306/spec.md index 883bd1e..5e3307e 100644 --- a/conductor/tracks/kill_abort_workers_20260306/spec.md +++ b/conductor/tracks/kill_abort_workers_20260306/spec.md @@ -1,33 +1,27 @@ # Track Specification: Kill/Abort Running Workers ## Overview -Implement kill/abort running workers for Manual Slop application. +Add ability to kill/abort running Tier 3 workers mid-execution. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Worker lifecycle in multi_agent_conductor.py +- Thread-based execution -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No kill mechanism +- Workers run to completion ## Goals -- Implement kill/abort running workers -- Ensure test coverage -- Follow existing code patterns +- Kill button per worker +- Forced termination +- Graceful abort option ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Thread termination +- Cleanup handlers +- Confirmation dialog ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Clean resource release +- No zombie processes diff --git a/conductor/tracks/manual_block_control_20260306/spec.md b/conductor/tracks/manual_block_control_20260306/spec.md index 1090dcb..d53ea00 100644 --- a/conductor/tracks/manual_block_control_20260306/spec.md +++ b/conductor/tracks/manual_block_control_20260306/spec.md @@ -1,33 +1,26 @@ # Track Specification: Manual Block/Unblock Control ## Overview -Implement manual block/unblock control for Manual Slop application. +Manually block/unblock tickets with custom reasons. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Ticket blocked status +- Dependency-based blocking -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No manual override +- No custom reasons ## Goals -- Implement manual block/unblock control -- Ensure test coverage -- Follow existing code patterns +- Manual block with reason +- Unblock button +- Block reason display ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Block/unblock actions +- Reason field +- Visual blocked indicator ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Clear block indication diff --git a/conductor/tracks/manual_skeleton_injection_20260306/spec.md b/conductor/tracks/manual_skeleton_injection_20260306/spec.md index a820789..21e9685 100644 --- a/conductor/tracks/manual_skeleton_injection_20260306/spec.md +++ b/conductor/tracks/manual_skeleton_injection_20260306/spec.md @@ -1,33 +1,26 @@ # Track Specification: Manual Skeleton Context Injection ## Overview -Implement manual skeleton context injection for Manual Slop application. +UI controls to manually flag files for skeleton injection. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Auto-generated skeletons for workers +- file_cache skeleton generation -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No manual file selection +- No def-level control ## Goals -- Implement manual skeleton context injection -- Ensure test coverage -- Follow existing code patterns +- File picker for skeleton injection +- Manual skeleton refresh +- Def-level granularity ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- File browser integration +- Skeleton regeneration trigger +- Context preview ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Fast skeleton generation diff --git a/conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/index.md b/conductor/tracks/manual_ux_validation_20260302/index.md similarity index 100% rename from conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/index.md rename to conductor/tracks/manual_ux_validation_20260302/index.md diff --git a/conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/metadata.json b/conductor/tracks/manual_ux_validation_20260302/metadata.json similarity index 100% rename from conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/metadata.json rename to conductor/tracks/manual_ux_validation_20260302/metadata.json diff --git a/conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/plan.md b/conductor/tracks/manual_ux_validation_20260302/plan.md similarity index 100% rename from conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/plan.md rename to conductor/tracks/manual_ux_validation_20260302/plan.md diff --git a/conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/spec.md b/conductor/tracks/manual_ux_validation_20260302/spec.md similarity index 100% rename from conductor/archive/strict_execution_queue_completed_20260306/manual_ux_validation_20260302/spec.md rename to conductor/tracks/manual_ux_validation_20260302/spec.md diff --git a/conductor/tracks/mma_multiworker_viz_20260306/spec.md b/conductor/tracks/mma_multiworker_viz_20260306/spec.md index 45b96a5..57b1f63 100644 --- a/conductor/tracks/mma_multiworker_viz_20260306/spec.md +++ b/conductor/tracks/mma_multiworker_viz_20260306/spec.md @@ -1,33 +1,28 @@ # Track Specification: MMA Multi-Worker Visualization ## Overview -Implement mma multi-worker visualization for Manual Slop application. +Split-view GUI for parallel worker streams per tier. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- mma_streams in app_controller.py +- Tier source tagging -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- Single stream display only +- No per-worker status +- No kill/restart controls ## Goals -- Implement mma multi-worker visualization -- Ensure test coverage -- Follow existing code patterns +- Split view per worker +- Individual status/output tabs +- Kill/restart per worker ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Multi-pane layout +- Worker lifecycle controls +- Output streaming per worker ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Handle 4+ concurrent workers +- Graceful termination diff --git a/conductor/tracks/native_orchestrator_20260306/spec.md b/conductor/tracks/native_orchestrator_20260306/spec.md index 2a973f8..3049564 100644 --- a/conductor/tracks/native_orchestrator_20260306/spec.md +++ b/conductor/tracks/native_orchestrator_20260306/spec.md @@ -1,33 +1,27 @@ -# Track Specification: Transitioning to Native Orchestrator +# Track Specification: Native Orchestrator ## Overview -Implement transitioning to native orchestrator for Manual Slop application. +Absorb mma_exec.py into core app for pure Python MMA orchestration. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- mma_exec.py for tier delegation +- ConductorEngine in multi_agent_conductor.py -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- External CLI dependency +- No native plan.md management ## Goals -- Implement transitioning to native orchestrator -- Ensure test coverage -- Follow existing code patterns +- Read/write plan.md natively +- Manage metadata.json in Python +- Remove mma_exec.py dependency ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Plan file CRUD operations +- Metadata management +- Tier delegation in-process ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Backward compatible with existing tracks +- No breaking changes to API diff --git a/conductor/tracks/on_demand_def_lookup_20260306/spec.md b/conductor/tracks/on_demand_def_lookup_20260306/spec.md index 91a8b9c..ce342c9 100644 --- a/conductor/tracks/on_demand_def_lookup_20260306/spec.md +++ b/conductor/tracks/on_demand_def_lookup_20260306/spec.md @@ -1,33 +1,26 @@ # Track Specification: On-Demand Definition Lookup ## Overview -Implement on-demand definition lookup for Manual Slop application. +Agent can request specific class/function definitions during discussion. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- outline_tool.py for definitions +- py_get_definition tool -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No @mention syntax +- No inline display ## Goals -- Implement on-demand definition lookup -- Ensure test coverage -- Follow existing code patterns +- @symbol lookup syntax +- Inline definition display +- Auto-fetch on unknown symbols ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Symbol parsing +- Definition retrieval +- Inline rendering ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Quick lookup (<100ms) diff --git a/conductor/tracks/per_ticket_model_20260306/spec.md b/conductor/tracks/per_ticket_model_20260306/spec.md index fd48f10..403b0c7 100644 --- a/conductor/tracks/per_ticket_model_20260306/spec.md +++ b/conductor/tracks/per_ticket_model_20260306/spec.md @@ -1,33 +1,27 @@ # Track Specification: Per-Ticket Model Override ## Overview -Implement per-ticket model override for Manual Slop application. +Allow manual model selection per ticket. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Model selection per tier +- Ticket model field -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No per-ticket override UI +- No model picker ## Goals -- Implement per-ticket model override -- Ensure test coverage -- Follow existing code patterns +- Model dropdown per ticket +- Override default tier model +- Clear override indication ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Model picker UI +- Override flag +- Model validation ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Valid model list +- Clear indication of override diff --git a/conductor/tracks/performance_dashboard_20260306/spec.md b/conductor/tracks/performance_dashboard_20260306/spec.md index aac908e..2de5ba5 100644 --- a/conductor/tracks/performance_dashboard_20260306/spec.md +++ b/conductor/tracks/performance_dashboard_20260306/spec.md @@ -1,33 +1,29 @@ # Track Specification: Performance Dashboard ## Overview -Implement performance dashboard for Manual Slop application. +Expand performance metrics with CPU/RAM, frame time, input lag graphs. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- performance_monitor.py +- get_metrics() method +- Basic FPS display -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No historical graphs +- No input lag tracking +- No CPU/RAM visualization ## Goals -- Implement performance dashboard -- Ensure test coverage -- Follow existing code patterns +- Historical performance graphs +- CPU/RAM usage display +- Input lag metrics ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Rolling metrics history +- Graph rendering +- Alert thresholds ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- 60fps UI during metrics collection +- Configurable history length diff --git a/conductor/tracks/pipeline_pause_resume_20260306/spec.md b/conductor/tracks/pipeline_pause_resume_20260306/spec.md index 48d1954..4cf09d3 100644 --- a/conductor/tracks/pipeline_pause_resume_20260306/spec.md +++ b/conductor/tracks/pipeline_pause_resume_20260306/spec.md @@ -1,33 +1,27 @@ # Track Specification: Pipeline Pause/Resume ## Overview -Implement pipeline pause/resume for Manual Slop application. +Global pause/resume for entire DAG execution pipeline. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- DAG engine execution +- auto_queue mode -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No pause mechanism +- No resume capability ## Goals -- Implement pipeline pause/resume -- Ensure test coverage -- Follow existing code patterns +- Global pause button +- Resume button +- Frozen state visualization ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Pause all workers +- Resume from paused state +- State persistence ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Worker state preservation +- Clean resume diff --git a/conductor/tracks/session_insights_20260306/spec.md b/conductor/tracks/session_insights_20260306/spec.md index 9462550..869da8e 100644 --- a/conductor/tracks/session_insights_20260306/spec.md +++ b/conductor/tracks/session_insights_20260306/spec.md @@ -1,33 +1,27 @@ # Track Specification: Session Insights & Efficiency Scores ## Overview -Implement session insights & efficiency scores for Manual Slop application. +Token usage over time, cost projections, efficiency metrics. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- session_logger.py +- Token counting -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No visualization +- No efficiency scoring ## Goals -- Implement session insights & efficiency scores -- Ensure test coverage -- Follow existing code patterns +- Token usage graphs +- Cost projections +- Efficiency scores ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Rolling token history +- Cost calculation +- Efficiency algorithm ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Session comparison +- Export capability diff --git a/conductor/tracks/ticket_queue_mgmt_20260306/spec.md b/conductor/tracks/ticket_queue_mgmt_20260306/spec.md index 48d18a0..8a27acc 100644 --- a/conductor/tracks/ticket_queue_mgmt_20260306/spec.md +++ b/conductor/tracks/ticket_queue_mgmt_20260306/spec.md @@ -1,33 +1,28 @@ # Track Specification: Manual Ticket Queue Management ## Overview -Implement manual ticket queue management for Manual Slop application. +Reorder, prioritize, and requeue tickets with drag-drop UI. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Ticket system in models.py +- DAG dependency resolution -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No drag-drop reordering +- No priority tags +- No bulk operations ## Goals -- Implement manual ticket queue management -- Ensure test coverage -- Follow existing code patterns +- Drag-drop ticket reordering +- Priority tags (high/med/low) +- Bulk select and execute/skip/block ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Drag-drop handlers +- Priority field on tickets +- Bulk action buttons ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Maintain DAG validity +- Undo capability diff --git a/conductor/tracks/tier4_auto_patching_20260306/spec.md b/conductor/tracks/tier4_auto_patching_20260306/spec.md index 601208d..a1697a8 100644 --- a/conductor/tracks/tier4_auto_patching_20260306/spec.md +++ b/conductor/tracks/tier4_auto_patching_20260306/spec.md @@ -1,33 +1,27 @@ # Track Specification: Advanced Tier 4 QA Auto-Patching ## Overview -Implement advanced tier 4 qa auto-patching for Manual Slop application. +Elevate Tier 4 to auto-patcher with .patch file generation and diff viewer. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Tier 4 log analysis +- Error detection in tests -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No .patch generation +- No GUI diff viewer ## Goals -- Implement advanced tier 4 qa auto-patching -- Ensure test coverage -- Follow existing code patterns +- Tier 4 generates .patch on test failure +- Side-by-side diff viewer in GUI +- Apply patch button ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- .patch file generation +- Diff computation +- Patch application ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Safe patch preview before apply +- Rollback capability diff --git a/conductor/tracks/tool_usage_analytics_20260306/spec.md b/conductor/tracks/tool_usage_analytics_20260306/spec.md index 22c24b9..568d17c 100644 --- a/conductor/tracks/tool_usage_analytics_20260306/spec.md +++ b/conductor/tracks/tool_usage_analytics_20260306/spec.md @@ -1,33 +1,26 @@ # Track Specification: Tool Usage Analytics ## Overview -Implement tool usage analytics for Manual Slop application. +Analytics panel for tool usage patterns. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- tool_log_callback +- Tool execution tracking -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No analytics UI +- No aggregation ## Goals -- Implement tool usage analytics -- Ensure test coverage -- Follow existing code patterns +- Most-used tools ranking +- Average execution time +- Failure rate tracking ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Usage histograms +- Time series data +- Failure logging ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Efficient data aggregation diff --git a/conductor/tracks/track_progress_viz_20260306/spec.md b/conductor/tracks/track_progress_viz_20260306/spec.md index 8bea093..54d9df7 100644 --- a/conductor/tracks/track_progress_viz_20260306/spec.md +++ b/conductor/tracks/track_progress_viz_20260306/spec.md @@ -1,33 +1,26 @@ # Track Specification: Track Progress Visualization ## Overview -Implement track progress visualization for Manual Slop application. +Progress bars and completion percentage for tracks/tickets. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Track/ticket status tracking +- DAG execution state -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No progress bars +- No completion % ## Goals -- Implement track progress visualization -- Ensure test coverage -- Follow existing code patterns +- Visual progress bars +- % completion +- Time estimates ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Progress calculation +- Bar rendering +- ETA estimation ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Accurate state sync diff --git a/conductor/tracks/true_parallel_worker_execution_20260306/spec.md b/conductor/tracks/true_parallel_worker_execution_20260306/spec.md index d89e779..b874594 100644 --- a/conductor/tracks/true_parallel_worker_execution_20260306/spec.md +++ b/conductor/tracks/true_parallel_worker_execution_20260306/spec.md @@ -1,33 +1,28 @@ -# Track Specification: True Parallel Worker Execution (The DAG Realization) +# Track Specification: True Parallel Worker Execution ## Overview -Implement true parallel worker execution (the dag realization) for Manual Slop application. +Implement true concurrency for the DAG engine to spawn parallel Tier 3 workers. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- threading.local() for tier isolation (Track 5) +- DAG engine in dag_engine.py +- Worker spawning in multi_agent_conductor.py -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- No parallel worker spawning +- No file locking for concurrent file access ## Goals -- Implement true parallel worker execution (the dag realization) -- Ensure test coverage -- Follow existing code patterns +- Spawn 4 independent Tier 3 workers in parallel +- Implement file locking or Git-based diff-merging +- Thread-safe ticket status updates ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- Worker pool with configurable size +- File locking mechanism +- Status tracking for each worker ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- No race conditions on file access +- >80% test coverage for new code diff --git a/conductor/tracks/visual_dag_ticket_editing_20260306/spec.md b/conductor/tracks/visual_dag_ticket_editing_20260306/spec.md index 21f52a8..ae9a2dc 100644 --- a/conductor/tracks/visual_dag_ticket_editing_20260306/spec.md +++ b/conductor/tracks/visual_dag_ticket_editing_20260306/spec.md @@ -1,33 +1,27 @@ # Track Specification: Visual DAG & Interactive Ticket Editing ## Overview -Implement visual dag & interactive ticket editing for Manual Slop application. +Replace linear ticket list with interactive node graph using ImGui Bundle. ## Current State Audit -### Already Implemented (DO NOT re-implement) -- Existing backend functionality in src/ modules -- Test coverage for core features +### Already Implemented +- Ticket/DAG display in gui_2.py +- DAG engine for dependency resolution -### Gaps to Fill (This Track Scope) -This track addresses the gap between backend implementation and user-facing GUI/control. +### Gaps to Fill +- Linear ticket list only +- No drag-drop dependency editing ## Goals -- Implement visual dag & interactive ticket editing -- Ensure test coverage -- Follow existing code patterns +- Interactive node graph visualization +- Drag dependency lines +- Split/delete nodes visually ## Functional Requirements -- User-facing functionality as described in TASKS.md -- Integration with existing backend +- ImGui Bundle node editor integration +- Click-drag node positioning +- Visual dependency lines ## Non-Functional Requirements -- Performance: Maintain UI responsiveness -- Tests: >80% coverage for new code - -## Architecture Reference -- docs/guide_architecture.md -- docs/guide_mma.md -- docs/guide_tools.md - -## Out of Scope -- Major refactoring of unrelated systems +- Maintain DAG validity on edit +- Smooth 60fps rendering diff --git a/manualslop_layout.ini b/manualslop_layout.ini index 47419d0..0a799c3 100644 --- a/manualslop_layout.ini +++ b/manualslop_layout.ini @@ -90,7 +90,7 @@ Collapsed=0 [Window][Diagnostics] Pos=454,17 -Size=268,794 +Size=257,794 Collapsed=0 DockId=0x00000010,1 @@ -107,14 +107,14 @@ Collapsed=0 DockId=0x0000000D,0 [Window][Discussion Hub] -Pos=724,17 -Size=716,592 +Pos=713,17 +Size=727,1082 Collapsed=0 DockId=0x00000012,0 [Window][Operations Hub] Pos=454,17 -Size=268,794 +Size=257,794 Collapsed=0 DockId=0x00000010,0 @@ -136,14 +136,14 @@ Size=416,325 Collapsed=0 [Window][MMA Dashboard] -Pos=724,611 -Size=716,589 +Pos=713,1101 +Size=727,99 Collapsed=0 DockId=0x00000013,0 [Window][Log Management] -Pos=724,17 -Size=716,592 +Pos=713,17 +Size=727,1082 Collapsed=0 DockId=0x00000012,1 @@ -153,26 +153,26 @@ Size=262,209 Collapsed=0 [Window][Tier 1: Strategy] -Pos=724,611 -Size=716,589 +Pos=713,1101 +Size=727,99 Collapsed=0 DockId=0x00000013,1 [Window][Tier 2: Tech Lead] -Pos=724,611 -Size=716,589 +Pos=713,1101 +Size=727,99 Collapsed=0 DockId=0x00000013,2 [Window][Tier 4: QA] Pos=454,813 -Size=268,387 +Size=257,387 Collapsed=0 DockId=0x00000011,1 [Window][Tier 3: Workers] Pos=454,813 -Size=268,387 +Size=257,387 Collapsed=0 DockId=0x00000011,0 @@ -214,20 +214,20 @@ DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02 DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,17 Size=1440,1183 Split=Y DockNode ID=0x0000000C Parent=0xAFC85805 SizeRef=1362,1041 Split=X Selected=0x5D11106F - DockNode ID=0x00000003 Parent=0x0000000C SizeRef=1658,1183 Split=X + DockNode ID=0x00000003 Parent=0x0000000C SizeRef=711,1183 Split=X DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=Y Selected=0xF4139CA2 DockNode ID=0x00000002 Parent=0x0000000B SizeRef=1029,1119 Split=X Selected=0xF4139CA2 DockNode ID=0x00000007 Parent=0x00000002 SizeRef=452,858 Split=Y Selected=0x8CA2375C DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,824 Selected=0xF4139CA2 DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,995 CentralNode=1 Selected=0x7BD57D6A - DockNode ID=0x0000000E Parent=0x00000002 SizeRef=268,858 Split=Y Selected=0x418C7449 + DockNode ID=0x0000000E Parent=0x00000002 SizeRef=257,858 Split=Y Selected=0x418C7449 DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,1065 Selected=0x418C7449 DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,520 Selected=0x5CDB7A4B DockNode ID=0x00000001 Parent=0x0000000B SizeRef=1029,775 Selected=0x8B4EBFA6 DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6 - DockNode ID=0x00000004 Parent=0x0000000C SizeRef=716,1183 Split=Y Selected=0x2C0206CE - DockNode ID=0x00000012 Parent=0x00000004 SizeRef=905,794 Selected=0x6F2B5B04 - DockNode ID=0x00000013 Parent=0x00000004 SizeRef=905,791 Selected=0x3AEC3498 + DockNode ID=0x00000004 Parent=0x0000000C SizeRef=727,1183 Split=Y Selected=0x2C0206CE + DockNode ID=0x00000012 Parent=0x00000004 SizeRef=905,1082 Selected=0x6F2B5B04 + DockNode ID=0x00000013 Parent=0x00000004 SizeRef=905,99 Selected=0xBB346584 DockNode ID=0x0000000F Parent=0xAFC85805 SizeRef=1362,451 Selected=0xDD6419BC ;;;<<>>;;; diff --git a/src/app_controller.py b/src/app_controller.py index 4a5684f..b682f44 100644 --- a/src/app_controller.py +++ b/src/app_controller.py @@ -664,9 +664,25 @@ class AppController: self._set_status(f"viewing prior session: {Path(path).name} ({len(entries)} entries)") def cb_prune_logs(self) -> None: - """Manually triggers the log pruning process.""" - self._set_status("Pruning logs...") - self._prune_old_logs() + """Manually triggers the log pruning process with aggressive thresholds.""" + self._set_status("Manual prune started (Age > 0d, Size < 100KB)...") + + def run_manual_prune() -> None: + try: + from src import log_registry + from src import log_pruner + registry = log_registry.LogRegistry("logs/sessions/log_registry.toml") + pruner = log_pruner.LogPruner(registry, "logs/sessions") + # Aggressive: Prune anything not whitelisted, even if just created, if under 100KB + # Note: max_age_days=0 means cutoff is NOW. + pruner.prune(max_age_days=0, min_size_kb=100) + self._set_status("Manual prune complete.") + except Exception as e: + self._set_status(f"Manual prune error: {e}") + print(f"Error during manual log pruning: {e}") + + thread = threading.Thread(target=run_manual_prune, daemon=True) + thread.start() def _load_active_project(self) -> None: """Loads the active project configuration, with fallbacks.""" diff --git a/src/log_pruner.py b/src/log_pruner.py index 084d4af..0e0a338 100644 --- a/src/log_pruner.py +++ b/src/log_pruner.py @@ -21,14 +21,14 @@ class LogPruner: self.log_registry = log_registry self.logs_dir = logs_dir - def prune(self, max_age_days: int = 1) -> None: + def prune(self, max_age_days: int = 1, min_size_kb: int = 2) -> None: """ Prunes old and small session directories from the logs directory. Deletes session directories that meet the following criteria: 1. The session start time is older than max_age_days. 2. The session name is NOT in the whitelist provided by the LogRegistry. - 3. The total size of all files within the session directory is less than 2KB (2048 bytes). + 3. The total size of all files within the session directory is less than min_size_kb. """ now = datetime.now() cutoff_time = now - timedelta(days=max_age_days) @@ -37,7 +37,7 @@ class LogPruner: return # Get sessions that are old and not whitelisted from the registry old_sessions_to_check = self.log_registry.get_old_non_whitelisted_sessions(cutoff_time) - # Prune sessions if their size is less than 2048 bytes + # Prune sessions if their size is less than threshold for session_info in old_sessions_to_check: session_id = session_info['session_id'] session_path = session_info['path'] @@ -51,8 +51,8 @@ class LogPruner: total_size += entry.stat().st_size except OSError: continue - # Prune if the total size is less than 2KB (2048 bytes) - if total_size < 2048: # 2KB + # Prune if the total size is less than threshold + if total_size < (min_size_kb * 1024): try: shutil.rmtree(session_path) # Also remove from registry to keep it in sync