feat(session): branch from earlier user prompts - #115
Open
danielkov wants to merge 2 commits into
Open
Conversation
danielkov
force-pushed
the
feat/transcript-navigation
branch
from
September 5, 2026 23:27
d57cc27 to
4fb7a29
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add
/branchto edit an earlier text prompt into a new session while preserving the original conversation. Checkout remains provisional until submission, and Escape restores the parked source view and draft.Motivation
Builds on the read-only transcript navigator in #110 with non-destructive continuation from earlier user prompts, including history retained before compaction.
Impact
Checkout requires settled source work and supports text-only prompts. It changes conversation context only: files, running processes, and external effects are not rolled back.
Technical details
Authoritative historical boundaries
Kit-specific ACP v2 list, prepare, and submit requests validate opaque addresses against source history and configuration. The child receives the exact prefix before the selected prompt, never a later summary substituted for missing context.
Durable, retry-safe creation
Versioned bootstrap metadata records lineage, submitted-request identity, and model configuration without changing the outer transcript format. A complete replacement record and branch-scoped disk barrier establish commit; retries recover the same child without duplicating the prompt or model execution.
Provisional client state
The TUI parks the source transcript, editor, and attachments, guards asynchronous results by activation epochs, and routes child replay before execution. The preserved source remains available through
/sessions.