Commit Graph

78 Commits

Author SHA1 Message Date
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_
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_
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_
da21ed543d fix(mma): Unblock visual simulation - event routing, loop passing, adapter preservation
Three independent root causes fixed:
- gui_2.py: Route mma_spawn_approval/mma_step_approval events in _process_event_queue
- multi_agent_conductor.py: Pass asyncio loop from ConductorEngine.run() through to
  thread-pool workers for thread-safe event queue access; add _queue_put helper
- ai_client.py: Preserve GeminiCliAdapter in reset_session() instead of nulling it

Test: visual_sim_mma_v2::test_mma_complete_lifecycle passes in ~8s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:32:31 -05:00
Ed_
6b0823ad6c checkpoint: this is a mess... need to define stricter DSL or system for how the AI devices sims and hookup api for tests. 2026-02-28 22:50:14 -05:00
Ed_
397b4e6001 chore(mma): Clean up mma_exec.py and robustify visual simulation mocking 2026-02-28 22:27:17 -05:00
Ed_
37df4c8003 chore(mma): Deterministic track IDs, worker spawn hooks, and improved simulation reliability 2026-02-28 22:09:18 -05:00
Ed_
d65fa79e26 chore(mma): Implement visual simulation for Epic planning and fix UI refresh 2026-02-28 21:07:46 -05:00
Ed_
da7a2e35c0 fix(conductor): Apply review suggestions for track 'python_style_refactor_20260227' 2026-02-28 20:53:03 -05:00
Ed_
8c5a560787 refactor(ai_client): Add strict type hints to global variables 2026-02-28 18:35:54 -05:00
Ed_
d36632c21a checkpoint: massive refactor 2026-02-28 09:06:45 -05:00
Ed_
3b2d82ed0d feat(mma): Finalize Orchestrator Integration and fix all regressions 2026-02-27 18:31:14 -05:00
Ed_
8bb72e351d chore(conductor): Mark track 'MMA Core Engine Implementation' as complete and verify with Phase 6 tests 2026-02-26 21:34:28 -05:00
Ed_
fb3da4de36 feat(mma): Integrate Tier 4 QA analysis across all providers and conductor 2026-02-26 20:29:34 -05:00
Ed_
8e4e32690c feat(mma): Implement run_tier4_analysis in ai_client.py 2026-02-26 20:22:04 -05:00
Ed_
1afd9c8c2a feat(mma): Implement HITL execution clutch and step-mode 2026-02-26 20:14:27 -05:00
Ed_
9e56245091 feat(conductor): Restore mma_implementation track 2026-02-26 13:13:29 -05:00
Ed_
a70680b2a2 checkpoint: Working on getting gemini cli to actually have parity with gemini api. 2026-02-26 00:31:33 -05:00
Ed_
95cac4e831 feat(ai): implement DeepSeek provider with streaming and reasoning support 2026-02-25 23:32:08 -05:00
Ed_
1b3ff232c4 feat(deepseek): Implement Phase 1 infrastructure and provider interface 2026-02-25 22:33:20 -05:00
Ed_
c23966061c fix(conductor): Apply review suggestions for track 'test_curation_20260225' 2026-02-25 22:05:28 -05:00
Ed_
56025a84e9 checkpoint: finished test curation 2026-02-25 21:58:18 -05:00
Ed_
1e5b43ebcd feat(ai): finalize Gemini CLI integration with telemetry polish and cleanup 2026-02-25 14:30:21 -05:00
Ed_
b762a80482 feat(ai): integrate GeminiCliAdapter into ai_client 2026-02-25 14:02:06 -05:00
Ed_
c952d2f67b feat(testing): stabilize simulation suite and fix gemini caching 2026-02-25 01:44:46 -05:00
Ed_
fb80ce8c5a feat(gui): Add auto-scroll, blinking history, and reactive API events 2026-02-25 00:41:45 -05:00
Ed_
2ab3f101d6 Merge origin/cache 2026-02-23 22:03:06 -05:00
bd8551d282 Harden reliability, security, and UX across core modules
- Add thread safety: _anthropic_history_lock and _send_lock in ai_client to prevent concurrent corruption
  - Add _send_thread_lock in gui_2 for atomic check-and-start of send thread
  - Add atexit fallback in session_logger to flush log files on abnormal exit
  - Fix file descriptor leaks: use context managers for urlopen in mcp_client
  - Cap unbounded tool output growth at 500KB per send() call (both Gemini and Anthropic)
  - Harden path traversal: resolve(strict=True) with fallback in mcp_client allowlist checks
  - Add SLOP_CREDENTIALS env var override for credentials.toml with helpful error message
  - Fix Gemini token heuristic: use _CHARS_PER_TOKEN (3.5) instead of hardcoded // 4
  - Add keyboard shortcuts: Ctrl+Enter to send, Ctrl+L to clear message input
  - Add auto-save: flush project and config to disk every 60 seconds
