- Implement Live Worker Streaming: wire ai_client.comms_log_callback to Tier 3 streams
- Add Parallel DAG Execution using asyncio.gather for non-dependent tickets
- Implement Automatic Retry with Model Escalation (Flash-Lite -> Flash -> Pro)
- Add Tier Model Configuration UI to MMA Dashboard with project TOML persistence
- Fix FPS reporting in PerformanceMonitor to prevent transient 0.0 values
- Update Ticket model with retry_count and dictionary-like access
- Stabilize Gemini CLI integration tests and handle script approval events in simulations
- Finalize and verify all 6 phases of the implementation plan
- Add cost tracking with new cost_tracker.py module
- Enhance Track Proposal modal with editable titles and goals
- Add Conductor Setup summary and New Track creation form to MMA Dashboard
- Implement Task DAG editing (add/delete tickets) and track-scoped discussion
- Add visual polish: color-coded statuses, tinted progress bars, and node indicators
- Support live worker streaming from AI providers to GUI panels
- Fix numerous integration test regressions and stabilize headless service
_handle_approve_script existed but was not registered in the click handler dict.
_pending_dialog (PowerShell confirmation) was invisible to the hook API —
only _pending_ask_dialog (MCP tool ask) was exposed.
- gui_2.py: register btn_approve_script -> _handle_approve_script
- api_hooks.py: add pending_script_approval field to mma_status response
- visual_sim_mma_v2.py: _drain_approvals handles pending_script_approval
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- api_hooks.py: add mma_tier_usage to get_mma_status() response
- pytest-timeout 2.4.0 installed so mark.timeout(300) is enforced in CI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- description/status/assigned_to fields now match parse_json_tickets expectations
- Sprint planning branch also detects 'generate the implementation tickets'
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tier 3 workers need to read/write files in headless mode. Without this
flag, all file tool calls are blocked waiting for interactive permission.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When ANTHROPIC_API_KEY is set in the shell environment, claude --print
routes through the API key instead of subscription auth. Stripping it
forces the CLI to use subscription login for all Tier 3/4 delegation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add step 1: read mma-tier2-tech-lead.md before any track work
- Add explicit stop rule when Tier 3 delegation fails (credit/API error)
Tier 2 must NOT silently absorb Tier 3 work as a fallback
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tier 1 planning calls are strategic — the model should never use file tools
during epic initialization. This caused JSON parse failures when the model
tried to verify file references in the epic prompt.
- ai_client.py: add enable_tools param to send() and _send_gemini()
- orchestrator_pm.py: pass enable_tools=False in generate_tracks()
- tests/visual_sim_mma_v2.py: remove file reference from test epic
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Task 2.2 of mma_pipeline_fix_20260301: _cb_plan_epic captures comms baseline before generate_tracks() and pushes mma_tier_usage['Tier 1'] update via custom_callback. _start_track_logic does same for generate_tickets() -> mma_tier_usage['Tier 2'].
Task 2.1 of mma_pipeline_fix_20260301: capture comms baseline before send(), then sum input_tokens/output_tokens from IN/response entries to populate engine.tier_usage['Tier 3'].