ed
f78042969d
fix(gui): Use theme colors in External Editor panel
2026-05-07 19:48:06 -04:00
ed
630c9abd3a
feat(gui): Improve External Editor panel with combo selector
...
- Add dropdown combo to select default editor
- Add _set_external_editor_default method to save selection to config
- Clean up layout and improve visual hierarchy
- Add better color coding for configured vs default editors
2026-05-07 19:35:49 -04:00
ed
8fe366e041
fix(external-editor): Fix TextEditorConfig parsing and add error handling
...
- TextEditorConfig.from_dict no longer requires 'name' field since name comes from dict key
- Added try/except around _render_external_editor_panel to prevent tab bar mismatch
2026-05-07 19:30:45 -04:00
ed
0948cae5a0
fix(external-editor): Move panel to Operations Hub, fix config key lookup
...
- Moved External Editor panel from AI Settings to External Tools tab in Operations Hub
- Fixed default_editor lookup to use nested [tools.default_editor] structure
- Added example entries for vscode, notepadpp, 10xEditor, rider, sublime
- Improved panel UI with section header and clearer formatting
2026-05-07 19:27:07 -04:00
ed
6c8c8516c8
conductor(tracks): Mark External Editor Integration as complete
2026-05-07 19:13:17 -04:00
ed
d2beb79563
feat(gui): Add External Editor configuration panel to AI Settings
...
- Added _render_external_editor_panel method to display configured editors
- Shows default editor marker and diff args
- Displays config file locations for user reference
- Integrated as 'External Editor' section in AI Settings
2026-05-07 19:12:28 -04:00
ed
c711d26eac
feat(gui): Add 'Open in External Editor' button to patch modal
...
- Added button to launch external editor for reviewing agent proposed changes
- Added _open_patch_in_external_editor method to handle the launch logic
- Integrated with ExternalEditorLauncher and create_temp_modified_file
2026-05-07 19:10:13 -04:00
ed
414d2ab561
feat(external-editor): Add TextEditorConfig and ExternalEditorConfig models
...
- Add TextEditorConfig and ExternalEditorConfig dataclasses to models.py
- Create src/external_editor.py with ExternalEditorLauncher class
- Add tests for configuration and launcher functionality
- Support for config.toml [tools.text_editors] and manual_slop.toml default_editor
2026-05-07 19:07:05 -04:00
ed
87bcd698bb
chore(conductor): Archive track 'Fix Concurrent MMA Live GUI Tests'
2026-05-07 18:53:32 -04:00
ed
b043d06771
chore: add standard STATUS markers to worker streams and optimize test polling
...
This fixes the 'stuck' behavior in concurrent tests by ensuring the tests look for standard completion markers and don't wait for unnecessary timeouts.
2026-05-07 18:37:19 -04:00
ed
d4b4312dd2
chore: remove debug logging and fix closure bug in test hooks
2026-05-07 15:02:00 -04:00
ed
7d12806ce6
finally?
2026-05-07 13:42:31 -04:00
ed
40f0c04a91
chore(conductor): Mark track 'Fix Concurrent MMA Live GUI Tests' as complete
...
Fixes UI flickering between tracks in app_controller.py and an indentation bug in multi_agent_conductor.py that caused workers to crash silently.
2026-05-07 13:30:42 -04:00
ed
6f2f539362
conductor(track): Update spec and plan with complete bug analysis
...
Document all 4 bugs found:
1. self.engine overwritten (FIXED)
2. active_tickets not initialized (FIXED)
3. _start_track_logic uses None.active_track (FIXED)
4. _cb_start_track overwrites active_track (PARTIALLY FIXED)
Current status: Track B works, Track A reload path triggered but worker never visible.
2026-05-07 09:05:46 -04:00
ed
b0a837d235
fix(mma): Add explicit reload logic when _cb_load_track fails in _cb_start_track
...
The test clicks btn_mma_start_track twice with different track_ids.
When _cb_load_track fails for track_a, self.active_track remains None or wrong.
Then track_b loads but we can't distinguish if a later call is for track_a retry
or track_b (which already has an engine). This adds an explicit reload path
when loaded track doesn't match requested track.
2026-05-07 08:41:08 -04:00
ed
f3585cb5a1
fix(mma): Use track.id instead of self.active_track.id in _start_track_logic
...
active_track was None when _start_track_logic was called from _cb_accept_tracks
because active_track is only set when loading a track via _cb_load_track.
_start_track_logic creates a new track locally and should use that track's id.
2026-05-07 08:28:20 -04:00
ed
cab733abc6
debug: Add logging to _cb_start_track
2026-05-07 08:19:05 -04:00
ed
6f2a2c2eea
fix(gui): Initialize active_tickets in AppController.init_state
...
The AppController.__getattr__ delegation was returning controller.active_tickets
but init_state() never initialized self.active_tickets, causing an
AttributeError when gui_2.py tried to access self.active_tickets before
controller state was fully loaded.
Fixes live_gui fixture crash in test_mma_concurrent_tracks_stress_sim.py
2026-05-07 08:05:58 -04:00
ed
b44ee29ab1
conductor(plan): Mark task complete
2026-05-07 07:55:51 -04:00
ed
ac0b564c02
fix(mma): Change self.engine to self.engines dict for concurrent track support
...
- self.engine was a single ConductorEngine reference that got overwritten
when multiple tracks ran concurrently, orphaning the first track's engine
- Now uses self.engines: Dict[str, ConductorEngine] keyed by track.id
- Updated _spawn_worker, kill_worker, pause_mma, resume_mma, approve_ticket,
_load_active_tickets, and _update_ticket_depends_on to use engines.get(track_id)
Fixes concurrent MMA track execution bug where only one worker ever appeared.
2026-05-07 07:54:39 -04:00
ed
9099b02002
conductor(track): Document real bug - self.engine gets overwritten
2026-05-07 07:39:14 -04:00
ed
afef5b5791
conductor(plan): Update concurrent MMA test investigation findings
2026-05-07 07:30:01 -04:00
ed
885bb1395b
feat(track): Add fix_concurrent_mma_tests_20260507 track
2026-05-06 22:15:40 -04:00
ed
c36e691b8d
fix(api): Include tracks list in get_mma_status response
2026-05-06 21:19:55 -04:00
ed
bd37aa731b
fix(aggregate): Handle string path in _build_files_section_from_items
2026-05-06 21:11:10 -04:00
ed
80afa4894b
fix(conductor): Always recompute ready_tasks each tick to fix stale cache bug
2026-05-06 21:05:26 -04:00
ed
b0a75fcd6b
test: Fix incorrect assertions in conductor tests
2026-05-06 20:37:48 -04:00
ed
2f20f69b61
conductor(plan): Mark Phase 5 verification complete
2026-05-06 20:27:04 -04:00
ed
923ffe8a74
conductor(plan): Complete Phase 5 Entropy Audit findings
2026-05-06 20:26:42 -04:00
ed
f55b5d8fbc
docs(track): Add continuation guide for entropy audit
2026-05-06 20:20:56 -04:00
ed
2b5185a78f
perf(entropy): Fix nested imports in hot paths
...
Hoisted imports from inside frequently-called functions to module level:
app_controller.py:
- Added traceback and inspect at module level
- Removed 3 nested traceback imports from exception handlers
gui_2.py:
- Added traceback at module level
- Removed nested traceback import from _gui_func exception handler
- Kept uvicorn lazy-loaded (only for --headless mode)
multi_agent_conductor.py:
- Removed unused 'import sys' from run()
- Removed redundant nested imports (already at module level)
Also adds audit scripts and entropy findings documentation.
2026-05-06 20:18:30 -04:00
ed
54afbb9365
chore(entropy): Phase 5 start - fix duplicate line bug and document findings
...
- Fix duplicate line bug in rag_emb_provider.setter (app_controller.py)
- Add entropy_findings.md documenting audit results
- Update plan.md with Phase 5 tasks and findings
- Note: Property getter/setter 'duplicates' are false positives - proper Python patterns
2026-05-06 19:59:06 -04:00
ed
f6feab9243
fix(gui): Correct indentation bug in _render_mma_dashboard that caused crash
...
The code after the 'prior session' return block was incorrectly indented
at 1 space, placing it inside the 'if is_viewing_prior_session' block
instead of after it. This caused 'total_cost' and 'perc' to be undefined
when viewing an active session, triggering an IM_ASSERT error.
Fix: Moved 'track_name', 'track_stats', and 'total_cost' to the
correct 2-space indentation (method body level).
2026-05-06 19:41:22 -04:00
ed
6bd052efc5
chore(perf): Save state before comprehensive entropy cleanup
2026-05-06 16:09:41 -04:00
ed
8ac81c087c
chore(conductor): Mark track 'Optimization pass for Data-Oriented Python heuristics' as complete
2026-05-06 15:51:35 -04:00
ed
fcd7252087
docs(conductor): Synchronize docs for track 'Optimization pass for Data-Oriented Python heuristics'
2026-05-06 15:50:38 -04:00
ed
5c9948da97
conductor(plan): Track complete
2026-05-06 15:44:27 -04:00
ed
299d9e59a6
docs(perf): Final summary report and C extension evaluation
2026-05-06 15:38:02 -04:00
ed
90807d3065
conductor(plan): Phase 3 complete
2026-05-06 15:28:43 -04:00
ed
f628e0b29a
perf(core): Optimize DAG engine, orchestrator loop, and simulations
2026-05-06 15:27:27 -04:00
ed
d0aff71430
feat(perf): Add performance tests and high-precision timing
2026-05-06 14:59:34 -04:00
ed
3f592afa16
perf(aggregate): Optimize focus file lookups and ASTParser hoisting
2026-05-06 14:54:21 -04:00
ed
2e68f1e997
conductor(plan): Phase 2 complete
2026-05-06 14:45:59 -04:00
ed
7a7298730d
docs(perf): Document identified bottlenecks
2026-05-06 14:44:54 -04:00
ed
1294619cc5
conductor(plan): Mark task 'Audit simulation/' as complete
2026-05-06 14:44:29 -04:00
ed
05db5bd54a
conductor(plan): Mark task 'Audit src/' as complete
2026-05-06 14:43:10 -04:00
ed
7dc91ddb85
conductor(plan): Mark task 'Run profiling scenarios' as complete
2026-05-06 14:40:30 -04:00
ed
83afc908fc
feat(perf): Add headless baseline profiling script
2026-05-06 14:40:21 -04:00
ed
6ac784b8bf
conductor(plan): Phase 1 complete
2026-05-06 14:33:03 -04:00
ed
56e9627f68
conductor(plan): Mark task 'Expand profiling instrumentation' as complete
2026-05-06 14:31:10 -04:00
ed
23c1e21661
feat(perf): Expand instrumentation with context manager and extended metrics
2026-05-06 14:30:22 -04:00
ed
022c39888c
conductor(plan): Mark task 'Review existing profiling instrumentation' as complete
2026-05-06 14:10:28 -04:00
ed
ae2b79a3ad
conductor(plan): Mark task 'Update product-guidelines.md' as complete
2026-05-06 14:08:30 -04:00
ed
fbaef6c1bb
docs(guidelines): Add Data-Oriented Python heuristics
2026-05-06 14:08:12 -04:00
ed
b500fc5901
docs(conductor): Synchronize docs for track 'Beads Mode Integration'
2026-05-06 13:50:10 -04:00
ed
2b66f3569b
feat(beads): integrate Beads Mode backend, MCP tools, and GUI support
2026-05-06 13:48:47 -04:00
ed
b1ddaa50f4
test(mcp): Separate generic C++ mocks from real gencpp samples
2026-05-05 22:04:05 -04:00
ed
52855e80d3
chore(conductor): Mark track 'Advanced Workspace Docking & Layout Profiles' as complete
2026-05-05 21:58:37 -04:00
ed
a402103e6f
conductor(plan): Mark phase 'Contextual Auto-Switch' as complete
2026-05-05 21:58:16 -04:00
ed
470b7b22e0
conductor(checkpoint): Checkpoint end of Phase 4 - Contextual Auto-Switch
2026-05-05 21:57:17 -04:00
ed
ecc5a66027
feat(workspace): implement contextual auto-switch layout based on MMA active tier
2026-05-05 21:57:08 -04:00
ed
fe06acbffc
conductor(plan): Mark phase 'GUI Menu Integration' as complete
2026-05-05 21:26:53 -04:00
ed
f22265b0c7
conductor(checkpoint): Checkpoint end of Phase 3 - GUI Menu Integration
2026-05-05 21:26:04 -04:00
ed
ded9f38a00
feat(workspace): implement layout menu and save profile modal
2026-05-05 21:25:53 -04:00
ed
41bc8bb597
test(workspace): add simulation test for layout restoration
2026-05-05 21:09:58 -04:00
ed
eab1945035
feat(workspace): implement layout capture/restore and controller integration
2026-05-05 21:09:51 -04:00
ed
b7ba7a1ef3
test(workspace): add unit tests for WorkspaceManager
2026-05-05 20:51:03 -04:00
ed
5b3173a1ae
feat(workspace): implement WorkspaceManager and path resolution
2026-05-05 20:50:55 -04:00
ed
98400358af
feat(models): implement WorkspaceProfile dataclass
2026-05-05 20:50:47 -04:00
ed
4658e8e1ce
chore(cleanup): Remove temporary scripts after validation
2026-05-05 20:40:46 -04:00
ed
904dabe6a1
feat(mcp): Validate C++ tools against real-world gencpp components and improve enum support
2026-05-05 20:40:21 -04:00
ed
a809a6e213
chore(conductor): Finalize Tree-Sitter C/C++ track after user review
2026-05-05 20:13:26 -04:00
ed
1251b4e722
chore(conductor): Update track status to complete
2026-05-05 20:11:55 -04:00
ed
45d0c6ce68
conductor(plan): Mark Phase 6 and Track as complete
2026-05-05 20:11:10 -04:00
ed
992e206769
feat(mcp): Finalize C/C++ AST tools with robust testing and bug fixes
2026-05-05 20:08:51 -04:00
ed
584e8e526e
conductor(plan): Mark phase 'Phase 5: Parity with Python Tools' as complete
2026-05-05 19:49:38 -04:00
ed
2e43b4538b
conductor(checkpoint): Checkpoint end of Phase 5 - Parity with Python Tools
2026-05-05 19:49:20 -04:00
ed
b2fb69ca07
conductor(plan): Mark Phase 5 as complete
2026-05-05 19:49:09 -04:00
ed
4e8b397c80
feat(mcp): Add full functional parity for C/C++ tools
2026-05-05 19:48:38 -04:00
ed
fe3d573a9a
conductor(plan): Mark Task 5.3 as complete
2026-05-05 19:45:16 -04:00
ed
8642d894df
feat(parser): Implement C/C++ update_definition
2026-05-05 19:44:40 -04:00
ed
98551a14d9
conductor(plan): Mark Task 5.1 and 5.2 as complete
2026-05-05 19:42:50 -04:00
ed
799feb0f94
feat(parser): Implement C/C++ get_definition and get_signature
2026-05-05 19:42:14 -04:00
ed
b8460107b9
chore(conductor): Expand Tree-Sitter C/C++ track with new phases for tool parity and robust testing
2026-05-05 19:31:25 -04:00
ed
b0ed7026dc
docs(conductor): Synchronize docs for track 'Tree-Sitter C/C++ MCP Tools'
2026-05-05 19:15:51 -04:00
ed
80e4b062a7
conductor(plan): Mark phase 'Phase 4: Tests' as complete
2026-05-05 19:09:24 -04:00
ed
4f0867745b
conductor(checkpoint): Checkpoint end of Phase 4 - Tests
2026-05-05 19:08:45 -04:00
ed
e8c2d88adb
conductor(plan): Mark Phase 4 tasks as complete
2026-05-05 19:08:18 -04:00
ed
3bb850aca9
test(mcp): Add tests for C/C++ skeleton and outline tools
2026-05-05 19:07:17 -04:00
ed
6490be7616
conductor(plan): Mark Phase 3 tasks as complete
2026-05-05 18:58:41 -04:00
ed
0db41efec6
feat(mcp): Integrate C/C++ skeleton and outline tools
2026-05-05 18:57:51 -04:00
ed
ac60dee5ae
conductor(plan): Mark phase 'Phase 2: ASTParser Extensions' as complete
2026-05-05 18:54:25 -04:00
ed
7bc4642bb6
conductor(checkpoint): Checkpoint end of Phase 2 - ASTParser Extensions
2026-05-05 18:54:03 -04:00
ed
41082a09ad
conductor(plan): Mark Phase 2 core tasks as complete
2026-05-05 18:53:09 -04:00
ed
d3cd7cf75a
feat(parser): Implement C/C++ skeleton and outline extraction
2026-05-05 18:51:56 -04:00
ed
0b819b29c1
conductor(plan): Mark Task 2.1 as complete
2026-05-05 18:43:45 -04:00
ed
c025ebc29d
feat(parser): Add C and C++ support to ASTParser
2026-05-05 18:42:53 -04:00
ed
ab9446dc05
conductor(plan): Mark phase 'Phase 1: Dependencies' as complete
2026-05-05 18:38:00 -04:00
ed
1f86c6202f
conductor(checkpoint): Checkpoint end of Phase 1 - Dependencies
2026-05-05 18:37:34 -04:00
ed
e3b542e9d3
conductor(plan): Mark Task 1.1 as complete
2026-05-05 18:35:58 -04:00