2026-02-23 21:29:30 -05:00
Ed_
6d825e6585 wip: gemini doing gui_2.py catchup track 2026-02-23 21:07:06 -05:00
69401365be Port missing features to gui_2 and optimize caching
- Port 10 missing features from gui.py to gui_2.py: performance
    diagnostics, prior session log viewing, token budget visualization,
    agent tools config, API hooks server, GUI task queue, discussion
    truncation, THINKING/LIVE indicators, event subscriptions, and
    session usage tracking
  - Persist window visibility state in config.toml
  - Fix Gemini cache invalidation by separating discussion history
    from cached context (use MD5 hash instead of built-in hash)
  - Add cost optimizations: tool output truncation at source, proactive
    history trimming at 40%, summary_only support in aggregate.run()
  - Add cleanup() for destroying API caches on exit
2026-02-23 20:06:13 -05:00
Ed_
0f9f235438 feat(tokens): Implement accurate token counting for Gemini history 2026-02-23 17:08:08 -05:00
Ed_
f0eb5382fe feat(anthropic): Align Anthropic integration with latest SDK and enable prompt caching beta 2026-02-23 17:07:22 -05:00
Ed_
842bfc407c feat(gemini): Align Gemini integration with latest google-genai SDK 2026-02-23 17:05:40 -05:00
Ed_
66f728e7a3 fix(conductor): Apply review suggestions for track 'event_driven_metrics_20260223' 2026-02-23 16:45:34 -05:00
Ed_
20ebab55a0 feat(ai_client): Emit API lifecycle and tool execution events 2026-02-23 16:31:48 -05:00
Ed_
cd3f3c89ed feat(events): Add EventEmitter and instrument ai_client.py 2026-02-23 16:23:55 -05:00
Ed_
f10a2f2ffa feat(conductor): Expose history bleed flags
This change introduces a new function, get_history_bleed_stats, to calculate and expose how close the current conversation history is to the provider's token limit. The initial implementation supports Anthropic, with a placeholder for Gemini.
2026-02-23 13:29:06 -05:00
Ed_
8aa70e287f fix(conductor): Implement Gemini cache metrics
This change corrects the implementation of get_gemini_cache_stats to use the Gemini client instance and updates the corresponding test to use proper mocking.
2026-02-23 13:27:49 -05:00
Ed_
92aa33c6d3 feat(core): Wire tool toggles to AI provider tool declaration payload 2026-02-23 11:30:36 -05:00
Ed_
8a3c2d8e21 fix to ai_client.py 2026-02-22 17:19:15 -05:00
Ed_
73fad80257 carlos patches 2026-02-22 17:03:38 -05:00
Ed_
17eebff5f8 Revert "final updates"
This reverts commit 1581380a43.
2026-02-22 12:15:49 -05:00
Ed_
1581380a43 final updates 2026-02-22 11:57:23 -05:00
Ed_
8bf95866dc fix for gemini. 2026-02-22 11:41:11 -05:00
Ed_
4755f4b590 claude final fix pass 2026-02-22 11:28:18 -05:00
Ed_
da8df7a393 add history truncation 2026-02-22 10:34:53 -05:00
Ed_
bf2d09f3fd expose tunings. 2026-02-22 10:19:05 -05:00
Ed_
4a6721c3be cache improvement (gemini) 2026-02-22 10:09:19 -05:00
Ed_
254ca8cbda Doing final pass of adjustments with anythingllm 2026-02-22 09:54:36 -05:00