chore(conductor): Add new tracks for 'Session Context Snapshots' and 'Discussion Takes'
This commit is contained in:
@@ -65,6 +65,14 @@ This file tracks all major tracks for the project. Each track has its own detail
|
|||||||
*Link: [./tracks/presets_ai_settings_ux_20260311/](./tracks/presets_ai_settings_ux_20260311/)*
|
*Link: [./tracks/presets_ai_settings_ux_20260311/](./tracks/presets_ai_settings_ux_20260311/)*
|
||||||
*Goal: Improve the layout, scaling, and control ergonomics of the Preset windows (Personas, Prompts, Tools) and AI Settings panel. Includes dual-control sliders and categorized tool management.*
|
*Goal: Improve the layout, scaling, and control ergonomics of the Preset windows (Personas, Prompts, Tools) and AI Settings panel. Includes dual-control sliders and categorized tool management.*
|
||||||
|
|
||||||
|
8. [ ] **Track: Session Context Snapshots & Visibility**
|
||||||
|
*Link: [./tracks/session_context_snapshots_20260311/](./tracks/session_context_snapshots_20260311/)*
|
||||||
|
*Goal: Session-scoped context management, saving Context Presets, MMA assignment, and agent-focused session filtering in the UI.*
|
||||||
|
|
||||||
|
9. [ ] **Track: Discussion Takes & Timeline Branching**
|
||||||
|
*Link: [./tracks/discussion_takes_branching_20260311/](./tracks/discussion_takes_branching_20260311/)*
|
||||||
|
*Goal: Non-linear discussion timelines via tabbed "takes", message branching, and synthesis generation workflows.*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Additional Language Support
|
### Additional Language Support
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Track discussion_takes_branching_20260311 Context
|
||||||
|
|
||||||
|
- [Specification](./spec.md)
|
||||||
|
- [Implementation Plan](./plan.md)
|
||||||
|
- [Metadata](./metadata.json)
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"track_id": "discussion_takes_branching_20260311",
|
||||||
|
"type": "feature",
|
||||||
|
"status": "new",
|
||||||
|
"created_at": "2026-03-11T19:30:00Z",
|
||||||
|
"updated_at": "2026-03-11T19:30:00Z",
|
||||||
|
"description": "Discussion Takes & Timeline Branching: Tabbed interface for multi-timeline takes, message branching, and synthesis generation workflows."
|
||||||
|
}
|
||||||
25
conductor/tracks/discussion_takes_branching_20260311/plan.md
Normal file
25
conductor/tracks/discussion_takes_branching_20260311/plan.md
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# Implementation Plan: Discussion Takes & Timeline Branching
|
||||||
|
|
||||||
|
## Phase 1: Backend Support for Timeline Branching
|
||||||
|
- [ ] Task: Write failing tests for extending the session state model to support branching (tree-like history or parallel linear "takes" with a shared ancestor).
|
||||||
|
- [ ] Task: Implement backend logic to branch a session history at a specific message index into a new take ID.
|
||||||
|
- [ ] Task: Implement backend logic to promote a specific take ID into an independent, top-level session.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Backend Support for Timeline Branching' (Protocol in workflow.md)
|
||||||
|
|
||||||
|
## Phase 2: GUI Implementation for Tabbed Takes
|
||||||
|
- [ ] Task: Write GUI tests verifying the rendering and navigation of multiple tabs for a single session.
|
||||||
|
- [ ] Task: Implement a tabbed interface within the Discussion window to switch between different takes of the active session.
|
||||||
|
- [ ] Task: Add a "Split/Branch from here" action to individual message entries in the discussion history.
|
||||||
|
- [ ] Task: Add a UI button/action to promote the currently active take to a new separate session.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 2: GUI Implementation for Tabbed Takes' (Protocol in workflow.md)
|
||||||
|
|
||||||
|
## Phase 3: Synthesis Workflow Formatting
|
||||||
|
- [ ] Task: Write tests for a new text formatting utility that takes multiple history sequences and generates a compressed, diff-like text representation.
|
||||||
|
- [ ] Task: Implement the sequence differencing and compression logic to clearly highlight variances between takes.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Synthesis Workflow Formatting' (Protocol in workflow.md)
|
||||||
|
|
||||||
|
## Phase 4: Synthesis UI & Agent Integration
|
||||||
|
- [ ] Task: Write GUI tests for the multi-take selection interface and synthesis action.
|
||||||
|
- [ ] Task: Implement a UI mechanism allowing users to select multiple takes and provide a synthesis prompt.
|
||||||
|
- [ ] Task: Implement the execution pipeline to feed the compressed differences and user prompt to an AI agent, and route the generated synthesis to a new "take" tab.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 4: Synthesis UI & Agent Integration' (Protocol in workflow.md)
|
||||||
23
conductor/tracks/discussion_takes_branching_20260311/spec.md
Normal file
23
conductor/tracks/discussion_takes_branching_20260311/spec.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Specification: Discussion Takes & Timeline Branching
|
||||||
|
|
||||||
|
## 1. Overview
|
||||||
|
This track introduces non-linear discussion timelines, allowing users to create multiple "takes" (branches) from a shared point in a conversation. It includes UI for managing these parallel timelines within a single discussion window and features a specialized synthesis workflow to merge ideas from multiple takes.
|
||||||
|
|
||||||
|
## 2. Functional Requirements
|
||||||
|
|
||||||
|
### 2.1 Timeline Branching (Takes)
|
||||||
|
- **Message Branching:** Add a "Split/Branch from here" action on individual discussion messages.
|
||||||
|
- **Tabbed Interface:** Branching creates a new "take," represented visually as a new tab within the same discussion session. The new tab shares the timeline history up to the split point.
|
||||||
|
- **Take Promotion:** Allow users to promote any specific take into an entirely new, standalone discussion session.
|
||||||
|
|
||||||
|
### 2.2 Take Synthesis Workflow
|
||||||
|
- **Multi-Take Selection:** Provide a UI to select multiple takes from a shared split point for comparison and synthesis.
|
||||||
|
- **Diff/Compressed Representation:** Develop a formatted representation (e.g., compressed diffs or parallel sequence summaries) that clearly highlights the differences between the selected takes.
|
||||||
|
- **Synthesis Generation:** Feed the compressed representation of the differences to an AI agent along with a user prompt (e.g., "I liked aspects of both, do C with these caveats") to generate a new, synthesized take.
|
||||||
|
|
||||||
|
## 3. Acceptance Criteria
|
||||||
|
- [ ] Users can split a discussion from any message to create a new "take".
|
||||||
|
- [ ] Takes are navigable via a tabbed interface within the discussion window.
|
||||||
|
- [ ] A take can be promoted to a standalone discussion session.
|
||||||
|
- [ ] Multiple takes can be selected and formatted into a compressed difference view.
|
||||||
|
- [ ] An AI agent can successfully process the compressed take view to generate a synthesized continuation.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Track session_context_snapshots_20260311 Context
|
||||||
|
|
||||||
|
- [Specification](./spec.md)
|
||||||
|
- [Implementation Plan](./plan.md)
|
||||||
|
- [Metadata](./metadata.json)
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"track_id": "session_context_snapshots_20260311",
|
||||||
|
"type": "feature",
|
||||||
|
"status": "new",
|
||||||
|
"created_at": "2026-03-11T19:30:00Z",
|
||||||
|
"updated_at": "2026-03-11T19:30:00Z",
|
||||||
|
"description": "Session Context Snapshots & Visibility: Tying files/screenshots to active session, saving Context Presets, MMA assignment, and agent-focused session filtering."
|
||||||
|
}
|
||||||
24
conductor/tracks/session_context_snapshots_20260311/plan.md
Normal file
24
conductor/tracks/session_context_snapshots_20260311/plan.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Implementation Plan: Session Context Snapshots & Visibility
|
||||||
|
|
||||||
|
## Phase 1: Backend Support for Context Presets
|
||||||
|
- [ ] Task: Write failing tests for saving, loading, and listing Context Presets in the project configuration.
|
||||||
|
- [ ] Task: Implement Context Preset storage logic (e.g., updating TOML schemas in `project_manager.py`) to manage file/screenshot lists.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Backend Support for Context Presets' (Protocol in workflow.md)
|
||||||
|
|
||||||
|
## Phase 2: GUI Integration & Persona Assignment
|
||||||
|
- [ ] Task: Write tests for the Context Hub UI components handling preset saving and loading.
|
||||||
|
- [ ] Task: Implement the UI controls in the Context Hub to save current selections as a preset and load existing presets.
|
||||||
|
- [ ] Task: Update the Persona configuration UI (`personas.py` / `gui_2.py`) to allow assigning a named Context Preset to an agent persona.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 2: GUI Integration & Persona Assignment' (Protocol in workflow.md)
|
||||||
|
|
||||||
|
## Phase 3: Transparent Context Visibility
|
||||||
|
- [ ] Task: Write tests to ensure the initial aggregate markdown, resolved system prompt, and file injection timestamps are accurately recorded in the session state.
|
||||||
|
- [ ] Task: Implement UI elements in the Session Hub to expose the aggregated markdown and the active system prompt.
|
||||||
|
- [ ] Task: Enhance the discussion timeline rendering in `gui_2.py` to visually indicate exactly when files and screenshots were injected into the context.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Transparent Context Visibility' (Protocol in workflow.md)
|
||||||
|
|
||||||
|
## Phase 4: Agent-Focused Session Filtering
|
||||||
|
- [ ] Task: Write tests for the GUI state filtering logic when focusing on a specific agent's session.
|
||||||
|
- [ ] Task: Relocate the 'Focus Agent' feature from the Operations Hub to the MMA Dashboard.
|
||||||
|
- [ ] Task: Implement the action to filter the Session and Discussion hubs based on the selected agent's context.
|
||||||
|
- [ ] Task: Conductor - User Manual Verification 'Phase 4: Agent-Focused Session Filtering' (Protocol in workflow.md)
|
||||||
28
conductor/tracks/session_context_snapshots_20260311/spec.md
Normal file
28
conductor/tracks/session_context_snapshots_20260311/spec.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Specification: Session Context Snapshots & Visibility
|
||||||
|
|
||||||
|
## 1. Overview
|
||||||
|
This track focuses on transitioning from global context management to explicit session-scoped context. It introduces transparent visibility into the exact context (system prompts, aggregated markdown, files, and screenshots) used in a session, allows saving context selections as reusable presets, and adds MMA dashboard integration for filtering session hubs by specific agents.
|
||||||
|
|
||||||
|
## 2. Functional Requirements
|
||||||
|
|
||||||
|
### 2.1 Context Presets & Assignment
|
||||||
|
- **Context Snapshots:** Users can save the current selection of files and screenshots as a named "Context Preset".
|
||||||
|
- **Preset Swapping:** Users can easily load a Context Preset into an active session.
|
||||||
|
- **MMA Assignment:** Allow assigning specific Context Presets to individual MMA agent personas, preventing all agents from having access to all files by default.
|
||||||
|
|
||||||
|
### 2.2 Transparent Context Visibility
|
||||||
|
- **No Hidden Context:** The Session Hub must expose the exact context provided to the model.
|
||||||
|
- **Initial Payload Visibility:** The aggregated markdown content generated at the start of the discussion must be viewable in the UI.
|
||||||
|
- **System Prompt State:** Display the fully resolved system prompt that was active for the session.
|
||||||
|
- **Injection Timeline:** The UI must display *when* specific files or screenshots were injected or included during the progression of the discussion.
|
||||||
|
|
||||||
|
### 2.3 Agent-Focused Session Filtering
|
||||||
|
- **Dashboard Integration:** Move the "Focus Agent" feature from the Operations Hub to the MMA Dashboard.
|
||||||
|
- **Agent Context Filtering:** Add a button on any live agent's panel in the MMA Dashboard that automatically filters the other hubs (Session/Discussion) to show only information related to that specific agent's session.
|
||||||
|
|
||||||
|
## 3. Acceptance Criteria
|
||||||
|
- [ ] Context selections (files/screenshots) can be saved and loaded as Presets.
|
||||||
|
- [ ] MMA Agent Personas can be configured to use specific Context Presets.
|
||||||
|
- [ ] The Session Hub displays the generated aggregate markdown and resolved system prompt.
|
||||||
|
- [ ] The discussion timeline clearly shows when files/screenshots were injected.
|
||||||
|
- [ ] The MMA Dashboard allows focusing the UI on a specific agent's session data.
|
||||||
Reference in New Issue
Block a user