conductor(checkpoint): Checkpoint end of Phase 1 (Directory Migration)

This commit is contained in:
2026-05-07 21:37:58 -04:00
parent 49acb884e1
commit 2065dd8559
119 changed files with 3 additions and 3 deletions
@@ -0,0 +1,5 @@
# Track undo_redo_history_20260311 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./metadata.json)
@@ -0,0 +1,8 @@
{
"track_id": "undo_redo_history_20260311",
"type": "feature",
"status": "new",
"created_at": "2026-03-11T20:15:00Z",
"updated_at": "2026-03-11T20:15:00Z",
"description": "Undo/Redo history support for non-provider based user actions: text inputs, UI controls, discussion structure, and context management."
}
@@ -0,0 +1,30 @@
# Implementation Plan: Undo/Redo History Support
This plan implements a robust undo/redo system focusing on text inputs, control states, and discussion structure.
## Phase 1: History Core Logic & State Management [checkpoint: 9a699a5]
- [x] Task: Design and implement a generic `HistoryManager` class to handle undo/redo stacks and state snapshots. 7743b15
- [x] Task: Write failing tests for the `HistoryManager` core logic, including capacity limits and basic undo/redo functionality. 7743b15
- [x] Task: Implement `HistoryManager` to pass tests, ensuring it correctly manages a fixed stack of 50-100 actions. 7743b15
- [x] Task: Conductor - User Manual Verification 'Phase 1: History Core Logic & State Management' (Protocol in workflow.md) 9a699a5
## Phase 2: Text Input & Control Undo/Redo [checkpoint: a02849b]
- [x] Task: Integrate `HistoryManager` with `src/gui_2.py` for system prompt and discussion entry text fields. 095368b
- [x] Task: Implement state snapshots for AI model parameter sliders (Temperature, Top-P) and checkboxes. 095368b
- [x] Task: Write simulation tests using `live_gui` to verify undo/redo for text edits and control changes. 095368b
- [x] Task: Conductor - User Manual Verification 'Phase 2: Text Input & Control Undo/Redo' (Protocol in workflow.md) a02849b
## Phase 3: Discussion & Context Structure Mutation [checkpoint: 0a5b90e]
- [x] Task: Implement undo/redo for adding, deleting, and reordering discussion entries in `src/app_controller.py`. 095368b
- [x] Task: Extend the history system to track context file and screenshot additions/removals in `src/aggregate.py`. 095368b
- [x] Task: Write failing tests for reverting and redoing complex discussion tree mutations. 095368b
- [x] Task: Implement mutation tracking and restoration logic to pass tests. 095368b
- [x] Task: Conductor - User Manual Verification 'Phase 3: Discussion & Context Structure Mutation' (Protocol in workflow.md) 0a5b90e
## Phase 4: UI Features - Hotkeys & History List [checkpoint: 446a587]
- [x] Task: Implement global hotkey handling for `Ctrl+Z` and `Ctrl+Y` / `Ctrl+Shift+Z` in the main GUI loop. 095368b
- [x] Task: Create a dedicated 'History List' panel in `src/gui_2.py` showing a scrollable list of recent actions. a3d7376
- [x] Task: Implement functionality to jump to a specific historical state via the History List. a3d7376
- [x] Task: Write final integration tests for the full undo/redo cycle across all supported areas. 7bed4a8
- [x] Task: Conductor - User Manual Verification 'Phase 4: UI Features - Hotkeys & History List' (Protocol in workflow.md) 446a587
@@ -0,0 +1,38 @@
# Specification: Undo/Redo History Support
## 1. Overview
This track implements a robust, non-provider based Undo/Redo system within the Manual Slop GUI. It allows users to revert and redo common UI actions, focusing on text inputs, control states, and discussion structure, without impacting AI-generated content or remote state.
## 2. Functional Requirements
### 2.1 Supported Actions
- **Text Inputs:** Undo/redo for system prompts, discussion entries, and any editable text boxes.
- **UI Controls:** Revert changes to sliders (Temperature, Top-P), checkboxes, and preset selections.
- **Discussion Structure:** Support undo/redo for deleting or inserting discussion entries.
- **Context Management:** Undo/redo for additions and removals of context files and screenshots.
### 2.2 History Management
- **Capacity:** A fixed limit of 50-100 actions in the undo stack.
- **Scope:** History is session-specific and not persisted between application restarts.
- **Exclusions:** Actions triggering AI vendor API requests or MMA track progression are explicitly excluded from the undo system.
### 2.3 User Interface
- **Hotkeys:** Implementation of standard `Ctrl+Z` (Undo) and `Ctrl+Y` / `Ctrl+Shift+Z` (Redo) shortcuts.
- **History List View:** A dedicated visual 'History List' panel showing recent actions, allowing users to jump back to specific points in the timeline.
## 3. Non-Functional Requirements
- **Low Overhead:** The history system must have minimal impact on UI responsiveness.
- **Thread Safety:** Ensure state snapshots and restorations are thread-safe within the GUI loop.
## 4. Acceptance Criteria
- [ ] Users can undo and redo text edits in the system prompt and discussion fields.
- [ ] UI control changes (sliders, presets) are correctly captured and restorable.
- [ ] Discussion entry deletions/insertions can be reverted and redone.
- [ ] Context additions/removals are tracked in the history.
- [ ] `Ctrl+Z` and `Ctrl+Y` hotkeys work as expected.
- [ ] The History List view accurately displays and allows jumping between states.
## 5. Out of Scope
- Undo/redo for AI model generations or vendor API calls.
- Undo/redo for MMA execution state transitions.
- Persistent history across application restarts.