Commit Graph

331 Commits

Author SHA1 Message Date
Ed_
d9495f6e23 feat(theme): Add Alert Pulsing effect for NERV theme 2026-03-09 00:55:09 -04:00
Ed_
4f4fa1015c test(theme): Add unit tests for NERV visual effects 2026-03-09 00:50:39 -04:00
Ed_
de0d9f339e test(theme): Add unit tests for NERV theme colors and geometry 2026-03-09 00:47:55 -04:00
Ed_
fde0f29e72 ok 2026-03-08 23:24:33 -04:00
Ed_
59e14533f6 feat(ui): Implement Subtle Rounding professional theme 2026-03-08 21:55:35 -04:00
Ed_
e34a2e6355 feat(ui): Implement selectable text across primary GUI panels 2026-03-08 21:37:22 -04:00
Ed_
74737ac9c7 fix(core): Anchor config.toml path to manual slop root
This fixes an issue where config.toml was erroneously saved to the current working directory (e.g. project dir) rather than the global manual slop directory.
2026-03-08 21:29:54 -04:00
Ed_
de5b152c1e conductor(checkpoint): Checkpoint end of Phase 1: Storage Optimization 2026-03-08 20:53:13 -04:00
Ed_
7063bead12 feat(logs): Implement file-based offloading for scripts and tool outputs 2026-03-08 20:51:27 -04:00
Ed_
d9a06fd2fe fix(test): emit response event on gemini_cli timeout
- Add try/except in ai_client.py to emit response_received event
  before re-raising exceptions from gemini_cli adapter
- Adjust mock_gemini_cli.py to sleep 65s (triggers 60s adapter timeout)
- This fixes test_mock_timeout and other live GUI tests that were
  hanging because no event was emitted on timeout
