Problem
Sessions in Alluka are linear. If a user needs to correct an earlier instruction, retry a decision with different constraints, or explore an alternative direction, the available choices are to continue with contaminated context or create a separate session manually. The original path and the revised path cannot coexist within one task.
This is a poor fit for agent work, where a single wrong assumption can cause many later tool calls and where preserving an auditable prior path matters.
Feature
Allow a user to edit a prior user message and create a conversation branch. A branch preserves the original continuation and creates a separate continuation from the edited instruction.
Users can navigate sibling branches, identify the currently active continuation, and keep each branch's messages and run history intact. Branching must be represented as session data, not only as a temporary UI state.
Expected behavior
- Editing a user message never deletes the original message or its continuation.
- The visible transcript is the active path through the conversation tree.
- Branch navigation is available at messages with multiple continuations.
- Starting a branch while a run is active has an explicit safe outcome; the system never leaves two conflicting continuations writing to the same active task state.
- Provider-specific continuation state is represented accurately after a branch changes prior context.
- Existing linear sessions remain readable and become a single default path without data loss.
Why this matters
Branching supports correction, comparison, and recovery inside one durable agent task. It also avoids encouraging users to duplicate agents merely to get a clean or alternative context.
Reference
Problem
Sessions in Alluka are linear. If a user needs to correct an earlier instruction, retry a decision with different constraints, or explore an alternative direction, the available choices are to continue with contaminated context or create a separate session manually. The original path and the revised path cannot coexist within one task.
This is a poor fit for agent work, where a single wrong assumption can cause many later tool calls and where preserving an auditable prior path matters.
Feature
Allow a user to edit a prior user message and create a conversation branch. A branch preserves the original continuation and creates a separate continuation from the edited instruction.
Users can navigate sibling branches, identify the currently active continuation, and keep each branch's messages and run history intact. Branching must be represented as session data, not only as a temporary UI state.
Expected behavior
Why this matters
Branching supports correction, comparison, and recovery inside one durable agent task. It also avoids encouraging users to duplicate agents merely to get a clean or alternative context.
Reference