1.8 KiB
1.8 KiB
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.