Commit Graph
100 Commits
Author SHA1 Message Date
ed 0309420ba1 conductor(checkpoint): Archive Completed Tracks (2026-05 to 2026-06) complete 2026-06-03 00:19:13 -04:00
ed b87742ecba conductor(tracks): fix 25 broken links in Phase 5/6/Hot Reload sections after archival 2026-06-03 00:17:38 -04:00
ed 56ea316afa conductor(tracks): consolidate 'Earlier Archives' into 'Recent Completed Tracks (2026-05+)' with archive/ links 2026-06-03 00:14:45 -04:00
ed 594f14f943 conductor(archive): move 39 completed tracks (2026-05 to 2026-06) to archive/ 2026-06-03 00:09:52 -04:00
ed 0ffeccc7d3 conductor(tracks): register 4 completed 2026-06-02 tracks with checkpoint SHAs 2026-06-03 00:02:15 -04:00
ed f93dac7d8f conductor(guidelines): add See Also section linking to per-file conventions 2026-06-02 23:53:31 -04:00
ed f03b24eaca conductor(refactor): update OOP tracker with Phase 4 progress and 2026-06-02 log 2026-06-02 23:53:05 -04:00
ed f210d228ec conductor(style): add See Also section linking to per-file pattern demonstrations 2026-06-02 23:51:20 -04:00
ed 7f8a9c4496 conductor(tracks): mark command_palette done, add documentation_refresh track entry 2026-06-02 23:50:34 -04:00
ed fe62b87dd7 conductor(index): point active track to command_palette; mark doc refresh complete 2026-06-02 23:49:50 -04:00
ed da03350ffc conductor(tech-stack): update tool count 26->45, add api_hooks + command_palette, link 8 new per-file guides 2026-06-02 23:49:06 -04:00
ed 8b02b8a238 conductor(product): add 7 per-source-file + 1 testing guide to architecture reference 2026-06-02 23:47:34 -04:00
ed a615bbdaa0 conductor(workflow): add 8 new per-file guide references to docs fallback 2026-06-02 23:46:38 -04:00
ed 87d5870076 docs(readme): add 8 new guide entries to Guides table 2026-06-02 23:40:16 -04:00
ed 7ade88d577 docs(models): add guide_models.md 2026-06-02 23:38:52 -04:00
ed 9ea7989f90 docs(mma): add guide_multi_agent_conductor.md 2026-06-02 23:37:10 -04:00
ed 6415e84994 docs(app-controller): add guide_app_controller.md 2026-06-02 23:35:29 -04:00
ed a58a2fd887 docs(mcp-client): add guide_mcp_client.md 2026-06-02 23:33:17 -04:00
ed f7663ab2e8 docs(api-hooks): add guide_api_hooks.md 2026-06-02 23:27:13 -04:00
ed 0426239a13 docs(ai-client): add guide_ai_client.md 2026-06-02 23:25:28 -04:00
ed 779eb006ba docs(gui_2): add guide_gui_2.md
Comprehensive guide for the main GUI file (~260KB, 5400 lines):
- Architecture (UI delegation pattern: module-level render functions + App class)
- App class breakdown (init, key state, render entry point)
- The render_main_interface flow (calls ~15 hub renderers)
- Modal pattern via _render_window_if_open helper
- Keyboard shortcuts (Ctrl+Shift+P, Ctrl+Alt+R, Ctrl+L, Ctrl+Enter)
- Key patterns: hot reload, snapshots, window state, modal
- Public methods worth knowing table
- Performance considerations (60 FPS target, perf monitor)
- Testing approaches (pure, integration via live_gui, mock_app)
- Common operations: adding toggleable window, modal, hook API exposure
2026-06-02 23:23:35 -04:00
ed 9a39492617 docs(readme): update ASCII file tree visualizations to match current state
docs/Readme.md: was showing 5 guides (architecture, tools, mma, simulations, meta_boundary); now shows all 14 current guides plus MMA_Support/, reports/, superpowers/. Also expanded src/ tree from 22 modules to 53 modules, added simulation/ sim_* files, tests/ test infrastructure, scripts/ audit + docker scripts, and corrected entry-point paths (sloppy.py, manual_slop.toml).

