Commit Graph
100 Commits
Author SHA1 Message Date
ed fb0d6be2e6 conductor(plan): Record Phase 1 checkpoint bc1a570; mark Task 2.1 in progress 2026-03-02 16:20:52 -05:00
ed bc1a5707a0 conductor(checkpoint): Checkpoint end of Phase 1 — mma_agent_focus_ux 2026-03-02 16:20:25 -05:00
ed 00a196cf13 conductor(plan): Mark Phase 1 tasks 1.1-1.6 complete (8d9f25d) 2026-03-02 16:19:01 -05:00
ed 8d9f25d0ce feat(mma): Phase 1 — source_tier tagging at emission
- ai_client: add current_tier module var; stamp source_tier on every _append_comms entry
- multi_agent_conductor: set current_tier='Tier 3' around send(), clear in finally
- conductor_tech_lead: set current_tier='Tier 2' around send(), clear in finally
- gui_2: _on_tool_log captures current_tier; _append_tool_log stores dict with source_tier
- tests: 8 new tests covering current_tier, source_tier in comms, tool log dict format
2026-03-02 16:18:00 -05:00
ed 264b04f060 chore: close feature_bleed_cleanup_20260302 — update TASKS.md and JOURNAL.md
All 3 phases complete and verified. 62 lines of dead code removed from gui_2.py.
Meta-Level Sanity Check: 0 new ruff violations introduced.
Next track: mma_agent_focus_ux_20260302 (dependency on Phase 1 now satisfied)
2026-03-02 15:57:16 -05:00
ed 8ea636147e conductor(plan): Mark phase 'Phase 3 - Token Budget Layout Fix' as complete [0d081a2] 2026-03-02 15:55:53 -05:00
ed 0d081a28c5 conductor(checkpoint): Checkpoint end of Phase 3 — feature_bleed_cleanup_20260302
Phase 3: Token Budget Layout Fix
- Removed 4 redundant lines from _render_provider_panel (double labels + embedded call)
- Added collapsing_header('Token Budget') to AI Settings after 'System Prompts'
- 32 tests passed, import clean
- Token Budget header verified by user
2026-03-02 15:55:34 -05:00
ed 35abc265e9 conductor(plan): Mark task 3.4 complete — Token Budget collapsing header verified 2026-03-02 15:55:28 -05:00
ed 5180038090 conductor(plan): Mark task 3.3 complete — 32 passed 2026-03-02 15:51:10 -05:00
ed bd3d0e77db conductor(plan): Mark tasks 3.1-3.2 complete, begin 3.3 — 6097368 2026-03-02 15:50:27 -05:00
edandClaude Sonnet 4.6 60973680a8 fix(bleed): fix token budget layout — own collapsing header in AI Settings
Phase 3 changes:
- _render_provider_panel: removed 4 redundant lines (2x 'Token Budget' labels,
  separator, embedded _render_token_budget_panel call)
- _gui_func AI Settings: added collapsing_header('Token Budget') section after
  'System Prompts', calling _render_token_budget_panel cleanly
