WIP almost done with track planning
This commit is contained in:
78
TASKS.md
78
TASKS.md
@@ -10,28 +10,33 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Phase 3: Future Horizons (Tracks 1-19)
|
## Phase 3: Future Horizons (Tracks 1-20)
|
||||||
*Initialized: 2026-03-06*
|
*Initialized: 2026-03-06*
|
||||||
|
|
||||||
### Architecture & Backend
|
### Architecture & Backend
|
||||||
|
|
||||||
#### 1. \ rue_parallel_worker_execution_20260306- **Status:** Planned
|
#### 1. true_parallel_worker_execution_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** High
|
- **Priority:** High
|
||||||
- **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.
|
- **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. \deep_ast_context_pruning_20260306- **Status:** Planned
|
#### 2. deep_ast_context_pruning_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** High
|
- **Priority:** High
|
||||||
- **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.
|
- **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. \isual_dag_ticket_editing_20260306- **Status:** Planned
|
#### 3. visual_dag_ticket_editing_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **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.
|
- **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. \ ier4_auto_patching_20260306- **Status:** Planned
|
#### 4. tier4_auto_patching_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **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.
|
- **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. ative_orchestrator_20260306- **Status:** Planned
|
#### 5. native_orchestrator_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Low
|
- **Priority:** Low
|
||||||
- **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).
|
- **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).
|
||||||
|
|
||||||
@@ -39,66 +44,81 @@
|
|||||||
|
|
||||||
### GUI Overhauls & Visualizations
|
### GUI Overhauls & Visualizations
|
||||||
|
|
||||||
#### 6. \cost_token_analytics_20260306- **Status:** Planned
|
#### 6. cost_token_analytics_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** High
|
- **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.
|
- **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.
|
||||||
|
|
||||||
#### 7. \performance_dashboard_20260306- **Status:** Planned
|
#### 7. performance_dashboard_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** High
|
- **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.
|
- **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.
|
||||||
|
|
||||||
#### 8. \mma_multiworker_viz_20260306- **Status:** Planned
|
#### 8. mma_multiworker_viz_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** High
|
- **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.
|
- **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.
|
||||||
|
|
||||||
#### 9. \cache_analytics_20260306- **Status:** Planned
|
#### 9. cache_analytics_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **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.
|
- **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.
|
||||||
|
|
||||||
#### 10. \ ool_usage_analytics_20260306- **Status:** Planned
|
#### 10. tool_usage_analytics_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **Goal:** Analytics panel showing most-used tools, average execution time, and failure rates. Uses existing tool_log_callback data.
|
- **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
|
#### 11. session_insights_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **Goal:** Token usage over time, cost projections, session summary with efficiency scores. Visualize session_logger data.
|
- **Goal:** Token usage over time, cost projections, session summary with efficiency scores. Visualize session_logger data.
|
||||||
|
|
||||||
#### 12. \ rack_progress_viz_20260306- **Status:** Planned
|
#### 12. track_progress_viz_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **Goal:** Progress bars and percentage completion for active tracks and tickets. Better visualization of DAG execution state.
|
- **Goal:** Progress bars and percentage completion for active tracks and tickets. Better visualization of DAG execution state.
|
||||||
|
|
||||||
#### 13. \manual_skeleton_injection_20260306- **Status:** Planned
|
#### 13. manual_skeleton_injection_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **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.
|
- **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.
|
||||||
|
|
||||||
#### 14. \on_demand_def_lookup_20260306- **Status:** Planned
|
#### 14. on_demand_def_lookup_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **Goal:** Add ability for agent to request specific class/function definitions during discussion.
|
- **Goal:** Add ability for agent to request specific class/function definitions during discussion. User can @mention a symbol and get its full definition inline.
|
||||||
|
|
||||||
#### 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
|
### Manual UX Controls
|
||||||
|
|
||||||
#### 15. \ icket_queue_mgmt_20260306- **Status:** Planned
|
#### 15. ticket_queue_mgmt_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** High
|
- **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.
|
- **Goal:** Allow user to manually reorder, prioritize, or requeue tickets in the DAG. Add drag-drop reordering, priority tags, and bulk selection.
|
||||||
|
|
||||||
#### 16. \kill_abort_workers_20260306- **Status:** Planned
|
#### 16. kill_abort_workers_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** High
|
- **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.
|
- **Goal:** Add ability to kill/abort a running Tier 3 worker mid-execution. Currently workers run to completion; add cancel button.
|
||||||
|
|
||||||
#### 17. \manual_block_control_20260306- **Status:** Planned
|
#### 17. manual_block_control_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **Goal:** Allow user to manually block or unblock tickets with custom reasons. Currently blocked tickets rely on dependency resolution; add manual override.
|
- **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
|
#### 18. pipeline_pause_resume_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Medium
|
- **Priority:** Medium
|
||||||
- **Goal:** Add global pause/resume for the entire DAG execution pipeline. Allow user to freeze all worker activity and resume later.
|
- **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
|
#### 19. per_ticket_model_20260306
|
||||||
|
- **Status:** Planned
|
||||||
- **Priority:** Low
|
- **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.
|
- **Goal:** Allow user to manually select which model to use for a specific ticket, overriding the default tier model.
|
||||||
|
|
||||||
|
#### 20. 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.
|
||||||
|
|||||||
9
conductor/tracks/cache_analytics_20260306/index.md
Normal file
9
conductor/tracks/cache_analytics_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Cache Analytics Display
|
||||||
|
|
||||||
|
**Track ID:** cache_analytics_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
9
conductor/tracks/cache_analytics_20260306/metadata.json
Normal file
9
conductor/tracks/cache_analytics_20260306/metadata.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "cache_analytics_20260306",
|
||||||
|
"name": "Cache Analytics Display",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,29 @@
|
|||||||
# Implementation Plan: Cache Analytics Display (cache_analytics)
|
# Implementation Plan: Cache Analytics Display (cache_analytics_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Cache Stats Integration
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Verify get_gemini_cache_stats
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/ai_client.py
|
||||||
|
- WHAT: Check existing function
|
||||||
|
- HOW: Review implementation
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Panel Implementation
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Create cache panel
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Display cache stats
|
||||||
|
- HOW: imgui widgets
|
||||||
|
- SAFETY: Handle no cache
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: TTL & Controls
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Display TTL countdown
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Time until cache rebuild
|
||||||
|
- HOW: Calculate from cache_created_at
|
||||||
|
- [ ] Task: Add clear button
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Manual cache clear
|
||||||
|
- HOW: Call ai_client.cleanup()
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test cache display
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,26 +1,21 @@
|
|||||||
# Track Specification: Cache Analytics Display
|
# Track Specification: Cache Analytics Display (cache_analytics_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Gemini cache hit/miss visualization and TTL status.
|
Gemini cache hit/miss visualization, memory usage, TTL status display. Uses existing ai_client.get_gemini_cache_stats() which is not displayed in GUI.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Non-Blocking**: Cache queries MUST NOT block UI.
|
||||||
- get_gemini_cache_stats() in ai_client.py
|
- **Efficient Polling**: Cache stats SHOULD be polled, not pushed.
|
||||||
- Cache creation/deletion
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No GUI display
|
|
||||||
- No hit/miss tracking
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Cache status panel
|
|
||||||
- Hit/miss ratio
|
|
||||||
- TTL countdown
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Cache size display
|
- **Cache Status**: Display active cache count and size.
|
||||||
- TTL visualization
|
- **Hit/Miss Ratio**: Calculate and display cache efficiency.
|
||||||
- Manual cache clear
|
- **TTL Countdown**: Show time until next cache rebuild.
|
||||||
|
- **Manual Clear**: Button to manually clear cache.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Non-blocking UI updates
|
- [ ] Cache panel displays in GUI.
|
||||||
|
- [ ] Hit/miss ratio calculated correctly.
|
||||||
|
- [ ] TTL countdown visible.
|
||||||
|
- [ ] Manual clear button works.
|
||||||
|
- [ ] Uses existing get_gemini_cache_stats().
|
||||||
|
|||||||
9
conductor/tracks/cost_token_analytics_20260306/index.md
Normal file
9
conductor/tracks/cost_token_analytics_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Cost & Token Analytics Panel
|
||||||
|
|
||||||
|
**Track ID:** cost_token_analytics_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "cost_token_analytics_20260306",
|
||||||
|
"name": "Cost & Token Analytics Panel",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,32 @@
|
|||||||
# Implementation Plan: Cost & Token Analytics Panel (cost_token_analytics)
|
# Implementation Plan: Cost & Token Analytics Panel (cost_token_analytics_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Panel Setup
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Create cost panel structure
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: New panel for cost display
|
||||||
|
- HOW: Add _render_cost_panel method
|
||||||
|
- SAFETY: Non-blocking updates
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Cost Calculations
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Integrate cost_tracker
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Use cost_tracker.estimate_cost
|
||||||
|
- HOW: Call with model and token counts
|
||||||
|
- SAFETY: Cache expensive calculations
|
||||||
|
- [ ] Task: Track session totals
|
||||||
|
- WHERE: src/gui_2.py or app_controller
|
||||||
|
- WHAT: Accumulate cost over session
|
||||||
|
- HOW: Maintain running total
|
||||||
|
- SAFETY: Thread-safe updates
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: UI Implementation
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Render cost breakdown
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Show per-model and per-tier costs
|
||||||
|
- HOW: imgui tables
|
||||||
|
- SAFETY: Handle zero/empty states
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test cost calculations
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,28 +1,21 @@
|
|||||||
# Track Specification: Cost & Token Analytics Panel
|
# Track Specification: Cost & Token Analytics Panel (cost_token_analytics_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Real-time cost tracking panel for API usage by model and tier.
|
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.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Non-Blocking**: Cost calculations MUST NOT block UI thread.
|
||||||
- cost_tracker.py with MODEL_PRICING
|
- **Efficient Updates**: Updates SHOULD be throttled to <10ms latency.
|
||||||
- estimate_cost() function
|
|
||||||
- Token tracking in ai_client.py
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No GUI panel for cost display
|
|
||||||
- No session totals
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Cost per model display
|
|
||||||
- Session totals
|
|
||||||
- Breakdown by tier
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Real-time cost updates
|
- **Cost Display**: Show real-time cost for current session.
|
||||||
- Per-model breakdown
|
- **Per-Model Breakdown**: Display cost grouped by model (Gemini, Anthropic, DeepSeek).
|
||||||
- Tier breakdown
|
- **Tier Breakdown**: Show cost grouped by tier (Tier 1-4).
|
||||||
|
- **Session Totals**: Accumulate and display total session cost.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- <10ms update latency
|
- [ ] Cost panel displays in GUI.
|
||||||
- Clear visual formatting
|
- [ ] Per-model cost shown correctly.
|
||||||
|
- [ ] Tier breakdown accurate.
|
||||||
|
- [ ] Total accumulates correctly.
|
||||||
|
- [ ] Uses existing cost_tracker.py functions.
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Deep AST-Driven Context Pruning
|
||||||
|
|
||||||
|
**Track ID:** deep_ast_context_pruning_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "deep_ast_context_pruning_20260306",
|
||||||
|
"name": "Deep AST-Driven Context Pruning",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,30 @@
|
|||||||
# Implementation Plan: Deep AST-Driven Context Pruning (RAG for Code) (deep_ast_context_pruning)
|
# Implementation Plan: Deep AST Context Pruning (deep_ast_context_pruning_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: AST Integration
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Verify tree_sitter availability
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: requirements.txt, imports
|
||||||
|
- WHAT: Ensure tree_sitter installed and importable
|
||||||
|
- HOW: pip install tree_sitter
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Skeleton Generation
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement AST parser
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/file_cache.py or new module
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Parse Python AST using tree_sitter
|
||||||
|
- HOW: tree_sitter.Language + Parser
|
||||||
|
- SAFETY: Exception handling for parse errors
|
||||||
|
- [ ] Task: Implement skeleton generator
|
||||||
|
- WHERE: src/file_cache.py
|
||||||
|
- WHAT: Extract function signatures and docstrings
|
||||||
|
- HOW: Walk AST, collect Def nodes
|
||||||
|
- SAFETY: Handle large files gracefully
|
||||||
|
- [ ] Task: Integrate with worker dispatch
|
||||||
|
- WHERE: src/multi_agent_conductor.py
|
||||||
|
- WHAT: Inject skeleton into worker prompt
|
||||||
|
- HOW: Modify context generation
|
||||||
|
- SAFETY: Verify tokens reduced
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Tests & Verification
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Write AST parsing tests
|
||||||
- [ ] Task: Verify coverage
|
- [ ] Task: Verify token reduction
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,28 +1,22 @@
|
|||||||
# Track Specification: Deep AST-Driven Context Pruning
|
# Track Specification: Deep AST-Driven Context Pruning (deep_ast_context_pruning_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Use tree_sitter to parse target file AST and inject condensed skeletons into worker prompts.
|
Use tree_sitter to parse target file AST and inject condensed skeletons into worker prompts. Currently workers receive full file context; this track reduces token burn by injecting only relevant function/method signatures.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Parsing Performance**: AST parsing MUST complete in <100ms per file.
|
||||||
- file_cache.py with skeleton generation
|
- **Caching**: Parsed AST trees SHOULD be cached to avoid re-parsing.
|
||||||
- outline_tool.py for code outlines
|
- **Selective Exposure**: Only target functions/classes related to the ticket's target_file should be included.
|
||||||
- AST-based file analysis
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No automatic AST pruning based on edit target
|
|
||||||
- Skeletons not customizable by user
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Parse target file AST before worker dispatch
|
|
||||||
- Strip unrelated function bodies
|
|
||||||
- Inject surgical skeleton to reduce tokens
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- tree_sitter integration
|
- **AST Parser**: Integrate tree_sitter to parse Python files.
|
||||||
- Target function/method detection
|
- **Target Detection**: Identify which functions/methods to include based on ticket target_file.
|
||||||
- Configurable skeleton depth
|
- **Skeleton Generation**: Generate condensed skeletons with signatures and docstrings only.
|
||||||
|
- **Worker Integration**: Inject skeleton into worker prompt instead of full file content.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- <100ms parsing time per file
|
- [ ] tree_sitter successfully parses Python AST.
|
||||||
- >50% token reduction target
|
- [ ] Skeleton includes only target function/class with signature and docstring.
|
||||||
|
- [ ] Token count reduced by >50% for typical worker prompts.
|
||||||
|
- [ ] Workers can still complete tickets with skeleton-only context.
|
||||||
|
- [ ] >80% test coverage.
|
||||||
|
|||||||
9
conductor/tracks/kill_abort_workers_20260306/index.md
Normal file
9
conductor/tracks/kill_abort_workers_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Kill/Abort Running Workers
|
||||||
|
|
||||||
|
**Track ID:** kill_abort_workers_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "kill_abort_workers_20260306",
|
||||||
|
"name": "Kill/Abort Running Workers",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,29 @@
|
|||||||
# Implementation Plan: Kill/Abort Running Workers (kill_abort_workers)
|
# Implementation Plan: Kill/Abort Workers (kill_abort_workers_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Kill Mechanism
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Add thread termination
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/multi_agent_conductor.py
|
||||||
|
- WHAT: Kill specific worker thread
|
||||||
|
- HOW: threading.Event or similar
|
||||||
|
- SAFETY: Clean resource release
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: UI Integration
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Add kill buttons
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Button per worker
|
||||||
|
- HOW: In worker panel
|
||||||
|
- [ ] Task: Add confirmation dialog
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Confirm before kill
|
||||||
|
- HOW: imgui popup
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Status Updates
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Update worker status
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Reflect killed state
|
||||||
|
- HOW: Status variable
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test kill functionality
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,27 +1,21 @@
|
|||||||
# Track Specification: Kill/Abort Running Workers
|
# Track Specification: Kill/Abort Running Workers (kill_abort_workers_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Add ability to kill/abort running Tier 3 workers mid-execution.
|
Add ability to kill/abort a running Tier 3 worker mid-execution. Currently workers run to completion; add cancel button with forced termination option.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Clean Termination**: Resources MUST be released properly.
|
||||||
- Worker lifecycle in multi_agent_conductor.py
|
- **No Zombies**: Terminated workers MUST not become zombie processes.
|
||||||
- Thread-based execution
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No kill mechanism
|
|
||||||
- Workers run to completion
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Kill button per worker
|
|
||||||
- Forced termination
|
|
||||||
- Graceful abort option
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Thread termination
|
- **Kill Button**: Button to immediately terminate worker.
|
||||||
- Cleanup handlers
|
- **Graceful Abort**: Option to send abort signal and wait.
|
||||||
- Confirmation dialog
|
- **Confirmation**: Confirm dialog before kill.
|
||||||
|
- **Status Update**: Worker status updates to killed/failed.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Clean resource release
|
- [ ] Kill button visible per worker.
|
||||||
- No zombie processes
|
- [ ] Confirmation dialog appears.
|
||||||
|
- [ ] Worker terminates immediately.
|
||||||
|
- [ ] Resources cleaned up.
|
||||||
|
- [ ] Status reflects termination.
|
||||||
|
|||||||
9
conductor/tracks/manual_block_control_20260306/index.md
Normal file
9
conductor/tracks/manual_block_control_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Manual Block/Unblock Control
|
||||||
|
|
||||||
|
**Track ID:** manual_block_control_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "manual_block_control_20260306",
|
||||||
|
"name": "Manual Block/Unblock Control",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,32 @@
|
|||||||
# Implementation Plan: Manual Block/Unblock Control (manual_block_control)
|
# Implementation Plan: Manual Block/Unblock Control (manual_block_control_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Block Mechanism
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Add manual block field
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/models.py
|
||||||
|
- WHAT: Add manual_block_reason to Ticket
|
||||||
|
- HOW: Optional[str]
|
||||||
|
- [ ] Task: Add block/unblock methods
|
||||||
|
- WHERE: src/models.py
|
||||||
|
- WHAT: mark_blocked, mark_unblocked
|
||||||
|
- HOW: Set/unset flag
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: UI Controls
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Add block button
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Block selected ticket
|
||||||
|
- HOW: Button with input
|
||||||
|
- [ ] Task: Add unblock button
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Remove block
|
||||||
|
- HOW: Button
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Visualization
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Show block status
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Visual indicator for blocked
|
||||||
|
- HOW: Different color/icon
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Test block/unblock
|
||||||
|
- [ ] Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,26 +1,21 @@
|
|||||||
# Track Specification: Manual Block/Unblock Control
|
# Track Specification: Manual Block/Unblock Control (manual_block_control_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Manually block/unblock tickets with custom reasons.
|
Allow user to manually block or unblock tickets with custom reasons. Currently blocked tickets rely on dependency resolution; add manual override.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Clear Indication**: Manual blocks MUST be visually distinct.
|
||||||
- Ticket blocked status
|
- **Audit Trail**: Block reason MUST be logged.
|
||||||
- Dependency-based blocking
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No manual override
|
|
||||||
- No custom reasons
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Manual block with reason
|
|
||||||
- Unblock button
|
|
||||||
- Block reason display
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Block/unblock actions
|
- **Block Button**: Manually block selected ticket.
|
||||||
- Reason field
|
- **Unblock Button**: Remove manual block.
|
||||||
- Visual blocked indicator
|
- **Reason Field**: Enter custom block reason.
|
||||||
|
- **Visual Indicator**: Blocked tickets clearly marked.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Clear block indication
|
- [ ] Block button works.
|
||||||
|
- [ ] Unblock button works.
|
||||||
|
- [ ] Reason field saves.
|
||||||
|
- [ ] Visual indicator shows blocked status.
|
||||||
|
- [ ] Reason displayed in UI.
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Manual Skeleton Context Injection
|
||||||
|
|
||||||
|
**Track ID:** manual_skeleton_injection_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "manual_skeleton_injection_20260306",
|
||||||
|
"name": "Manual Skeleton Context Injection",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,30 @@
|
|||||||
# Implementation Plan: Manual Skeleton Context Injection (manual_skeleton_injection)
|
# Implementation Plan: Manual Skeleton Context Injection (manual_skeleton_injection_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: File Selection UI
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Implement file picker
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Browse files for skeleton
|
||||||
|
- HOW: imgui.file_picker or custom
|
||||||
|
- SAFETY: Path validation
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Skeleton Preview
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Generate preview
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Show skeleton before inject
|
||||||
|
- HOW: Call skeleton generation
|
||||||
|
- SAFETY: Handle large files
|
||||||
|
- [ ] Task: Implement inject button
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Inject into discussion
|
||||||
|
- HOW: Append to context
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Full Read Option
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Add full read toggle
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Option for full file
|
||||||
|
- HOW: Checkbox/switch
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test injection flow
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,26 +1,21 @@
|
|||||||
# Track Specification: Manual Skeleton Context Injection
|
# Track Specification: Manual Skeleton Context Injection (manual_skeleton_injection_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
UI controls to manually flag files for skeleton injection.
|
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.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Fast Generation**: Skeletons MUST generate in <500ms.
|
||||||
- Auto-generated skeletons for workers
|
- **Non-Blocking**: Generation MUST NOT block UI.
|
||||||
- file_cache skeleton generation
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No manual file selection
|
|
||||||
- No def-level control
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- File picker for skeleton injection
|
|
||||||
- Manual skeleton refresh
|
|
||||||
- Def-level granularity
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- File browser integration
|
- **File Picker**: Browse and select files for skeleton injection.
|
||||||
- Skeleton regeneration trigger
|
- **Skeleton Preview**: Show generated skeleton before injection.
|
||||||
- Context preview
|
- **Manual Trigger**: Button to manually refresh skeleton.
|
||||||
|
- **Full Read Option**: Option to inject full file content instead.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Fast skeleton generation
|
- [ ] File picker UI functional.
|
||||||
|
- [ ] Skeleton preview displays.
|
||||||
|
- [ ] Manual refresh button works.
|
||||||
|
- [ ] Full read option available.
|
||||||
|
- [ ] Uses existing skeleton generation.
|
||||||
|
|||||||
9
conductor/tracks/mma_multiworker_viz_20260306/index.md
Normal file
9
conductor/tracks/mma_multiworker_viz_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# MMA Multi-Worker Visualization
|
||||||
|
|
||||||
|
**Track ID:** mma_multiworker_viz_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "mma_multiworker_viz_20260306",
|
||||||
|
"name": "MMA Multi-Worker Visualization",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,31 @@
|
|||||||
# Implementation Plan: MMA Multi-Worker Visualization (mma_multiworker_viz)
|
# Implementation Plan: MMA Multi-Worker Visualization (mma_multiworker_viz_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Layout Design
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Design multi-pane layout
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Split view for workers
|
||||||
|
- HOW: imgui.columns or child windows
|
||||||
|
- SAFETY: Handle 0 workers
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Worker Tracking
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Track worker status
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/multi_agent_conductor.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Per-worker status
|
||||||
|
- HOW: Dictionary of worker states
|
||||||
|
- SAFETY: Thread-safe updates
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Controls
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Add kill buttons
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Button per worker to kill
|
||||||
|
- HOW: Signal worker thread
|
||||||
|
- SAFETY: Graceful termination
|
||||||
|
- [ ] Task: Add restart buttons
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Respawn killed worker
|
||||||
|
- HOW: Re-submit ticket
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test multi-worker display
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,28 +1,21 @@
|
|||||||
# Track Specification: MMA Multi-Worker Visualization
|
# Track Specification: MMA Multi-Worker Visualization (mma_multiworker_viz_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Split-view GUI for parallel worker streams per tier.
|
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.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Stream Performance**: Multiple concurrent streams MUST NOT degrade UI performance.
|
||||||
- mma_streams in app_controller.py
|
- **Memory Efficiency**: Old stream data MUST be pruned to prevent memory bloat.
|
||||||
- Tier source tagging
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- Single stream display only
|
|
||||||
- No per-worker status
|
|
||||||
- No kill/restart controls
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Split view per worker
|
|
||||||
- Individual status/output tabs
|
|
||||||
- Kill/restart per worker
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Multi-pane layout
|
- **Multi-Pane Layout**: Split view showing all active workers.
|
||||||
- Worker lifecycle controls
|
- **Per-Worker Status**: Display running/complete/blocked/failed per worker.
|
||||||
- Output streaming per worker
|
- **Output Tabs**: Each worker has scrollable output tab.
|
||||||
|
- **Kill/Restart**: Buttons to kill or restart individual workers.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Handle 4+ concurrent workers
|
- [ ] 4+ concurrent workers displayed simultaneously.
|
||||||
- Graceful termination
|
- [ ] Each worker shows individual status.
|
||||||
|
- [ ] Output streams scroll independently.
|
||||||
|
- [ ] Kill button terminates specific worker.
|
||||||
|
- [ ] Restart button re-spawns worker.
|
||||||
|
|||||||
9
conductor/tracks/native_orchestrator_20260306/index.md
Normal file
9
conductor/tracks/native_orchestrator_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Native Orchestrator
|
||||||
|
|
||||||
|
**Track ID:** native_orchestrator_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "native_orchestrator_20260306",
|
||||||
|
"name": "Native Orchestrator",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,27 @@
|
|||||||
# Implementation Plan: Transitioning to Native Orchestrator (native_orchestrator)
|
# Implementation Plan: Native Orchestrator (native_orchestrator_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Plan File Operations
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Implement plan.md read/write
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/orchestrator_pm.py or new module
|
||||||
|
- WHAT: Parse and write plan.md
|
||||||
|
- HOW: toml/tomllib for parsing
|
||||||
|
- SAFETY: Preserve formatting
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Metadata Management
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement metadata.json operations
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/orchestrator_pm.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Read/write track metadata
|
||||||
|
- HOW: json load/dump
|
||||||
|
- SAFETY: Atomic writes
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Tier Delegation
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Implement in-process delegation
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/multi_agent_conductor.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Replace subprocess calls with direct function calls
|
||||||
|
- HOW: Import and call tier functions directly
|
||||||
|
- SAFETY: Proper error propagation
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test plan operations
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,27 +1,21 @@
|
|||||||
# Track Specification: Native Orchestrator
|
# Track Specification: Native Orchestrator (native_orchestrator_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Absorb mma_exec.py into core app for pure Python MMA orchestration.
|
Absorb mma_exec.py into core application. Manual Slop natively reads/writes plan.md, manages metadata.json, and orchestrates MMA tiers in pure Python without external CLI.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Backward Compatibility**: Existing track files MUST remain compatible.
|
||||||
- mma_exec.py for tier delegation
|
- **No Breaking Changes**: API and CLI interfaces MUST remain functional.
|
||||||
- ConductorEngine in multi_agent_conductor.py
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- External CLI dependency
|
|
||||||
- No native plan.md management
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Read/write plan.md natively
|
|
||||||
- Manage metadata.json in Python
|
|
||||||
- Remove mma_exec.py dependency
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Plan file CRUD operations
|
- **Plan CRUD**: Native read/write of plan.md files.
|
||||||
- Metadata management
|
- **Metadata Management**: Native management of metadata.json.
|
||||||
- Tier delegation in-process
|
- **Tier Delegation**: In-process Tier 1-4 delegation without subprocess.
|
||||||
|
- **CLI Fallback**: Optional mma_exec.py wrapper for backward compatibility.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Backward compatible with existing tracks
|
- [ ] plan.md read/write works natively.
|
||||||
- No breaking changes to API
|
- [ ] metadata.json managed in Python.
|
||||||
|
- [ ] Tier delegation executes in-process.
|
||||||
|
- [ ] No external CLI required for orchestration.
|
||||||
|
- [ ] Existing tracks remain loadable.
|
||||||
|
|||||||
9
conductor/tracks/on_demand_def_lookup_20260306/index.md
Normal file
9
conductor/tracks/on_demand_def_lookup_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# On-Demand Definition Lookup
|
||||||
|
|
||||||
|
**Track ID:** on_demand_def_lookup_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "on_demand_def_lookup_20260306",
|
||||||
|
"name": "On-Demand Definition Lookup",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,30 @@
|
|||||||
# Implementation Plan: On-Demand Definition Lookup (on_demand_def_lookup)
|
# Implementation Plan: On-Demand Definition Lookup (on_demand_def_lookup_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Symbol Parsing
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Implement @syntax parsing
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Detect @symbol in input
|
||||||
|
- HOW: Regex or string match
|
||||||
|
- SAFETY: Handle edge cases
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Definition Retrieval
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Integrate py_get_definition
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Get definition from outline_tool
|
||||||
|
- HOW: Call existing function
|
||||||
|
- SAFETY: Handle not found
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Inline Display
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Render inline
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Show definition in discussion
|
||||||
|
- HOW: imgui.text with formatting
|
||||||
|
- [ ] Task: Implement navigation
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Click to jump to source
|
||||||
|
- HOW: Store file/line refs
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test lookup flow
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,26 +1,21 @@
|
|||||||
# Track Specification: On-Demand Definition Lookup
|
# Track Specification: On-Demand Definition Lookup (on_demand_def_lookup_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Agent can request specific class/function definitions during discussion.
|
Add ability for agent to request specific class/function definitions during discussion. User @mentions symbol for inline definition, or AI auto-fetches on unknown symbols.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Fast Lookup**: Definition lookup MUST complete in <100ms.
|
||||||
- outline_tool.py for definitions
|
- **Accurate Parsing**: Symbol parsing MUST handle edge cases.
|
||||||
- py_get_definition tool
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No @mention syntax
|
|
||||||
- No inline display
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- @symbol lookup syntax
|
|
||||||
- Inline definition display
|
|
||||||
- Auto-fetch on unknown symbols
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Symbol parsing
|
- **@Syntax**: Parse @symbol to trigger lookup.
|
||||||
- Definition retrieval
|
- **Inline Display**: Show definition inline in discussion.
|
||||||
- Inline rendering
|
- **Auto-Fetch**: Option for AI to auto-fetch on unknown symbols.
|
||||||
|
- **Navigation**: Click definition to jump to source.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Quick lookup (<100ms)
|
- [ ] @symbol triggers lookup.
|
||||||
|
- [ ] Definition displays inline.
|
||||||
|
- [ ] Auto-fetch option works.
|
||||||
|
- [ ] Click navigation functional.
|
||||||
|
- [ ] Uses existing py_get_definition.
|
||||||
|
|||||||
9
conductor/tracks/per_ticket_model_20260306/index.md
Normal file
9
conductor/tracks/per_ticket_model_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Per-Ticket Model Override
|
||||||
|
|
||||||
|
**Track ID:** per_ticket_model_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
9
conductor/tracks/per_ticket_model_20260306/metadata.json
Normal file
9
conductor/tracks/per_ticket_model_20260306/metadata.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "per_ticket_model_20260306",
|
||||||
|
"name": "Per-Ticket Model Override",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,32 @@
|
|||||||
# Implementation Plan: Per-Ticket Model Override (per_ticket_model)
|
# Implementation Plan: Per-Ticket Model Override (per_ticket_model_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Model Field
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Add override field
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/models.py
|
||||||
|
- WHAT: model_override on Ticket
|
||||||
|
- HOW: Optional[str]
|
||||||
|
- [ ] Task: Update ticket creation
|
||||||
|
- WHERE: src/conductor_tech_lead.py
|
||||||
|
- WHAT: Pass override to ticket
|
||||||
|
- HOW: Include in ticket dict
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: UI Controls
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Add model dropdown
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Select model per ticket
|
||||||
|
- HOW: imgui.combo with model list
|
||||||
|
- [ ] Task: Add override indicator
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Show override is active
|
||||||
|
- HOW: Different style
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Execution Integration
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Use override at runtime
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/multi_agent_conductor.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Use ticket.model_override if set
|
||||||
|
- HOW: Check and apply
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Test override works
|
||||||
|
- [ ] Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,27 +1,21 @@
|
|||||||
# Track Specification: Per-Ticket Model Override
|
# Track Specification: Per-Ticket Model Override (per_ticket_model_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Allow manual model selection per ticket.
|
Allow user to manually select which model to use for a specific ticket, overriding the default tier model. Useful for forcing smarter model on hard tickets.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Validation**: Selected model MUST be valid and available.
|
||||||
- Model selection per tier
|
- **Clear Override**: Override MUST be visually distinct.
|
||||||
- Ticket model field
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No per-ticket override UI
|
|
||||||
- No model picker
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Model dropdown per ticket
|
|
||||||
- Override default tier model
|
|
||||||
- Clear override indication
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Model picker UI
|
- **Model Dropdown**: Select model per ticket.
|
||||||
- Override flag
|
- **Override Flag**: Mark ticket as using override.
|
||||||
- Model validation
|
- **Clear Indicator**: Visual show override is active.
|
||||||
|
- **Reset Option**: Remove override and revert to tier default.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Valid model list
|
- [ ] Model dropdown works.
|
||||||
- Clear indication of override
|
- [ ] Override saves correctly.
|
||||||
|
- [ ] Visual indicator shows override.
|
||||||
|
- [ ] Reset returns to default.
|
||||||
|
- [ ] Override used during execution.
|
||||||
|
|||||||
9
conductor/tracks/performance_dashboard_20260306/index.md
Normal file
9
conductor/tracks/performance_dashboard_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Performance Dashboard
|
||||||
|
|
||||||
|
**Track ID:** performance_dashboard_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "performance_dashboard_20260306",
|
||||||
|
"name": "Performance Dashboard",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,26 @@
|
|||||||
# Implementation Plan: Performance Dashboard (performance_dashboard)
|
# Implementation Plan: Performance Dashboard (performance_dashboard_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Metrics Collection
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Verify performance_monitor
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/performance_monitor.py
|
||||||
|
- WHAT: Check existing metrics
|
||||||
|
- HOW: Review get_metrics() output
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Historical Data
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement metrics history
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/performance_monitor.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Rolling window of metrics
|
||||||
|
- HOW: deque with maxlen
|
||||||
|
- SAFETY: Memory bounded
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Visualization
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Render graphs
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Line graphs for CPU/RAM/frame time
|
||||||
|
- HOW: imgui.plot_lines or custom
|
||||||
|
- SAFETY: 60fps during rendering
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test graph rendering
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,29 +1,21 @@
|
|||||||
# Track Specification: Performance Dashboard
|
# Track Specification: Performance Dashboard (performance_dashboard_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Expand performance metrics with CPU/RAM, frame time, input lag graphs.
|
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 visualization.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **60fps Constraint**: Metrics collection MUST NOT impact frame rate.
|
||||||
- performance_monitor.py
|
- **Thread Safety**: Cross-thread metrics MUST use proper synchronization.
|
||||||
- get_metrics() method
|
|
||||||
- Basic FPS display
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No historical graphs
|
|
||||||
- No input lag tracking
|
|
||||||
- No CPU/RAM visualization
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Historical performance graphs
|
|
||||||
- CPU/RAM usage display
|
|
||||||
- Input lag metrics
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Rolling metrics history
|
- **CPU/RAM Graphs**: Display rolling CPU and RAM usage over time.
|
||||||
- Graph rendering
|
- **Frame Time**: Show frame time histogram.
|
||||||
- Alert thresholds
|
- **Input Lag**: Track and display input-to-response latency.
|
||||||
|
- **Historical Data**: Maintain rolling window of metrics history.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- 60fps UI during metrics collection
|
- [ ] CPU graph shows rolling history.
|
||||||
- Configurable history length
|
- [ ] RAM graph shows rolling history.
|
||||||
|
- [ ] Frame time histogram displays.
|
||||||
|
- [ ] Input lag metrics tracked.
|
||||||
|
- [ ] Uses existing performance_monitor.py.
|
||||||
|
|||||||
9
conductor/tracks/pipeline_pause_resume_20260306/index.md
Normal file
9
conductor/tracks/pipeline_pause_resume_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Pipeline Pause/Resume
|
||||||
|
|
||||||
|
**Track ID:** pipeline_pause_resume_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "pipeline_pause_resume_20260306",
|
||||||
|
"name": "Pipeline Pause/Resume",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,32 @@
|
|||||||
# Implementation Plan: Pipeline Pause/Resume (pipeline_pause_resume)
|
# Implementation Plan: Pipeline Pause/Resume (pipeline_pause_resume_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Pause Mechanism
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Add pause state
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/multi_agent_conductor.py
|
||||||
|
- WHAT: Global pause flag
|
||||||
|
- HOW: threading.Event
|
||||||
|
- [ ] Task: Implement pause
|
||||||
|
- WHERE: src/multi_agent_conductor.py
|
||||||
|
- WHAT: Stop worker spawning
|
||||||
|
- HOW: Check pause flag
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Resume Mechanism
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement resume
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/multi_agent_conductor.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Continue from pause
|
||||||
|
- HOW: Clear flag, restart workers
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: UI
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Add pause button
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Toggle pause state
|
||||||
|
- HOW: imgui.button
|
||||||
|
- [ ] Task: Add visual indicator
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Show paused status
|
||||||
|
- HOW: Banner or icon
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Test pause/resume
|
||||||
|
- [ ] Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,27 +1,21 @@
|
|||||||
# Track Specification: Pipeline Pause/Resume
|
# Track Specification: Pipeline Pause/Resume (pipeline_pause_resume_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Global pause/resume for entire DAG execution pipeline.
|
Add global pause/resume for entire DAG execution pipeline. Allow user to freeze all worker activity and resume later.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **State Preservation**: Worker state MUST be preserved across pause.
|
||||||
- DAG engine execution
|
- **Atomic Operation**: Pause/Resume MUST be atomic.
|
||||||
- auto_queue mode
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No pause mechanism
|
|
||||||
- No resume capability
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Global pause button
|
|
||||||
- Resume button
|
|
||||||
- Frozen state visualization
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Pause all workers
|
- **Pause Button**: Freeze all worker activity.
|
||||||
- Resume from paused state
|
- **Resume Button**: Continue from paused state.
|
||||||
- State persistence
|
- **Visual Indicator**: Show pipeline is paused.
|
||||||
|
- **State Display**: Show which workers are paused.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Worker state preservation
|
- [ ] Pause button freezes pipeline.
|
||||||
- Clean resume
|
- [ ] Resume button continues execution.
|
||||||
|
- [ ] Visual indicator shows paused state.
|
||||||
|
- [ ] Worker states preserved.
|
||||||
|
- [ ] No data loss on resume.
|
||||||
|
|||||||
9
conductor/tracks/session_insights_20260306/index.md
Normal file
9
conductor/tracks/session_insights_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Session Insights & Efficiency Scores
|
||||||
|
|
||||||
|
**Track ID:** session_insights_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
9
conductor/tracks/session_insights_20260306/metadata.json
Normal file
9
conductor/tracks/session_insights_20260306/metadata.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "session_insights_20260306",
|
||||||
|
"name": "Session Insights & Efficiency Scores",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,28 @@
|
|||||||
# Implementation Plan: Session Insights & Efficiency Scores (session_insights)
|
# Implementation Plan: Session Insights (session_insights_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Session Data
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Review session_logger
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/session_logger.py
|
||||||
|
- WHAT: Check existing data
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Metrics Calculation
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement token timeline
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Token usage over time
|
||||||
|
- HOW: Graph from history
|
||||||
|
- [ ] Task: Implement cost projection
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Estimate remaining budget
|
||||||
|
- HOW: Linear extrapolation
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: UI
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Render insights panel
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Timeline, projection, summary
|
||||||
|
- HOW: imgui widgets
|
||||||
|
- SAFETY: Handle zero session
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test insights
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,27 +1,21 @@
|
|||||||
# Track Specification: Session Insights & Efficiency Scores
|
# Track Specification: Session Insights & Efficiency Scores (session_insights_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Token usage over time, cost projections, efficiency metrics.
|
Token usage over time, cost projections, session summary with efficiency scores. Visualize session_logger data.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Efficient Calculation**: Metrics MUST be calculated incrementally.
|
||||||
- session_logger.py
|
- **Real-Time**: Updates SHOULD reflect current session state.
|
||||||
- Token counting
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No visualization
|
|
||||||
- No efficiency scoring
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Token usage graphs
|
|
||||||
- Cost projections
|
|
||||||
- Efficiency scores
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Rolling token history
|
- **Token Timeline**: Graph of token usage over session.
|
||||||
- Cost calculation
|
- **Cost Projection**: Estimate remaining budget based on usage.
|
||||||
- Efficiency algorithm
|
- **Efficiency Score**: Calculate tokens-per-useful-change ratio.
|
||||||
|
- **Session Summary**: Text summary of session metrics.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Session comparison
|
- [ ] Token timeline renders.
|
||||||
- Export capability
|
- [ ] Cost projection accurate.
|
||||||
|
- [ ] Efficiency score calculated.
|
||||||
|
- [ ] Summary displays key metrics.
|
||||||
|
- [ ] Uses existing session_logger.
|
||||||
|
|||||||
9
conductor/tracks/ticket_queue_mgmt_20260306/index.md
Normal file
9
conductor/tracks/ticket_queue_mgmt_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Manual Ticket Queue Management
|
||||||
|
|
||||||
|
**Track ID:** ticket_queue_mgmt_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "ticket_queue_mgmt_20260306",
|
||||||
|
"name": "Manual Ticket Queue Management",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,33 @@
|
|||||||
# Implementation Plan: Manual Ticket Queue Management (ticket_queue_mgmt)
|
# Implementation Plan: Manual Ticket Queue Management (ticket_queue_mgmt_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: UI Framework
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Add drag-drop support
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Enable ticket reordering via drag
|
||||||
|
- HOW: imgui drag-drop or custom handling
|
||||||
|
- SAFETY: Validate after drop
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Priority System
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Add priority field
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/models.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Add priority to Ticket
|
||||||
|
- HOW: Enum (high/med/low)
|
||||||
|
- [ ] Task: Add priority UI
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Dropdown or buttons
|
||||||
|
- HOW: imgui.combo
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Bulk Operations
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Implement multi-select
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Checkbox per ticket
|
||||||
|
- HOW: imgui.checkbox
|
||||||
|
- [ ] Task: Implement bulk actions
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Execute/skip/block buttons
|
||||||
|
- HOW: Apply to selected
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test operations
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,28 +1,21 @@
|
|||||||
# Track Specification: Manual Ticket Queue Management
|
# Track Specification: Manual Ticket Queue Management (ticket_queue_mgmt_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Reorder, prioritize, and requeue tickets with drag-drop UI.
|
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.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **DAG Validity**: Reordering MUST maintain valid dependencies.
|
||||||
- Ticket system in models.py
|
- **Atomic Operations**: Bulk operations MUST be atomic.
|
||||||
- DAG dependency resolution
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No drag-drop reordering
|
|
||||||
- No priority tags
|
|
||||||
- No bulk operations
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Drag-drop ticket reordering
|
|
||||||
- Priority tags (high/med/low)
|
|
||||||
- Bulk select and execute/skip/block
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Drag-drop handlers
|
- **Drag-Drop**: Reorder tickets via drag-drop.
|
||||||
- Priority field on tickets
|
- **Priority Tags**: Set priority (high/med/low) on tickets.
|
||||||
- Bulk action buttons
|
- **Bulk Select**: Multi-select tickets.
|
||||||
|
- **Bulk Actions**: Execute/skip/block selected tickets.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Maintain DAG validity
|
- [ ] Drag-drop reordering works.
|
||||||
- Undo capability
|
- [ ] Priority tags display and save.
|
||||||
|
- [ ] Multi-select functional.
|
||||||
|
- [ ] Bulk actions apply correctly.
|
||||||
|
- [ ] DAG validity maintained.
|
||||||
|
|||||||
9
conductor/tracks/tier4_auto_patching_20260306/index.md
Normal file
9
conductor/tracks/tier4_auto_patching_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Advanced Tier 4 QA Auto-Patching
|
||||||
|
|
||||||
|
**Track ID:** tier4_auto_patching_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "tier4_auto_patching_20260306",
|
||||||
|
"name": "Advanced Tier 4 QA Auto-Patching",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,25 @@
|
|||||||
# Implementation Plan: Advanced Tier 4 QA Auto-Patching (tier4_auto_patching)
|
# Implementation Plan: Tier 4 Auto-Patching (tier4_auto_patching_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Patch Generation
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Extend Tier 4 to generate patches
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/multi_agent_conductor.py
|
||||||
|
- WHAT: Add patch generation on test failure
|
||||||
|
- HOW: Use difflib to generate unified diff
|
||||||
|
- SAFETY: Only generate, don't apply
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Diff Viewer
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement GUI diff viewer
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Side-by-side diff display
|
||||||
|
- HOW: Custom ImGui rendering or third-party
|
||||||
|
- SAFETY: Read-only preview
|
||||||
|
- [ ] Task: Implement apply button
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Apply patch to working directory
|
||||||
|
- HOW: subprocess.run(['patch', '-p1'])
|
||||||
|
- SAFETY: Backup before apply
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Tests & Verification
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Write patch tests
|
||||||
- [ ] Task: Verify coverage
|
- [ ] Task: Conductor - Phase Verification
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
|
||||||
|
|||||||
@@ -1,27 +1,22 @@
|
|||||||
# Track Specification: Advanced Tier 4 QA Auto-Patching
|
# Track Specification: Advanced Tier 4 QA Auto-Patching (tier4_auto_patching_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Elevate Tier 4 to auto-patcher with .patch file generation and diff viewer.
|
Elevate Tier 4 from log summarizer to auto-patcher. When verification tests fail, Tier 4 generates a .patch file. GUI displays side-by-side diff; user clicks Apply Patch to resume pipeline.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Safe Preview**: Patches MUST be previewed before application.
|
||||||
- Tier 4 log analysis
|
- **Rollback**: Failed patches MUST be revertable.
|
||||||
- Error detection in tests
|
- **Atomic Application**: Patch application MUST be atomic (all-or-nothing).
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No .patch generation
|
|
||||||
- No GUI diff viewer
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Tier 4 generates .patch on test failure
|
|
||||||
- Side-by-side diff viewer in GUI
|
|
||||||
- Apply patch button
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- .patch file generation
|
- **Patch Generation**: Tier 4 generates .patch file on test failure.
|
||||||
- Diff computation
|
- **Diff Viewer**: GUI shows side-by-side diff of proposed changes.
|
||||||
- Patch application
|
- **Apply Button**: User confirms patch application.
|
||||||
|
- **Patch Application**: Apply patch to working directory and verify.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Safe patch preview before apply
|
- [ ] Tier 4 generates valid .patch file.
|
||||||
- Rollback capability
|
- [ ] GUI displays readable side-by-side diff.
|
||||||
|
- [ ] User can approve/reject patch.
|
||||||
|
- [ ] Approved patches applied correctly.
|
||||||
|
- [ ] Rollback available on failure.
|
||||||
|
|||||||
9
conductor/tracks/tool_usage_analytics_20260306/index.md
Normal file
9
conductor/tracks/tool_usage_analytics_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Tool Usage Analytics
|
||||||
|
|
||||||
|
**Track ID:** tool_usage_analytics_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "tool_usage_analytics_20260306",
|
||||||
|
"name": "Tool Usage Analytics",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,25 @@
|
|||||||
# Implementation Plan: Tool Usage Analytics (tool_usage_analytics)
|
# Implementation Plan: Tool Usage Analytics (tool_usage_analytics_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Data Collection
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Verify tool_log_callback
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/ai_client.py
|
||||||
|
- WHAT: Check existing logging
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Aggregation
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement usage aggregation
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py or new module
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Count tools, avg times, failures
|
||||||
|
- HOW: Process tool_log entries
|
||||||
|
- SAFETY: Efficient data structures
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Visualization
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Render analytics
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Charts and tables
|
||||||
|
- HOW: imgui tables, plot_lines
|
||||||
|
- SAFETY: Handle empty data
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test analytics
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,26 +1,21 @@
|
|||||||
# Track Specification: Tool Usage Analytics
|
# Track Specification: Tool Usage Analytics (tool_usage_analytics_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Analytics panel for tool usage patterns.
|
Analytics panel showing most-used tools, average execution time, and failure rates. Uses existing tool_log_callback data.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Efficient Aggregation**: Analytics MUST use efficient data structures.
|
||||||
- tool_log_callback
|
- **Memory Bounds**: History MUST be bounded to prevent growth.
|
||||||
- Tool execution tracking
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No analytics UI
|
|
||||||
- No aggregation
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Most-used tools ranking
|
|
||||||
- Average execution time
|
|
||||||
- Failure rate tracking
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Usage histograms
|
- **Usage Ranking**: Show most-used tools ranked by count.
|
||||||
- Time series data
|
- **Avg Time**: Display average execution time per tool.
|
||||||
- Failure logging
|
- **Failure Rate**: Track and display failure percentage per tool.
|
||||||
|
- **Time Series**: Show usage over time.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Efficient data aggregation
|
- [ ] Tool ranking displayed.
|
||||||
|
- [ ] Average times accurate.
|
||||||
|
- [ ] Failure rates tracked.
|
||||||
|
- [ ] Time series visualization works.
|
||||||
|
- [ ] Uses existing tool_log_callback.
|
||||||
|
|||||||
9
conductor/tracks/track_progress_viz_20260306/index.md
Normal file
9
conductor/tracks/track_progress_viz_20260306/index.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Track Progress Visualization
|
||||||
|
|
||||||
|
**Track ID:** track_progress_viz_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "track_progress_viz_20260306",
|
||||||
|
"name": "Track Progress Visualization",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,32 @@
|
|||||||
# Implementation Plan: Track Progress Visualization (track_progress_viz)
|
# Implementation Plan: Track Progress Visualization (track_progress_viz_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Progress Calculation
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Implement progress calculation
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/gui_2.py or app_controller
|
||||||
|
- WHAT: Calculate % from ticket states
|
||||||
|
- HOW: Count completed vs total
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Visualization
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Render progress bar
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Visual progress bar
|
||||||
|
- HOW: imgui.progress_bar
|
||||||
|
- [ ] Task: Render percentage text
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Numeric % display
|
||||||
|
- HOW: imgui.text
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Additional Features
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Implement ticket counts
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Completed/remaining counts
|
||||||
|
- HOW: Text display
|
||||||
|
- [ ] Task: Implement ETA
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Time estimate
|
||||||
|
- HOW: Average time per ticket
|
||||||
|
|
||||||
|
## Phase 4: Verification
|
||||||
|
- [ ] Task: Test progress display
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,26 +1,21 @@
|
|||||||
# Track Specification: Track Progress Visualization
|
# Track Specification: Track Progress Visualization (track_progress_viz_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Progress bars and completion percentage for tracks/tickets.
|
Progress bars and percentage completion for active tracks and tickets. Better visualization of DAG execution state.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Accurate State**: Progress MUST reflect actual ticket status.
|
||||||
- Track/ticket status tracking
|
- **Efficient Updates**: Status changes MUST trigger efficient UI updates.
|
||||||
- DAG execution state
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No progress bars
|
|
||||||
- No completion %
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Visual progress bars
|
|
||||||
- % completion
|
|
||||||
- Time estimates
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Progress calculation
|
- **Progress Bar**: Visual bar showing % complete.
|
||||||
- Bar rendering
|
- **Percentage Text**: Display numeric % completion.
|
||||||
- ETA estimation
|
- **Ticket Breakdown**: Show completed/remaining counts.
|
||||||
|
- **ETA Estimate**: Calculate approximate completion time.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Accurate state sync
|
- [ ] Progress bar renders.
|
||||||
|
- [ ] Percentage accurate.
|
||||||
|
- [ ] Counts match actual tickets.
|
||||||
|
- [ ] ETA calculation works.
|
||||||
|
- [ ] Updates reflect state changes.
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# True Parallel Worker Execution
|
||||||
|
|
||||||
|
**Track ID:** true_parallel_worker_execution_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "true_parallel_worker_execution_20260306",
|
||||||
|
"name": "True Parallel Worker Execution",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,33 @@
|
|||||||
# Implementation Plan: True Parallel Worker Execution (The DAG Realization) (true_parallel_worker_execution)
|
# Implementation Plan: True Parallel Worker Execution (true_parallel_worker_execution_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Worker Pool Architecture
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Design worker pool architecture
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: src/dag_engine.py, src/multi_agent_conductor.py
|
||||||
|
- WHAT: Define WorkerPool class with configurable size
|
||||||
|
- HOW: Use threading.Thread with queue-based task distribution
|
||||||
|
- SAFETY: Thread-safe queue for ticket distribution
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Implementation
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement WorkerPool class
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/dag_engine.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Create worker pool with configurable worker count
|
||||||
|
- HOW: threading.Thread pool with queue
|
||||||
|
- SAFETY: Use Lock for shared state
|
||||||
|
- [ ] Task: Add file locking mechanism
|
||||||
|
- WHERE: src/shell_runner.py or new locking module
|
||||||
|
- WHAT: Implement file locks for concurrent access
|
||||||
|
- HOW: fcntl.flock or equivalent
|
||||||
|
- SAFETY: Deadlock prevention with timeout
|
||||||
|
- [ ] Task: Update DAG engine to use pool
|
||||||
|
- WHERE: src/dag_engine.py
|
||||||
|
- WHAT: Replace sequential execution with pool-based
|
||||||
|
- HOW: Submit ready tickets to worker pool
|
||||||
|
- SAFETY: Atomic status updates
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Tests & Verification
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Write worker pool tests
|
||||||
- [ ] Task: Verify coverage
|
- WHERE: tests/test_dag_engine.py
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
- WHAT: Test concurrent execution
|
||||||
|
- HOW: Mock workers, verify parallel execution
|
||||||
|
- [ ] Task: Conductor - Phase Verification
|
||||||
|
|||||||
@@ -1,28 +1,22 @@
|
|||||||
# Track Specification: True Parallel Worker Execution
|
# Track Specification: True Parallel Worker Execution (true_parallel_worker_execution_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Implement true concurrency for the DAG engine to spawn parallel Tier 3 workers.
|
Implement true concurrency for the DAG engine to spawn parallel Tier 3 workers. Currently workers execute sequentially; this track enables 4+ workers to process independent tickets simultaneously, dramatically reducing total pipeline execution time.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **Thread Safety**: All shared state (ticket status, file access) MUST use threading.Lock or equivalent synchronization.
|
||||||
- threading.local() for tier isolation (Track 5)
|
- **File Locking**: Concurrent file access MUST be protected via file locks or Git-based diff-merging to prevent AST collision.
|
||||||
- DAG engine in dag_engine.py
|
- **Idempotent Status Updates**: Worker status updates MUST be atomic to prevent race conditions.
|
||||||
- Worker spawning in multi_agent_conductor.py
|
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- No parallel worker spawning
|
|
||||||
- No file locking for concurrent file access
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Spawn 4 independent Tier 3 workers in parallel
|
|
||||||
- Implement file locking or Git-based diff-merging
|
|
||||||
- Thread-safe ticket status updates
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- Worker pool with configurable size
|
- **Worker Pool**: Implement configurable worker pool (default 4 workers) in DAG engine.
|
||||||
- File locking mechanism
|
- **Parallel Spawning**: Workers MUST be spawned as independent threads handling ready tickets concurrently.
|
||||||
- Status tracking for each worker
|
- **Status Tracking**: Each worker MUST report individual status (running, complete, blocked, failed).
|
||||||
|
- **Resource Limits**: Pool MUST respect configurable max concurrent workers.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- No race conditions on file access
|
- [ ] Worker pool spawns 4 concurrent workers for 4+ independent tickets.
|
||||||
- >80% test coverage for new code
|
- [ ] No race conditions on ticket status updates.
|
||||||
|
- [ ] File locking prevents concurrent edits to same file.
|
||||||
|
- [ ] Workers report individual status to GUI.
|
||||||
|
- [ ] >80% test coverage for new concurrency code.
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Visual DAG & Interactive Ticket Editing
|
||||||
|
|
||||||
|
**Track ID:** visual_dag_ticket_editing_20260306
|
||||||
|
|
||||||
|
**Status:** Planned
|
||||||
|
|
||||||
|
**See Also:**
|
||||||
|
- [Spec](./spec.md)
|
||||||
|
- [Plan](./plan.md)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"id": "visual_dag_ticket_editing_20260306",
|
||||||
|
"name": "Visual DAG & Interactive Ticket Editing",
|
||||||
|
"status": "planned",
|
||||||
|
"created_at": "2026-03-06T00:00:00Z",
|
||||||
|
"updated_at": "2026-03-06T00:00:00Z",
|
||||||
|
"type": "feature",
|
||||||
|
"priority": "medium"
|
||||||
|
}
|
||||||
@@ -1,16 +1,29 @@
|
|||||||
# Implementation Plan: Visual DAG & Interactive Ticket Editing (visual_dag_ticket_editing)
|
# Implementation Plan: Visual DAG Ticket Editing (visual_dag_ticket_editing_20260306)
|
||||||
|
|
||||||
## Phase 1: Research & Design
|
## Phase 1: Node Editor Setup
|
||||||
- [ ] Task: Analyze existing backend implementation
|
- [ ] Task: Initialize MMA Environment
|
||||||
- [ ] Task: Design GUI/UX approach
|
- [ ] Task: Verify ImGui Bundle node editor available
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHERE: requirements.txt
|
||||||
|
- WHAT: Ensure imgui-bundle with node editor
|
||||||
|
- HOW: pip install
|
||||||
|
|
||||||
## Phase 2: Implementation
|
## Phase 2: Implementation
|
||||||
- [ ] Task: Implement feature
|
- [ ] Task: Implement ticket node rendering
|
||||||
- [ ] Task: Write tests
|
- WHERE: src/gui_2.py
|
||||||
- [ ] Task: Conductor - User Manual Verification
|
- WHAT: Render tickets as nodes
|
||||||
|
- HOW: imgui.node_editor with custom drawing
|
||||||
|
- SAFETY: 60fps target
|
||||||
|
- [ ] Task: Implement drag-drop
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Handle node drag and dependency lines
|
||||||
|
- HOW: Node editor callbacks
|
||||||
|
- SAFETY: Validate DAG after edit
|
||||||
|
- [ ] Task: Implement status display
|
||||||
|
- WHERE: src/gui_2.py
|
||||||
|
- WHAT: Color-coded status per node
|
||||||
|
- HOW: Node colors based on ticket status
|
||||||
|
- SAFETY: Sync with backend state
|
||||||
|
|
||||||
## Phase 3: Verification
|
## Phase 3: Tests & Verification
|
||||||
- [ ] Task: Run test suite
|
- [ ] Task: Write node editor tests
|
||||||
- [ ] Task: Verify coverage
|
- [ ] Task: Conductor - Phase Verification
|
||||||
- [ ] Task: Conductor - Phase Completion Verification
|
|
||||||
|
|||||||
@@ -1,27 +1,22 @@
|
|||||||
# Track Specification: Visual DAG & Interactive Ticket Editing
|
# Track Specification: Visual DAG & Interactive Ticket Editing (visual_dag_ticket_editing_20260306)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Replace linear ticket list with interactive node graph using ImGui Bundle.
|
Replace the linear ticket list in the GUI with an interactive node graph using ImGui Bundle's node editor. Users can visually drag dependency lines, split nodes, or delete tasks before execution.
|
||||||
|
|
||||||
## Current State Audit
|
## Architectural Constraints
|
||||||
### Already Implemented
|
- **DAG Validity**: Any visual edit MUST maintain valid dependency graph (no cycles).
|
||||||
- Ticket/DAG display in gui_2.py
|
- **Performance**: Node rendering MUST maintain 60fps with 50+ nodes.
|
||||||
- DAG engine for dependency resolution
|
- **State Sync**: Visual state MUST stay synchronized with backend ticket state.
|
||||||
|
|
||||||
### Gaps to Fill
|
|
||||||
- Linear ticket list only
|
|
||||||
- No drag-drop dependency editing
|
|
||||||
|
|
||||||
## Goals
|
|
||||||
- Interactive node graph visualization
|
|
||||||
- Drag dependency lines
|
|
||||||
- Split/delete nodes visually
|
|
||||||
|
|
||||||
## Functional Requirements
|
## Functional Requirements
|
||||||
- ImGui Bundle node editor integration
|
- **Node Editor**: Integrate ImGui Bundle node editor for ticket visualization.
|
||||||
- Click-drag node positioning
|
- **Drag-Drop**: Users can drag nodes to reorder and create dependency lines.
|
||||||
- Visual dependency lines
|
- **Visual Status**: Nodes display color-coded status (todo, running, blocked, done).
|
||||||
|
- **Edit Validation**: Changes MUST validate against DAG constraints before saving.
|
||||||
|
|
||||||
## Non-Functional Requirements
|
## Acceptance Criteria
|
||||||
- Maintain DAG validity on edit
|
- [ ] Node editor displays all tickets as connected nodes.
|
||||||
- Smooth 60fps rendering
|
- [ ] Users can drag nodes to create/remove dependencies.
|
||||||
|
- [ ] Visual changes sync to backend ticket state.
|
||||||
|
- [ ] DAG validity enforced (no cycles allowed).
|
||||||
|
- [ ] 60fps maintained with 50+ nodes.
|
||||||
|
|||||||
Reference in New Issue
Block a user