2.2 KiB
2.2 KiB
MMA Observability & UX Specification
1. Goal
Implement the visible surface area of the 4-Tier Hierarchical Multi-Model Architecture within gui_2.py. This ensures the user can monitor, control, and debug the multi-agent execution flow.
2. Core Components
2.1 MMA Dashboard Panel
- Visibility: A new dockable panel named "MMA Dashboard".
- Track Status: Display the current active
TrackID and overall progress (e.g., "3/10 Tickets Complete"). - Ticket DAG Visualization: A list or simple graph representing the
Ticketqueue.- Each ticket shows:
ID,Target,Status(Pending, Running, Paused, Complete, Blocked). - Visual indicators for dependencies (e.g., indented or linked).
- Each ticket shows:
2.2 The Execution Clutch (HITL)
- Step Mode Toggle: A global or per-track checkbox to enable "Step Mode".
- Pause Points:
- Pre-Execution: When a Tier 3 worker generates a tool call (e.g.,
write_file), the engine pauses. - UI Interaction: The GUI displays the proposed script/change and provides:
[Approve]: Proceed with execution.[Edit Payload]: Open the Memory Mutator.[Abort]: Mark the ticket as Blocked/Cancelled.
- Pre-Execution: When a Tier 3 worker generates a tool call (e.g.,
- Visual Feedback: Tactile/Arcade-style blinking or color changes when the engine is "Paused for HITL".
2.3 Memory Mutator (The "Debug" Superpower)
- Functionality: A modal or dedicated text area that allows the user to edit the raw JSON conversation history of a paused worker.
- Use Case: Fixing AI hallucinations or providing specific guidance mid-turn without restarting the context window.
- Integration: After editing, the "Approve" button sends the modified history back to the engine.
2.4 Tiered Metrics & Logs
- Observability: Show which model (Tier 1, 2, 3, or 4) is currently active.
- Sub-Agent Logs: Provide quick links to open the timestamped log files generated by
mma_exec.py.
3. Technical Integration
- Event Bus: Use the existing
AsyncEventQueueto pushStateUpdateEventsfrom theConductorEngineto the GUI. - Non-Blocking: Ensure the UI remains responsive (FPS > 60) even when multiple tickets are processing or the engine is waiting for user input.