Readme.md: 'Module by Domain' table was showing 22 src/ modules; now shows all 53 current modules. Updated MCP tool count from 26 to 45. Added all modules added since 2026-02 doc refresh: rag_engine, beads_client, hot_reloader, personas, presets, context_presets, tool_presets, tool_bias, command_palette, commands, workspace_manager, theme_2, theme_nerv, theme_nerv_fx, fuzzy_anchor, history, imgui_scopes, summary_cache, markdown_helper, patch_modal, diff_viewer, external_editor, orchestrator_pm, synthesis_formatter, thinking_parser.
2026-06-02 23:13:50 -04:00
ed 7825588200 docs(testing): add comprehensive guide_testing.md
Comprehensive guide covering the 251-test-file suite:
- Test file layout and naming conventions
- 7 conftest.py fixtures (isolate_workspace, reset_paths, reset_ai_client, vlogger, kill_process_tree, mock_app, app_instance, live_gui) with their mechanisms
- 5 test categories (unit, integration, mock app, headless, opt-in)
- Markers (integration, clean_install, docker) and how to filter by them
- Hook API for integration tests (ApiHookClient methods, predefined_callbacks pattern)
- Common test patterns (pure function, mock, live_gui, exception, parametrized)
- Test configuration in pyproject.toml
- Running tests (all, by file, by marker, with timeout, etc.)
- Adding new tests (pure, integration, opt-in)
- Debugging failed tests (common failure modes and fixes)
- The check_test_toml_paths.py audit script
- Test data flow diagram
2026-06-02 23:05:02 -04:00
ed a280706ce4 feat(palette): comprehensive command library (32 commands, up from 11)
Added commands focused on ergonomics and mouse-free operation:

View (window toggles, 12 new): toggle_text_viewer, toggle_diagnostics, toggle_usage_analytics, toggle_context_preview, toggle_tier1_strategy, toggle_tier2_tech_lead, toggle_tier3_workers, toggle_tier4_qa, toggle_external_tools, toggle_shader_editor, toggle_undo_redo_history, toggle_command_palette

Layout (3 new): show_all_panels, hide_all_panels, save_workspace_profile, show_workspace_manager

Theme (1 new): cycle_theme (Dark -> Light -> NERV cycle)

Tools (2 new): undo, redo

Project (1 new): save_all (flush to project + config + global config)

Help (1 new): show_command_palette_help (opens docs/Readme.md in Text Viewer)

Refactored: extracted _toggle_window and _toggle_attr helpers to reduce duplication and make commands safer (no-op if state is missing).

Reset session now also clears comms and tool logs (matches the menu item behavior).