2026-03-07 22:37:06 -05:00
Ed_
6621362c37 ok 2026-03-07 21:40:40 -05:00
Ed_
f07b14aa66 fix(test): Restore performance threshold bounds and add profiling to test 2026-03-07 20:46:14 -05:00
Ed_
4c2cfda3d1 fixing 2026-03-07 20:32:59 -05:00
Ed_
c2930ebea1 conductor(checkpoint): Test integrity audit complete 2026-03-07 20:15:22 -05:00
Ed_
3ba4cac4a4 ai is trying to cheat out of finishing the tests still 2026-03-07 19:38:15 -05:00
Ed_
896be1eae2 ok 2026-03-07 18:31:21 -05:00
Ed_
39348745d3 fix: Test regression fixes - None event_queue handling, test assertions, skip pre-existing issue 2026-03-07 17:01:23 -05:00
Ed_
ca65f29513 fix: Handle None event_queue in _queue_put, fix test assertion 2026-03-07 16:53:45 -05:00
Ed_
245653ce62 feat(models): Add model_override field to Ticket 2026-03-07 16:41:47 -05:00
Ed_
0c3a2061e7 feat(conductor): Add pause/resume mechanism to ConductorEngine 2026-03-07 16:36:04 -05:00
Ed_
094a6c3c22 feat(models): Add manual_block field and methods to Ticket 2026-03-07 16:25:44 -05:00
Ed_
d74f629f47 feat(gui): Add kill button per worker in ticket queue table 2026-03-07 16:19:01 -05:00
Ed_
597e6b51e2 feat(conductor): Implement abort checks in worker lifecycle and kill_worker method 2026-03-07 16:06:56 -05:00
Ed_
da011fbc57 feat(conductor): Populate abort_events when spawning workers 2026-03-07 15:59:59 -05:00
Ed_
5f7909121d feat(conductor): Add worker tracking and abort event dictionaries to ConductorEngine 2026-03-07 15:55:39 -05:00
Ed_
a22603d136 feat(gui): Implement manual ticket queue management with priority, multi-select, and drag-drop reordering 2026-03-07 15:42:32 -05:00
Ed_
035c74ed36 feat(models): Add priority field to Ticket dataclass and update serialization 2026-03-07 15:27:30 -05:00
Ed_
7ea833e2d3 feat(gui): Implement on-demand definition lookup with clickable navigation and collapsing 2026-03-07 15:20:39 -05:00
Ed_
c6f9dc886f feat(controller): Integrate py_get_definition for on-demand lookup 2026-03-07 15:03:03 -05:00
Ed_
a0a9d00310 feat(gui): Implement @symbol regex parser for on-demand definition lookup 2026-03-07 14:57:52 -05:00
Ed_
6f8c2c78e8 fix(logs): Final robust fix for LogPruner path resolution and empty log pruning 2026-03-07 12:43:29 -05:00
Ed_
046ccc7225 fix(logs): Correct path resolution in LogPruner to handle paths starting with 'logs/' 2026-03-07 12:41:23 -05:00
Ed_
3c9e03dd3c fix(logs): Make empty log pruning more robust by including sessions with missing metadata 2026-03-07 12:35:37 -05:00
Ed_
b6084aefbb feat(logs): Update pruning heuristic to always remove empty logs regardless of age 2026-03-07 12:32:27 -05:00
Ed_
d7a6ba7e51 feat(ui): Enhanced context control with per-file flags and Gemini cache awareness 2026-03-07 12:13:08 -05:00
Ed_
fbe02ebfd4 feat(ui): Implement manual skeleton context injection 2026-03-07 11:54:11 -05:00
Ed_
1e188fd3aa feat(ui): Implement enhanced MMA track progress visualization with color-coded bars, breakdown, and ETA 2026-03-07 11:42:35 -05:00
Ed_
87902d82d8 feat(mma): Implement track progress calculation and refactor get_all_tracks 2026-03-07 11:24:05 -05:00
Ed_
3f03663e2e test(orchestrator): add unit tests for native_orchestrator module 2026-03-07 01:36:01 -05:00
Ed_
f8e1a5b405 feat(tier4): Complete GUI integration for patch modal
- Add patch modal state to AppController instead of App
- Add show_patch_modal/hide_patch_modal action handlers
- Fix push_event to work with flat payload format
- Add patch fields to _gettable_fields
- Both GUI integration tests passing
2026-03-07 00:55:35 -05:00
Ed_
d520d5d6c2 fix: Add debug logging to patch endpoints 2026-03-07 00:45:07 -05:00
Ed_
14dab8e67f feat(tier4): Add patch modal GUI integration and API hooks 2026-03-07 00:37:44 -05:00
Ed_
90670b9671 feat(tier4): Integrate patch generation into GUI workflow
- Add patch_callback parameter throughout the tool execution chain
- Add _render_patch_modal() to gui_2.py with colored diff display
- Add patch modal state variables to App.__init__
- Add request_patch_from_tier4() to trigger patch generation
- Add run_tier4_patch_callback() to ai_client.py
- Update shell_runner to accept and execute patch_callback
- Diff colors: green for additions, red for deletions, cyan for headers
- 36 tests passing
2026-03-07 00:26:34 -05:00
Ed_
d58816620a feat(modal): Add patch approval modal manager
- Create src/patch_modal.py with PatchModalManager class
- Manage patch approval workflow: request, apply, reject
- Provide singleton access via get_patch_modal_manager()
- Add 8 unit tests for modal manager
2026-03-07 00:15:06 -05:00
Ed_
125cbc6dd0 feat(patch): Add patch application and backup functions
- Add create_backup() to backup files before patching
- Add apply_patch_to_file() to apply unified diff
- Add restore_from_backup() for rollback
- Add cleanup_backup() to remove backup files
- Add 15 unit tests for all patch operations
2026-03-07 00:14:23 -05:00
Ed_
99a5d7045f feat(diff): Add diff rendering helpers for GUI
- Add get_line_color() to classify diff lines
- Add render_diff_text_immediate() for immediate mode rendering
- Add tests for rendering functions
2026-03-07 00:13:10 -05:00
Ed_
130001c0ba feat(diff): Add diff parser for unified diff format
- Create src/diff_viewer.py with parse_diff function
- Parse unified diff into DiffFile and DiffHunk dataclasses
- Extract file paths, hunk headers, and line changes
- Add unit tests for diff parser
2026-03-07 00:12:06 -05:00
Ed_
c8e8cb3bf3 feat(tier4): Add patch generation for auto-patching
- Add TIER4_PATCH_PROMPT to mma_prompts.py with unified diff format
- Add run_tier4_patch_generation function to ai_client.py
- Import mma_prompts in ai_client.py
- Add unit tests for patch generation
2026-03-07 00:10:35 -05:00
Ed_
b79c1fce3c feat(provider): Add MiniMax AI provider integration
- Add minimax to PROVIDERS lists in gui_2.py and app_controller.py
- Add minimax credentials template in ai_client.py
- Implement _list_minimax_models, _classify_minimax_error, _ensure_minimax_client
- Implement _send_minimax with streaming and reasoning support
- Add minimax to send(), list_models(), reset_session(), get_history_bleed_stats()
- Add unit tests in tests/test_minimax_provider.py
2026-03-06 23:36:30 -05:00
Ed_
f25e6e0b34 OK 2026-03-06 23:21:23 -05:00