docs(conductor): Initialize Phase 6 GenCpp UX Validation tracks

This commit is contained in:
2026-05-10 12:56:50 -04:00
parent d18aaae0a1
commit ece3c349b9
21 changed files with 160 additions and 0 deletions
+28
View File
@@ -4,6 +4,34 @@ This file tracks all major tracks for the project. Each track has its own detail
--- ---
## Phase 6: GenCpp UX Validation & "Take" Granularity
*Initialized: 2026-05-10*
### Context Control & Workflow Enhancements
1. [ ] **Track: Granular AST Control (Signatures vs. Definitions)**
*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"**
*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: Manual Context Pruner / Intercept Modal**
*Link: [./tracks/manual_context_pruner_20260510/](./tracks/manual_context_pruner_20260510/)*
*Goal: Introduce a "Review Context Before Send" modal for manual pruning of RAG chunks and summaries.*
4. [ ] **Track: Context Batch Operations UX**
*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**
*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.*
---
## Phase 5: Codebase Curation ## Phase 5: Codebase Curation
*Initialized: 2026-05-07* *Initialized: 2026-05-07*
@@ -0,0 +1,4 @@
# Track: Context Batch Operations UX
- [Specification](./spec.md)
- [Plan](./plan.md)
@@ -0,0 +1,5 @@
{
"id": "context_batch_operations_ux_20260510",
"title": "Context Batch Operations UX",
"status": "planned"
}
@@ -0,0 +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.
## 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`.
@@ -0,0 +1,9 @@
# Specification: Context Batch Operations UX
## Overview
Add multi-select and batch state modification capabilities to the Context Panel to allow rapid wrangling of large numbers of files (e.g., setting 20 C++ files to 'AST Signatures' at once).
## Acceptance Criteria
- [ ] Context panel supports multi-select (Shift-click, Ctrl-click, or checkboxes).
- [ ] A batch operations context menu or action bar allows applying states (Force Full, Summary, AST Signatures, Remove) to all selected items.
- [ ] Selections persist correctly during UI refreshes.
@@ -0,0 +1,4 @@
# Track: Context Snapshotting per "Take"
- [Specification](./spec.md)
- [Plan](./plan.md)
@@ -0,0 +1,5 @@
{
"id": "context_snapshotting_takes_20260510",
"title": "Context Snapshotting per 'Take'",
"status": "planned"
}
@@ -0,0 +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).
## 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.
@@ -0,0 +1,8 @@
# Specification: Context Snapshotting per "Take"
## Overview
When branching a discussion using the "Takes" system, snapshot the exact state of the Context Panel (active files, their aggregation flags, and RAG status). When switching between Takes, the UI must visually restore this context state so the user knows exactly what the agent "saw" during that timeline branch.
## Acceptance Criteria
- [ ] Modifying context (adding/removing files, changing AST/summary flags) creates a context delta tied to the active Take.
- [ ] Switching Takes updates the Context panel to reflect the file list and states exactly as they were in that timeline branch.
@@ -0,0 +1,4 @@
# Track: GenCpp Project Initialization
- [Specification](./spec.md)
- [Plan](./plan.md)
@@ -0,0 +1,5 @@
{
"id": "gencpp_project_init_20260510",
"title": "GenCpp Project Initialization",
"status": "planned"
}
@@ -0,0 +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.
@@ -0,0 +1,9 @@
# Specification: GenCpp Project Initialization
## Overview
Configure `manual_slop.toml` in the `gencpp` repository to isolate conductor tracks, logs, and history. This ensures Manual Slop operates cleanly as an external tooling layer for the `gencpp` project without polluting its root directory.
## Acceptance Criteria
- [ ] A `manual_slop.toml` template exists that configures `[conductor].dir` to `.manual_slop/conductor`.
- [ ] Paths for logs and scripts are properly configured to stay within `.manual_slop/`.
- [ ] Instructions are provided on how to run Manual Slop targeting this configuration.
@@ -0,0 +1,4 @@
# Track: Granular AST Control
- [Specification](./spec.md)
- [Plan](./plan.md)
@@ -0,0 +1,5 @@
{
"id": "granular_ast_control_20260510",
"title": "Granular AST Control (Signatures vs. Definitions)",
"status": "planned"
}
@@ -0,0 +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.
## 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.
@@ -0,0 +1,9 @@
# Specification: Granular AST Control (Signatures vs. Definitions)
## Overview
Introduce 'AST Signatures' and 'AST Definitions' states in the Context Panel for C/C++ files to allow granular control over context exposure without blowing up token limits.
## Acceptance Criteria
- [ ] Context panel file items support two new states: `AST Signatures` and `AST Definitions`.
- [ ] `aggregate.py` respects these states by invoking the `ts_c_get_skeleton` / `ts_cpp_get_skeleton` tools accordingly.
- [ ] Visual indicators in the UI clearly show the current aggregation state of each file.
@@ -0,0 +1,4 @@
# Track: Manual Context Pruner / Intercept Modal
- [Specification](./spec.md)
- [Plan](./plan.md)
@@ -0,0 +1,5 @@
{
"id": "manual_context_pruner_20260510",
"title": "Manual Context Pruner / Intercept Modal",
"status": "planned"
}
@@ -0,0 +1,10 @@
# Implementation Plan: Manual Context Pruner
## Phase 1: Aggregation Intercept
- [ ] Add `review_context_before_send` boolean flag to `AppController`.
- [ ] Update the `generate` workflow in `src/app_controller.py` to pause and trigger the UI modal if the flag is true.
## Phase 2: UI Modal
- [ ] Add `_render_context_pruner_modal` in `src/gui_2.py`.
- [ ] The modal must use a large `imgui.input_text_multiline` (or similar editor) to allow manual redaction.
- [ ] Handle the callback to resume the `generate` workflow with the modified string.
@@ -0,0 +1,9 @@
# Specification: Manual Context Pruner / Intercept Modal
## Overview
Introduce a "Review Context Before Send" toggle. When enabled, hitting "Send" opens a modal displaying the final, aggregated Markdown string. The user can manually delete lines, redact symbols, or prune irrelevant RAG chunks before giving the final approval to send the payload to the API.
## Acceptance Criteria
- [ ] A UI toggle exists for "Review Context Before Send".
- [ ] When enabled, sending a prompt opens a modal with a large text editor containing the fully aggregated markdown string (files + RAG chunks + prompt).
- [ ] User can edit the text and click "Approve and Send" or "Cancel".