uncomitted changes from the agent.
This commit is contained in:
+4
-4
@@ -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.*
|
||||
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
+7
-7
@@ -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]
|
||||
|
||||
@@ -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 <script>`, (3) delete the helper. For small targeted edits, use PowerShell's (Get-Content) / .Replace() / Set-Content or Add-Content directly.
|
||||
|
||||
When making function calls using tools that accept array or object parameters ensure those are structured using JSON. For example:
|
||||
When you need to verify a change, rely on the exit code and stdout/stderr from the tool — the user's context files are automatically refreshed after every tool call, so you do NOT need to re-read files that are already provided in the <context> block.
|
||||
|
||||
<context>
|
||||
## Files
|
||||
|
||||
### `final_test_1.txt`
|
||||
|
||||
```txt
|
||||
ERROR: file not found: C:\Users\Ed\AppData\Local\Temp\tmpbtllj21_\final_test_1.txt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `final_test_2.py`
|
||||
|
||||
```py
|
||||
ERROR: file not found: C:\Users\Ed\AppData\Local\Temp\tmpbtllj21_\final_test_2.py
|
||||
```
|
||||
</context>
|
||||
|
||||
What makes RAG great?
|
||||
------------------
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
system_prompt = ""
|
||||
tool_preset = "Default"
|
||||
bias_profile = "Balanced"
|
||||
aggregation_strategy = "auto"
|
||||
|
||||
[[personas.Default.preferred_models]]
|
||||
model = "MiniMax-M2.5"
|
||||
|
||||
@@ -9,5 +9,5 @@ active = "main"
|
||||
|
||||
[discussions.main]
|
||||
git_commit = ""
|
||||
last_updated = "2026-05-10T10:35:34"
|
||||
last_updated = "2026-05-10T12:15:18"
|
||||
history = []
|
||||
|
||||
Reference in New Issue
Block a user