AI Settings now has three independent collapsing sections.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 15:49:51 -05:00
ed 97792e7fff conductor(plan): Mark phase 'Phase 2 - Menu Bar Consolidation' as complete [15fd786] 2026-03-02 15:44:11 -05:00
ed 15fd7862b1 conductor(checkpoint): Checkpoint end of Phase 2 — feature_bleed_cleanup_20260302
Phase 2: Menu Bar Consolidation
- Deleted dead begin_main_menu_bar() block (24 lines, always-False in HelloImGui)
- Added 'manual slop' > Quit menu to live _show_menus using runner_params.app_shall_exit
- 32 tests passed, import clean
- Quit menu verified by user
2026-03-02 15:43:55 -05:00
ed b96405aaa3 conductor(plan): Mark task 2.4 complete — Quit menu verified by user 2026-03-02 15:43:47 -05:00
ed e6e8298025 conductor(plan): Mark task 2.3 complete — 32 passed 2026-03-02 15:42:13 -05:00
ed acd7c05977 conductor(plan): Mark task 2.2 complete, begin 2.3 — 340f44e 2026-03-02 15:41:34 -05:00
edandClaude Sonnet 4.6 340f44e4bf feat(bleed): add working Quit to _show_menus via runner_params.app_shall_exit
Adds 'manual slop' menu before 'Windows' in the live HelloImGui menubar callback.
Quit sets self.runner_params.app_shall_exit = True — the correct HelloImGui API.
Previously the only quit path was the window close button.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 15:41:12 -05:00
ed cb5f328da3 conductor(plan): Mark task 2.1 complete, begin 2.2 — b0f5a5c 2026-03-02 15:39:41 -05:00
edandClaude Sonnet 4.6 b0f5a5c8d3 fix(bleed): remove dead begin_main_menu_bar() block from _gui_func (lines 1674-1697)
HelloImGui commits the menubar before invoking _gui_func, so begin_main_menu_bar()
always returned False. The 24-line block (Quit, View, Project menus) never executed.
Also removes the misaligned '# ---- Menubar' comment and dead '# --- Hubs ---' comment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 15:39:19 -05:00
ed 129cc33d01 conductor(plan): Mark phase 'Phase 1 - Dead Code Removal' as complete [be7174c] 2026-03-02 15:35:26 -05:00
ed be7174ca53 conductor(checkpoint): Checkpoint end of Phase 1 — feature_bleed_cleanup_20260302
Phase 1: Dead Code Removal
- Deleted dead _render_comms_history_panel duplicate (33 lines, stale 'type' key)
- Deleted 4 duplicate __init__ state assignments
- 32 tests passed, gui_2.py import clean
- Comms History panel visually verified by user
2026-03-02 15:34:48 -05:00
ed 763bc2e734 conductor(plan): Mark task 1.4 complete — Comms History panel verified visually 2026-03-02 14:32:25 -05:00
ed 10724f86a5 conductor(plan): Mark task 1.3 complete — 32 passed, import ok, 2 pre-existing failures unrelated 2026-03-02 14:29:57 -05:00
ed 535667b51f conductor(plan): Mark task 1.2 complete — e28f89f 2026-03-02 14:25:15 -05:00
edandClaude Sonnet 4.6 e28f89f313 fix(bleed): remove duplicate __init__ state assignments (lines 308-311)
ui_conductor_setup_summary, ui_new_track_name, ui_new_track_desc, ui_new_track_type
were each assigned twice in __init__. Second assignments (308-311) were identical
to the correct first assignments (218-221). Duplicate removed, first assignments kept.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 14:24:57 -05:00
ed 21c74772f6 conductor(plan): Mark task 1.1 complete — 2e9c995 2026-03-02 14:23:47 -05:00
edandClaude Sonnet 4.6 2e9c995bbe fix(bleed): remove dead duplicate _render_comms_history_panel (lines 3040-3073)
Dead version used stale 'type' key (current model uses 'kind'), called nonexistent
_cb_load_prior_log (correct name: cb_load_prior_log), and had begin_child('scroll_area')
ID collision. Python silently discarded it at import time. Live version at line 3400.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 14:23:26 -05:00
edandClaude Opus 4.6 e72d512372 docs: sync Claude Tier 2 skill with Gemini — add atomic commits and sanity check rules
Port two responsibilities from Gemini's mma-tier2-tech-lead SKILL.md (b4de62f, 7afa3f3)
to Claude's equivalent command file:
- ATOMIC PER-TASK COMMITS: enforce per-task commit discipline
- Meta-Level Sanity Check: ruff + mypy post-track verification

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:18:31 -05:00
ed b9686392d7 chore: apply ruff auto-fixes and remove dead AST scripts 2026-03-02 13:26:20 -05:00
ed 54635d8d1c docs: append test performance track to backlog based on timeout evaluation 2026-03-02 13:22:45 -05:00
ed 7afa3f3090 docs: Add Meta-Level Sanity Check responsibility to Tier 2 skill 2026-03-02 13:09:36 -05:00
ed 792c96f14f docs: add strict static analysis and typing track to backlog 2026-03-02 13:08:19 -05:00
ed f84edf10c7 fix: resolve unterminated string literal in ping_pong simulation 2026-03-02 13:06:40 -05:00
ed 85456d2a61 chore: update JOURNAL.md with heuristics and backlog 2026-03-02 13:03:19 -05:00
ed 13926bce2f docs: Add DOD/Immediate Mode heuristics and backlog future tracks 2026-03-02 13:02:59 -05:00
ed 72f54f9aa2 docs: Add Inter-Domain Bridge section to Meta-Boundary guide 2026-03-02 12:53:34 -05:00
ed b4de62f2e7 docs: Enforce strict atomic per-task commits for Tier 2 agents 2026-03-02 12:52:04 -05:00
ed ff7f18b2ef conductor(track): Add task to remove hardcoded machine paths from mma_exec scripts 2026-03-02 12:47:35 -05:00
ed dbe1647228 chore: update JOURNAL.md with Meta-Boundary documentation addition 2026-03-02 12:44:49 -05:00
ed 5b3c0d2296 docs: Add Meta-Boundary guide to clarify Application vs Tooling domains 2026-03-02 12:44:34 -05:00
ed 9eabebf9f4 conductor(track): Expand scope of architecture track to fully integrate MCP tools 2026-03-02 12:39:41 -05:00
ed 6837a28b61 chore: update JOURNAL.md for testing consolidation and dependency order 2026-03-02 12:29:55 -05:00
ed bf10231ad5 conductor(track): Initialize testing consolidation track and add execution order 2026-03-02 12:29:41 -05:00
ed f088bab7e0 chore: update JOURNAL.md for architecture track 2026-03-02 12:26:21 -05:00
ed 1eeed31040 conductor(track): Initialize 'architecture_boundary_hardening' track 2026-03-02 12:26:07 -05:00
ed e88336e97d chore: update JOURNAL.md for new tracks 2026-03-02 12:15:26 -05:00
ed 95bf42aa37 conductor(track): Initialize 'tech_debt_and_test_cleanup' and 'conductor_workflow_improvements' tracks 2026-03-02 12:14:57 -05:00
ed 821983065c chore: update JOURNAL.md — session 2 track initializations 2026-03-02 12:03:30 -05:00
ed bdf02de8a6 chore: remove empty test_20260302 track artifact 2026-03-02 12:02:54 -05:00
ed c1a86e2f36 conductor(track): Initialize track 'mma_agent_focus_ux_20260302' 2026-03-02 11:57:39 -05:00
ed 4f11d1e01d conductor(track): Initialize track 'feature_bleed_cleanup_20260302' 2026-03-02 11:50:46 -05:00
ed 0ad47afb21 chore: add TASKS.md and JOURNAL.md entry — capture mma_agent_focus_ux next track 2026-03-02 11:42:01 -05:00
ed d577457330 conductor(plan): Close track context_token_viz_20260301 — all phases verified 2026-03-02 11:39:10 -05:00
ed 2929a64b34 conductor(plan): Mark Phase 3 tasks 3.1-3.2 complete [context_token_viz_20260301] 6f18102 2026-03-02 11:27:16 -05:00
ed 6f18102863 feat(token-viz): Phase 3 — auto-refresh triggers and /api/gui/token_stats endpoint 2026-03-02 11:27:00 -05:00
ed 7b5d9b1212 feat(token-viz): Phase 2 — trim warning, Gemini/Anthropic cache status display 2026-03-02 11:23:57 -05:00
ed 1c8b094a77 fix(gui): restore missing _render_message_panel method def after set_file_slice edit 2026-03-02 11:22:03 -05:00
ed 9ae6f9da05 conductor(plan): Mark Phase 1 tasks complete [context_token_viz_20260301] 5bfb20f 2026-03-02 11:16:54 -05:00
ed 5bfb20f06f feat(token-viz): Phase 1 — token budget panel with color bar and breakdown table 2026-03-02 11:16:32 -05:00
ed 80ebc9c4b1 chore: restore .gemini conductor agent files 2026-03-02 11:00:25 -05:00
ed 008cfc355a wtf 2026-03-02 10:58:25 -05:00
ed 1329f859f7 wtf 2026-03-02 10:58:20 -05:00
ed 970b4466d4 conductor(tracks): remove deleted ux_sim_test artifact from tracks.md 2026-03-02 10:47:24 -05:00
ed 776d709246 chore: delete ux_sim_test_20260301 — test artifact from New Track form exercise 2026-03-02 10:47:14 -05:00
ed c35f372f52 conductor(tracks): archive 3 completed tracks, update tracks.md with active/archived sections 2026-03-02 10:46:08 -05:00
ed e7879f45a6 fix(test): replace fixed sleeps with polling in context_bleed test to fix ordering flake 2026-03-02 10:45:30 -05:00
ed 57efca4f9b fix(thread-safety): lock disc_entries reads/writes in HookServer, remove debug logs 2026-03-02 10:37:33 -05:00
ed eb293f3c96 chore: config, layout, project history, simulation framework updates 2026-03-02 10:15:44 -05:00
ed 0b5552fa01 test(suite): update all tests for streaming/locking architecture and mock parity 2026-03-02 10:15:41 -05:00
ed 5de253b15b test(mock): major mock_gemini_cli rewrite — robust is_resume detection, tool triggers 2026-03-02 10:15:36 -05:00
ed 1df088845d fix(mcp): mcp_client refactor, claude_mma_exec update 2026-03-02 10:15:32 -05:00
ed 89e82f1134 fix(infra): api_hook_client debug logging, gemini_cli_adapter streaming fixes, ai_client minor 2026-03-02 10:15:28 -05:00
ed fc9634fd73 fix(gui): move lock init before use, protect disc_entries with threading lock 2026-03-02 10:15:20 -05:00
ed c14150fa81 oops 2026-03-01 23:47:06 -05:00
ed fd37cbf87b pic 2026-03-01 23:46:45 -05:00
ed 9fb01ce5d1 feat(mma): complete Phase 6 and finalize Comprehensive GUI UX track
- 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
2026-03-01 22:38:43 -05:00
ed d1ce0eaaeb feat(gui): implement Phases 2-5 of Comprehensive GUI UX track
- 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
2026-03-01 20:17:31 -05:00
ed 2ce7a87069 feat(gui): Tier stream panels as separate dockable windows (Tier 1-4) 2026-03-01 15:57:46 -05:00
ed a7903d3a4b conductor(plan): Mark tasks 1.2 and 1.3 complete — 8e57ae1 2026-03-01 15:49:32 -05:00
ed 8e57ae1247 feat(gui): Add blinking APPROVAL PENDING badge to MMA dashboard 2026-03-01 15:49:18 -05:00
ed 6999aac197 add readme splash 2026-03-01 15:44:40 -05:00
ed 05cd321aa9 conductor(plan): Mark task 'Task 1.1' as complete 3a68243 2026-03-01 15:28:51 -05:00
ed 3a68243d88 feat(gui): Replace single strategy box with 4-tier collapsible stream panels 2026-03-01 15:28:35 -05:00
edandClaude Sonnet 4.6 a7c8183364 conductor(plan): Mark simulation_hardening_20260301 all tasks complete
All 9 tasks done across 3 phases. Key fixes beyond spec:
- btn_approve_script wired (was implemented but not registered)
- pending_script_approval exposed in hook API
- mma_tier_usage exposed in hook API
- pytest-timeout installed
- Tier 3 subscription auth fixed (ANTHROPIC_API_KEY stripping)
- --dangerously-skip-permissions for headless workers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 14:32:25 -05:00
edandClaude Sonnet 4.6 90fc38f671 fix(sim): wire btn_approve_script and expose pending_script_approval in hook API
_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>
2026-03-01 14:31:32 -05:00
edandClaude Sonnet 4.6 5f661f76b4 fix(hooks): expose mma_tier_usage in /api/gui/mma_status; install pytest-timeout
- 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>
2026-03-01 14:26:03 -05:00
edandClaude Sonnet 4.6 63fa181192 feat(sim): add pytest timeout(300) and tier_usage Stage 9 check
Task 2.3: prevent infinite CI hangs with 300s hard timeout
Task 3.2: non-blocking Stage 9 logs mma_tier_usage after Tier 3 completes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 14:24:05 -05:00
edandClaude Sonnet 4.6 08734532ce test(mock): add standalone test for mock_gemini_cli routing
4 tests verify: epic prompt -> Track JSON, sprint prompt -> Ticket JSON
with correct field names, worker prompt -> plain text, tool-result -> plain text.
All pass in 0.57s.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 14:22:53 -05:00
edandClaude Sonnet 4.6 0593b289e5 fix(mock): correct sprint ticket format and add keyword detection
- 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>
2026-03-01 14:21:21 -05:00
edandClaude Sonnet 4.6 f7e417b3df fix(mma-exec): add --dangerously-skip-permissions for headless file writes
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>
2026-03-01 14:20:38 -05:00
edandClaude Sonnet 4.6 36d464f82f fix(mma-exec): strip ANTHROPIC_API_KEY from subprocess env to use subscription login
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>
2026-03-01 14:18:57 -05:00
edandClaude Sonnet 4.6 3f8ae2ec3b fix(conductor): load Tier 2 role doc in startup, add Tier 3 failure protocol
- 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>
2026-03-01 14:09:23 -05:00
edandClaude Sonnet 4.6 5cacbb1151 conductor(plan): Mark task 3.2 complete — sim test PASSED
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 14:04:57 -05:00
edandClaude Sonnet 4.6 ce5b6d202b fix(tier1): disable tools in generate_tracks, add enable_tools param to ai_client.send
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>
2026-03-01 14:04:44 -05:00
ed c023ae14dc conductor(plan): Update task 3.1 complete, 3.2 awaiting verification 2026-03-01 13:42:52 -05:00
ed 89a8d9bcc2 test(sim): Rewrite visual_sim_mma_v2 for real Gemini API with frame-sync fixes
Uses gemini-2.5-flash-lite (real API, CLI quota exhausted). Adds _poll/_drain_approvals helpers, frame-sync sleeps after all state-changing clicks, proper stage transitions, and 120s timeouts for real API latency. Addresses simulation_hardening Issues 2 & 3.
2026-03-01 13:42:34 -05:00
ed 24ed309ac1 conductor(plan): Mark task 3.1 complete — Stage 8 assertions already correct 2026-03-01 13:26:15 -05:00
ed 0fe74660e1 conductor(plan): Mark Phase 2 complete, begin Phase 3 2026-03-01 13:25:24 -05:00
ed a2097f14b3 fix(mma): Add Tier 1 and Tier 2 token tracking from comms log
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'].
2026-03-01 13:25:07 -05:00
ed 2f9f71d2dc conductor(plan): Mark task 2.1 complete, begin 2.2 2026-03-01 13:22:34 -05:00