From 3bdd269d5e5649bf0e61f7a1e5662ce0545e253d Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sun, 10 May 2026 14:11:13 -0400 Subject: [PATCH] uncomitted changes from the agent. --- conductor/tracks.md | 8 +-- .../plan.md | 8 +-- .../plan.md | 8 +-- .../gencpp_project_init_20260510/plan.md | 6 +-- .../granular_ast_control_20260510/plan.md | 8 +-- .../plan.md | 8 +-- .../plan.md | 10 ++-- config.toml | 14 ++--- mock_debug_prompt.txt | 53 +++++++++++++++++++ personas.toml | 1 + project_history.toml | 2 +- 11 files changed, 90 insertions(+), 36 deletions(-) diff --git a/conductor/tracks.md b/conductor/tracks.md index af0b503..a1419c9 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -14,11 +14,11 @@ This file tracks all major tracks for the project. Each track has its own detail *Link: [./tracks/granular_ast_control_20260510/](./tracks/granular_ast_control_20260510/)* *Goal: Introduce 'AST Signatures' and 'AST Definitions' states in the Context Panel for C/C++ files.* -2. [ ] **Track: Context Snapshotting per "Take"** +2. [x] **Track: Context Snapshotting per "Take"** *Link: [./tracks/context_snapshotting_takes_20260510/](./tracks/context_snapshotting_takes_20260510/)* *Goal: Snapshot and visually restore the Context Panel state when switching between Takes.* -3. [ ] **Track: Interactive Text Slice Highlighting** +3. [x] **Track: Interactive Text Slice Highlighting** *Link: [./tracks/interactive_text_slice_highlighting_20260510/](./tracks/interactive_text_slice_highlighting_20260510/)* *Goal: Allow highlighting text ranges to create fuzzy-anchored slices (Def, Sig, Hide) that survive file modifications.* @@ -26,11 +26,11 @@ This file tracks all major tracks for the project. Each track has its own detail *Link: [./tracks/context_batch_operations_ux_20260510/](./tracks/context_batch_operations_ux_20260510/)* *Goal: Add multi-select and batch state modification capabilities to the Context Panel for rapid wrangling.* -5. [ ] **Track: GenCpp Project Initialization** +5. [x] **Track: GenCpp Project Initialization** *Link: [./tracks/gencpp_project_init_20260510/](./tracks/gencpp_project_init_20260510/)* *Goal: Configure manual_slop.toml in the gencpp repo to isolate conductor tracks, logs, and history.* -6. [ ] **Track: Interactive AST Tree Masking** +6. [x] **Track: Interactive AST Tree Masking** *Link: [./tracks/interactive_ast_tree_masking_20260510/](./tracks/interactive_ast_tree_masking_20260510/)* *Goal: Inspect C/C++ ASTs in the GUI and mask individual classes/functions as Def, Sig, or Hide.* diff --git a/conductor/tracks/context_batch_operations_ux_20260510/plan.md b/conductor/tracks/context_batch_operations_ux_20260510/plan.md index b733ecd..dec7d57 100644 --- a/conductor/tracks/context_batch_operations_ux_20260510/plan.md +++ b/conductor/tracks/context_batch_operations_ux_20260510/plan.md @@ -1,9 +1,9 @@ # Implementation Plan: Context Batch Operations UX ## Phase 1: Selection State -- [ ] Introduce a `selected_files` set in the `AppController` state. -- [ ] Update `_render_context_panel` in `src/gui_2.py` to support clicking/checkboxes to modify the selection state. +- [x] Introduce a `selected_files` set in the `AppController` state. +- [x] Update `_render_context_panel` in `src/gui_2.py` to support clicking/checkboxes to modify the selection state. ## Phase 2: Batch Actions -- [ ] Add a 'Batch Actions' sub-menu or inline bar in the Context Panel. -- [ ] Implement controller methods to apply state changes to all items in `selected_files`. +- [x] Add a 'Batch Actions' sub-menu or inline bar in the Context Panel. +- [x] Implement controller methods to apply state changes to all items in `selected_files`. diff --git a/conductor/tracks/context_snapshotting_takes_20260510/plan.md b/conductor/tracks/context_snapshotting_takes_20260510/plan.md index 03b1df1..1701c24 100644 --- a/conductor/tracks/context_snapshotting_takes_20260510/plan.md +++ b/conductor/tracks/context_snapshotting_takes_20260510/plan.md @@ -1,9 +1,9 @@ # Implementation Plan: Context Snapshotting per "Take" ## Phase 1: Snapshot Model -- [ ] Update `HistoryManager` and the `Take` model to store a `context_snapshot` (list of serialized file items). +- [x] Update `HistoryManager` and the `Take` model to store a `context_snapshot` (list of serialized file items). (Implemented via Discussion dict in project file). ## Phase 2: Save and Restore -- [ ] Modify `AppController` to save the current context state when a new Take is created. -- [ ] Modify the "Switch Take" logic in `AppController` to restore the context state from the `context_snapshot`. -- [ ] Ensure UI automatically refreshes the Context Panel upon Take switch. +- [x] Modify `AppController` to save the current context state when a new Take is created. +- [x] Modify the "Switch Take" logic in `AppController` to restore the context state from the `context_snapshot`. +- [x] Ensure UI automatically refreshes the Context Panel upon Take switch. (Automatically handled via attribute delegation). diff --git a/conductor/tracks/gencpp_project_init_20260510/plan.md b/conductor/tracks/gencpp_project_init_20260510/plan.md index a3b0545..85bac47 100644 --- a/conductor/tracks/gencpp_project_init_20260510/plan.md +++ b/conductor/tracks/gencpp_project_init_20260510/plan.md @@ -1,6 +1,6 @@ # Implementation Plan: GenCpp Project Initialization ## Phase 1: Configuration Template -- [ ] Draft the exact `manual_slop.toml` structure required. -- [ ] (Manual step) Place this file in `C:/projects/gencpp/`. -- [ ] Verify that opening Manual Slop and selecting the `gencpp` directory correctly initializes the isolated `.manual_slop` taxonomy. +- [x] Draft the exact `manual_slop.toml` structure required. (Created `gencpp_manual_slop_template.toml`). +- [x] Implement project-level path isolation in `AppController`. +- [x] Verify that opening Manual Slop and selecting the `gencpp` directory correctly initializes the isolated `.manual_slop` taxonomy. diff --git a/conductor/tracks/granular_ast_control_20260510/plan.md b/conductor/tracks/granular_ast_control_20260510/plan.md index 3a5c9dd..e4fd659 100644 --- a/conductor/tracks/granular_ast_control_20260510/plan.md +++ b/conductor/tracks/granular_ast_control_20260510/plan.md @@ -1,9 +1,9 @@ # Implementation Plan: Granular AST Control ## Phase 1: Models & UI State -- [ ] Update `FileItem` model in `src/models.py` to support the new AST states. -- [ ] Update `src/gui_2.py` Context Panel to render toggle buttons/dropdowns for the new states. +- [x] Update `FileItem` model in `src/models.py` to support the new AST states. +- [x] Update `src/gui_2.py` Context Panel to render toggle buttons/dropdowns for the new states. ## Phase 2: Aggregation Logic -- [ ] Modify `src/aggregate.py` to intercept files with these states and call the appropriate `tree-sitter` MCP tools. -- [ ] Ensure caching works for the new AST extraction states. +- [x] Modify `src/aggregate.py` to intercept files with these states and call the appropriate `tree-sitter` MCP tools. +- [x] Ensure caching works for the new AST extraction states. diff --git a/conductor/tracks/interactive_ast_tree_masking_20260510/plan.md b/conductor/tracks/interactive_ast_tree_masking_20260510/plan.md index d04f40b..c2d38ff 100644 --- a/conductor/tracks/interactive_ast_tree_masking_20260510/plan.md +++ b/conductor/tracks/interactive_ast_tree_masking_20260510/plan.md @@ -1,9 +1,9 @@ # Implementation Plan: Interactive AST Tree Masking ## Phase 1: AST Mask Model & Inspector UI -- [ ] Update `FileItem` in `src/models.py` with an `ast_mask: dict[str, str]` field (mapping symbol paths to 'def', 'sig', or 'hide'). -- [ ] In `src/gui_2.py`, add an `[Inspect]` button to the Context Panel table. -- [ ] Implement `_render_ast_inspector_modal` in `src/gui_2.py`, fetching the outline via `ts_cpp_get_code_outline` and rendering it as an `imgui.tree_node` hierarchy with radio buttons. +- [x] Update `FileItem` in `src/models.py` with an `ast_mask: dict[str, str]` field (mapping symbol paths to 'def', 'sig', or 'hide'). +- [x] In `src/gui_2.py`, add an `[Inspect]` button to the Context Panel table. +- [x] Implement `_render_ast_inspector_modal` in `src/gui_2.py`, fetching the outline via `ts_cpp_get_code_outline` and rendering it as an `imgui.tree_node` hierarchy with radio buttons. ## Phase 2: Dynamic Aggregation -- [ ] Update `src/aggregate.py`. When an `ast_mask` is present, it must parse the file, extract the requested definitions and signatures by their symbol names, and stitch them into a single coherent markdown block. +- [x] Update `src/aggregate.py`. When an `ast_mask` is present, it must parse the file, extract the requested definitions and signatures by their symbol names, and stitch them into a single coherent markdown block. diff --git a/conductor/tracks/interactive_text_slice_highlighting_20260510/plan.md b/conductor/tracks/interactive_text_slice_highlighting_20260510/plan.md index e345e83..b668d5b 100644 --- a/conductor/tracks/interactive_text_slice_highlighting_20260510/plan.md +++ b/conductor/tracks/interactive_text_slice_highlighting_20260510/plan.md @@ -1,12 +1,12 @@ # Implementation Plan: Interactive Text Slice Highlighting ## Phase 1: Slice Model & Fuzzy Anchors -- [ ] Update `FileItem` in `src/models.py` with a `custom_slices: list[dict]` field. -- [ ] Implement a `FuzzyAnchor` utility to generate and re-resolve slices based on contextual text hashing. +- [x] Update `FileItem` in `src/models.py` with a `custom_slices: list[dict]` field. +- [x] Implement a `FuzzyAnchor` utility to generate and re-resolve slices based on contextual text hashing. ## Phase 2: Editor UI Integration -- [ ] In `src/gui_2.py`, add `[Edit Slices]` to the Context Panel. -- [ ] Enhance the `TextEditor` wrapper to support visual highlighting and a context menu for adding/removing slices. +- [x] In `src/gui_2.py`, add `[Slices]` to the Context Panel. +- [x] Enhance the `TextEditor` wrapper to support visual highlighting and a context menu for adding/removing slices. ## Phase 3: Aggregation Execution -- [ ] Update `src/aggregate.py` to respect `custom_slices` when building the final markdown text for a file. +- [x] Update `src/aggregate.py` to respect `custom_slices` when building the final markdown text for a file. diff --git a/config.toml b/config.toml index fcc2393..3ab9671 100644 --- a/config.toml +++ b/config.toml @@ -1,14 +1,14 @@ [ai] -provider = "gemini_cli" -model = "gemini-2.5-flash-lite" -temperature = 0.5 +provider = "minimax" +model = "MiniMax-M2.5" +temperature = 0.0 top_p = 1.0 max_tokens = 32000 history_trunc_limit = 900000 active_preset = "Default" system_prompt = "" base_system_prompt = "" -use_default_base_prompt = false +use_default_base_prompt = true [projects] paths = [ @@ -77,13 +77,13 @@ logs_dir = "C:\\projects\\manual_slop\\logs" scripts_dir = "C:\\projects\\manual_slop\\scripts" [rag] -enabled = true -embedding_provider = "gemini" +enabled = false +embedding_provider = "local" chunk_size = 1000 chunk_overlap = 200 [rag.vector_store] -provider = "mock" +provider = "chroma" collection_name = "manual_slop" [tools.text_editors.vscode] diff --git a/mock_debug_prompt.txt b/mock_debug_prompt.txt index 5df5d05..c225260 100644 --- a/mock_debug_prompt.txt +++ b/mock_debug_prompt.txt @@ -67,3 +67,56 @@ PROMPT: role: tool Here are the results: {"content": "done"} ------------------ +--- MOCK INVOKED --- +ARGS: ['tests/mock_gemini_cli.py'] +PROMPT: +PATH: Epic Initialization — please produce tracks +------------------ +--- MOCK INVOKED --- +ARGS: ['tests/mock_gemini_cli.py'] +PROMPT: +Please generate the implementation tickets for this track. +------------------ +--- MOCK INVOKED --- +ARGS: ['tests/mock_gemini_cli.py'] +PROMPT: +Please read test.txt +You are assigned to Ticket T1. +Task Description: do something +------------------ +--- MOCK INVOKED --- +ARGS: ['tests/mock_gemini_cli.py'] +PROMPT: +role: tool +Here are the results: {"content": "done"} +------------------ +--- MOCK INVOKED --- +ARGS: ['C:\\projects\\manual_slop\\tests\\mock_gemini_cli.py', '-m', 'gemini-2.5-flash-lite', '--prompt', '', '--output-format', 'stream-json'] +PROMPT: +You are a helpful coding assistant with access to a PowerShell tool (run_powershell) and MCP tools (file access: read_file, list_directory, search_files, get_file_summary, web access: web_search, fetch_url). When calling file/directory tools, always use the 'path' parameter for the target path. When asked to create or edit files, prefer targeted edits over full rewrites. Always explain what you are doing before invoking the tool. + +When writing or rewriting large files (especially those containing quotes, backticks, or special characters), avoid python -c with inline strings. Instead: (1) write a .py helper script to disk using a PS here-string (@'...'@ for literal content), (2) run it with `python