Added 7 new unit tests for the expanded command library.
2026-06-02 22:54:52 -04:00
ed 86d093e101 docs(command-palette): rewrite guide to match actual implementation
- Updated to reflect 13 tests (6 unit + 7 live_gui) instead of hypothetical async test
- Removed Everything mode and async context preview sections (not yet implemented; marked as future work)
- Updated Commands Registry section to reference actual src/commands.py file
- Added Implementation section with file layout and Command/CommandRegistry/CommandModal reference
- Added Built-in Commands table reflecting the actual 11 commands shipped
- Added Adding Custom Commands section with decorator and explicit-Command patterns
- Added Keyboard Reference table
- Updated Testing section with accurate coverage and test pattern
- Moved unimplemented features (Everything mode, user-defined commands, plugin system) to Future Work
2026-06-02 22:46:48 -04:00
ed d7449ae417 feat(palette): add Up/Down arrow navigation and Enter key selection
- Process arrow keys BEFORE input_text so the input field does not consume them
- Up/Down arrow keys navigate the result list (clamped to bounds)
- Enter and KeypadEnter execute the currently selected command
- Refactored _close_palette and _execute helpers (action call is now wrapped in try/except via _execute)
- Added 3 new tests: close helper resets state, execute runs and catches exceptions, top_n is meaningful for navigation
2026-06-02 22:41:59 -04:00
ed 9cfd7b0d12 fix(palette): auto-focus input via set_next_window_focus + apply(theme) + try/except for actions
Added imgui.set_next_window_focus() on open so the palette window itself gets focus. The input field then gets focus on the next drawn widget. Wrapped action calls in try/except so a buggy command does not break the imgui.end_child/end pairing (was causing IM_ASSERT crash). Fixed theme_2 calls: apply_dark_theme and apply_light_theme do not exist; use theme_2.apply(palette_name). switch_to_dark_theme uses apply 10x Dark. switch_to_light_theme uses apply ImGui Light. switch_to_nerv_theme uses apply NERV instead of apply_nerv() from src.theme_nerv.
2026-06-02 22:33:05 -04:00
ed 592f816caf fix(palette): set keyboard focus correctly + support click-to-execute
- set_keyboard_focus_here() now called BEFORE input_text (was after, so focus went to wrong widget)
- Only call set_keyboard_focus_here ONCE per open (via _command_palette_focused flag) so focus isn't stolen on subsequent frames
- Added imgui.Cond_.always to window pos/size so it stays centered on re-render
- Click on a result now immediately executes the command (was: only on Enter key, which wasn't reaching the modal)
- Reset _command_palette_focused on close so next open gets focus again
2026-06-02 22:22:00 -04:00
ed 19c7a6e449 fix(palette): remove unsupported closable kwarg from imgui.begin 2026-06-02 22:08:49 -04:00
ed 78e4cd54d8 conductor(checkpoint): Command Palette (Phase 2) complete 2026-06-02 22:05:48 -04:00
ed 436f4cfdfc test(palette): add live_gui integration tests via toggle custom_callback 2026-06-02 22:03:33 -04:00
ed 211949d2c3 feat(gui): wire Command Palette into App class with Ctrl+Shift+P 2026-06-02 21:52:57 -04:00
ed 6a564a5e65 feat(palette): add render_palette_modal with fuzzy search and keyboard nav 2026-06-02 21:46:23 -04:00
ed 57d0329951 feat(palette): define 11 core commands in commands.py 2026-06-02 21:44:31 -04:00
ed 63b67be5b1 feat(palette): add fuzzy_match with subsequence matching and scoring 2026-06-02 21:42:01 -04:00
ed 18fb991ee6 feat(palette): add Command dataclass and CommandRegistry 2026-06-02 21:37:55 -04:00
ed cb91006cea conductor(checkpoint): Test consolidation & TOML sandboxing complete 2026-06-02 21:36:23 -04:00
ed 7646fc14a2 test(arch-boundary): migrate whitelist test to tmp_path; fix indentation 2026-06-02 21:34:56 -04:00
ed 1660114bc7 feat(tests): add check_test_toml_paths.py audit script 2026-06-02 21:27:47 -04:00
ed 0d6e31bf09 docs(plans): implementation plans for 4 tracks - command palette, test consolidation, clean install, docker web 2026-06-02 21:23:37 -04:00
ed b382279888 docs(spec): designs for 4 new tracks - command palette, test consolidation, clean install test, docker web frontend 2026-06-02 21:15:02 -04:00
ed a35a060a66 remove old pys laying out in the main dir 2026-06-02 21:01:44 -04:00
ed 87f668a6ac conductor(checkpoint): Sub-Track 3 (agent config refresh) complete 2026-06-02 20:54:07 -04:00
ed 291e838705 docs(gemini): refresh to reflect current providers (5), entry point (sloppy.py), and key modules 2026-06-02 20:48:56 -04:00
ed 6c5b6fb76d docs(claude): replace with deprecation stub; project migrated to Gemini CLI + OpenCode 2026-06-02 20:46:43 -04:00
ed 17dcb9fbf3 docs(agents): rewrite as thin pointer document; defer to skill files and conductor docs 2026-06-02 20:45:21 -04:00
ed ef4efab2c3 conductor(checkpoint): Sub-Track 2 (conductor docs refresh) complete 2026-06-02 20:42:08 -04:00
ed 715b66bb40 docs(conductor): add links to human-facing docs and active documentation refresh track 2026-06-02 20:39:04 -04:00
ed 4c0114f296 docs(workflow): update architecture fallback to 2026-06-02 doc refresh, 45-tool inventory, full guide index 2026-06-02 20:32:34 -04:00
ed 39fd87e82f docs(tech-stack): add MiniMax provider and Gemini Embedding 001 2026-06-02 20:30:41 -04:00
ed 404f226f89 docs(product): update Architecture Reference to 14 guides, add MiniMax and Command Palette to Key Features 2026-06-02 20:28:51 -04:00
ed 20225c82c1 conductor(checkpoint): Sub-Track 1 (docs layer refresh) complete 2026-06-02 20:19:33 -04:00
ed 3251cb57b7 docs(nerv-theme): fix symbol parity - apply_nerv_theme -> apply_nerv 2026-06-02 20:11:56 -04:00
ed f5c0d054fe docs(index): replace 7 new-guide placeholders with real summaries pointing to completed guides 2026-06-02 19:59:56 -04:00
ed 3b3c37a298 docs(command-palette): new guide covering fuzzy search, async context preview, Everything mode, and performance 2026-06-02 19:57:50 -04:00
ed 5379312bc7 docs(workspace-profiles): new guide covering profile schema, manager, scope inheritance, and auto-switch 2026-06-02 19:55:08 -04:00
ed 94a8d06724 docs(nerv-theme): new guide covering palette, geometry, FX, configuration, performance, and accessibility 2026-06-02 19:51:27 -04:00
ed 7fd7294747 docs(personas): new guide covering data model, scope inheritance, MMA integration, editor modal 2026-06-02 19:48:42 -04:00
ed 6b6b3b066c docs(hot-reload): new guide covering state-preserving reload, delegation pattern, error handling, and registration 2026-06-02 19:42:52 -04:00
ed 941b459bc8 docs(beads): new guide for Beads mode covering architecture, mock client, MCP tools, and MMA integration roadmap 2026-06-02 19:40:15 -04:00
ed 3ad6615ec2 docs(rag): new guide for RAG subsystem covering architecture, components, data flow, configuration, and testing 2026-06-02 19:36:04 -04:00
ed 26938d4ad5 docs(readme): add Subsystem Index, update tool count to 45, expand Tech Stack, link all 8 current guides 2026-06-02 19:30:26 -04:00
ed 4f125241dd docs(meta-boundary): add cross-tool abstraction section, OpenCode as secondary toolchain, bridge status notes 2026-06-02 19:24:41 -04:00
ed 8444285d70 docs(context-curation,shaders): add Structural File Editor (Phase 7) and NERV theme effects sections 2026-06-02 19:21:13 -04:00
ed 959e7f30a3 docs(simulations): add workspace isolation, mock_app/app_instance fixtures, and Test Areas by Subsystem table 2026-06-02 19:18:36 -04:00
ed 3cf0539641 docs(tools): update tool count from 26 to 45, add edit_file, derive_code_path, and Beads tools section 2026-06-02 19:11:58 -04:00
ed a9cb8cae11 docs(mma): add persona application, expanded tier_usage schema, Beads and Workspace profile roadmap sections 2026-06-02 19:07:28 -04:00
ed f81f1f5eaa docs(architecture): add MiniMax provider, RAG integration, Tier 4 patch flow, discussion compression, subagent summarization, async tool execution 2026-06-02 18:57:56 -04:00
ed a66878c168 docs(index): link guide_context_curation and guide_shaders_and_window; add legacy MMA section and 7 new-guide placeholders 2026-06-02 18:49:42 -04:00
ed 1a323a8cd1 docs(track): docs layer gap analysis for comprehensive refresh 2026-06-02 18:45:01 -04:00
ed 560c5dd131 docs(plans): implementation plans for comprehensive documentation refresh (3 sub-tracks) 2026-06-02 18:39:04 -04:00
ed 8175c94ddf docs(spec): comprehensive documentation refresh design (3 sub-tracks) 2026-06-02 18:30:59 -04:00
ed 8733528f67 fix(gui): Final monolithic stabilization and UI polish
- Restore monolithic architecture in gui_2.py to fix test compatibility.
- Implement full-width horizontal expansion for Markdown tables in discussion entries.
- Re-implement layered role-based tints using draw_list channels.
- Standardize Text Viewer docking ID to '###Text_Viewer_Unified'.
- Fix MiniMax compression routing and base URL.
- Fully restore missing theme_2.py definitions.
2026-06-02 18:04:49 -04:00
ed 7eb8f9eed4 chore(conductor): Add new track 'command_palette_and_performance_20260602' 2026-06-02 17:51:34 -04:00
ed 8f6f47d46b fix(gui): Final monolithic stabilization pass
- Restore monolithic architecture in gui_2.py to fix test breakages and circular imports.
- Update Text Viewer stable ID to '###Text_Viewer_Unified' to definitively fix docking conflicts.
- Refactor discussion entry renderer to force full-width horizontal expansion for Markdown.
- Fully restore theme_2.py definitions (palettes, fonts, scale) while retaining role-tint logic.
- Robustify ImGui ID stack in imgui_scopes.py to prevent access violations.
- Verify all fixes with the comprehensive unit and visual test suite.
2026-06-02 17:30:46 -04:00
ed ad98475a2e fix(gui): Definitive monolithic restoration and UI stabilization
- Restore all rendering logic to gui_2.py to maintain monolithic architecture and test compatibility.
- Fix horizontal squashing of Markdown tables by ensuring full panel width in entry groups.
- Resolve Text Viewer docking conflicts by standardizing on a stable window ID ('###Text_Viewer_Unified').
- Fix theme initialization by restoring missing load/save functions in theme_2.py.
- Prevent ImGui access violations by ensuring ID stack always receives strings in imgui_scopes.py.
- Successfully verified all UI regressions with a passing unit test suite.
2026-06-02 16:17:32 -04:00
ed df6aa1f455 fix(gui): Resolve Text Viewer docking conflict with unified ID
- Update Text Viewer window ID to '###Text_Viewer_Unified'.
- Ensures ImGui treats the window as a single stable entity across title changes.
- Prevents docking loop glitches.
2026-06-02 15:45:07 -04:00
ed 4d8e949720 fix(gui): Force newline in discussion entries to prevent squashed layout
- Insert imgui.new_line() before rendering discussion content.
- Ensures the Markdown renderer inherits the full horizontal width of the panel.
- Definitively fixes vertical squashing of tables and long text blocks.
2026-06-02 15:42:04 -04:00
ed fee41032b6 chore(conductor): Add new track 'phase7_monolithic_stabilization_20260602' 2026-06-02 15:14:18 -04:00
ed e5a6dd7fd3 fix(gui): Resolve Text Viewer docking conflict and robustify ID stack
- Update Text Viewer stable ID to match registry key exactly ('###Text Viewer') for stable docking.
- Ensure imgui.push_id always receives a string in imgui_scopes.py to prevent low-level access violations.
2026-06-02 14:19:35 -04:00
ed deea87bf7a WIP: fixing regression 2026-06-02 14:08:46 -04:00
ed c4811f00c1 fix(gui): Final Phase 7 stabilization and polish
- Resolve ImportError by correctly prefixing 'src' in modular renderers.
- Fix ImGui access violation by ensuring push_id always receives string IDs.
- Restore visible role-based background tints using layered rendering (channels).
- Definitively fix horizontal Markdown table widths by forcing group expansion.
- Centralize color management in theme_2.py and ui_shared.py.
- Standardize Files & Media inventory layout and remove legacy controls.
- Update test mocks to support modular UI and theme-driven styling.
2026-06-02 13:27:38 -04:00
ed 46f22f0df9 fix(gui): Restore discussion tinting and fix Markdown table width
- Implement layered tinting using draw_list channels in modular discussion renderer.
- Fix vertical squashing of Markdown tables by forcing full group width with a dummy.
- Consolidate color constants into src/ui_shared.py to prevent circular imports.
- Update src/theme_2.py with role-based tint helpers.
- Successfully verified imports and layout logic.
2026-06-02 10:44:45 -04:00
ed 07017e2dd2 fix(gui): Resolve ImportErrors in modular discussion renderer
- Fix incorrect 'imscope' and 'theme' imports in src/discussion_entry_renderer.py.
- Successfully verified imports via uv run.
2026-06-02 09:56:37 -04:00
ed 9d6fca0e42 fix(gui): Resolve Markdown squashing, MiniMax compression error, and UI import issues
- Modularize discussion entry rendering to src/discussion_entry_renderer.py to fix layout squashing.
- Fix MiniMax compression routing with robust case-insensitive check and synced base URL.
- Implement src/ui_shared.py to resolve circular imports and consolidate shared UI helpers.
- Finalize Structural File Editor integration and state unification.
2026-06-02 03:28:09 -04:00
ed f116f027cf fix(gui): Resolve MiniMax compression error and fix Markdown table rendering
- Correctly route 'minimax' provider in run_discussion_compression.
- Fix MiniMax base URL to api.minimax.io to match main sender.
- Refactor read-mode discussion entries to always use a scrollable child with auto-resize.
- Remove redundant text wrapping that caused Markdown tables to squash vertically.
- Clean up duplicate separators in discussion hub.
2026-06-02 03:12:27 -04:00
ed 59fa495a20 fix(gui): Resolve discussion compression error and improve entry tinting visibility
- Implement missing format_discussion in project_manager.py.
- Fix malformed escape characters in compression AI prompt.
- Ensure discussion compression updates the entry list in-place for immediate GUI refresh.
- Refactor discussion entry tinting using channels to draw backgrounds reliably behind text.
- Standardize Files & Media inventory layout and management buttons.
2026-06-02 03:00:45 -04:00
ed e9ff6efe20 UX UX UX UX UX 2026-06-02 02:58:33 -04:00
ed 964b5c5aa4 test: Fix assertions after GUI state unification
- Update test_gui_symbol_navigation.py and test_gui_text_viewer.py to assert against show_windows['Text Viewer'] instead of the deprecated show_text_viewer attribute.
- Increase synchronization wait time in test_visual_sim_gui_ux.py to ensure the GUI loop accurately reflects the mocked MMA status.
2026-06-02 02:20:07 -04:00
ed 6e0d002d05 fix(minimax): Prevent dangling tool calls during history truncation
- Update _trim_minimax_history to drop dangling 'tool' messages if their parent 'assistant' message is removed.
- Fixes 'invalid params, tool call result does not follow tool call (2013)' error when token limit is hit.
2026-06-02 01:45:07 -04:00
ed 34a7f00cb3 test: Add extensive coverage for discussion metrics and compression
- Add tests/test_discussion_compression.py to verify AI sub-agent compression logic across Gemini, Anthropic, DeepSeek, and Gemini CLI providers.
- Add tests/test_discussion_metrics.py to verify AppController correctly extracts and accumulates token usage (input/output/cache) and logs token history.
2026-06-02 01:42:41 -04:00
ed 5b7b818ed2 feat(gui): Implement per-response token metrics and AI discussion compression
- Display token metrics (input/output/cache) per response in Discussion Hub.
- Add total Discussion Token usage in the panel header.
- Implement 'Compress' feature to intelligently summarize and replace exhausted discussion histories using an AI subagent.
2026-06-02 01:36:57 -04:00
ed b3b9baf91f test: Implement comprehensive workspace isolation to protect user projects
- Add isolate_workspace autouse fixture in conftest.py.
- Monkeypatch SLOP_CONFIG and preset paths to point to a temporary test directory.
- Update test_history_management.py to use dynamic paths.get_config_path().
- Prevents tests from accidentally reading or modifying the active project.toml or config.toml.
2026-06-02 01:27:32 -04:00
ed 3528d6eb03 fix(gui): Improve Approve PowerShell Command modal UX
- Make the approval modal resizable with a larger default size.
- Render 'Show Full Preview' inline to prevent UI lockup issues.
2026-06-02 00:45:30 -04:00
ed ff849e7990 chore(conductor): Add new track 'approve_modal_ux_20260601' 2026-06-02 00:43:23 -04:00
ed 797f283f44 chore(conductor): Add new tracks for Phase 7
- Add 'structural_file_editor_20260601' track.
- Add 'discussion_metrics_and_compression_20260601' track.
2026-06-02 00:25:10 -04:00
ed 4baaadd88d chore(conductor): Add new track 'context_composition_ux_20260601' 2026-06-02 00:19:59 -04:00
ed 0f859d81d6 feat(gui): Unified window state and fixed context preservation regressions
- Implement unified show_windows['Text Viewer'] state and fix docking conflict loops.
- Fix Tool Call row interactivity using spanned selectables.
- Fix context selection loss when switching/creating discussions.
- Implement 'Empty Context Warning' modal for safer generation.
- Correct IndentationError in app_controller.py.
- Remove legacy show_text_viewer attribute and update API hooks.
2026-06-02 00:18:48 -04:00
ed b33a213697 chore(conductor): Add new track 'text_viewer_and_tool_call_fixes_20260601' 2026-06-01 23:46:05 -04:00
ed 6f733a64fa chore(conductor): Add new track 'context_preservation_and_warnings_20260601' 2026-06-01 22:41:20 -04:00