Skip to content

feat(session): branch from earlier user prompts - #115

Open
danielkov wants to merge 2 commits into
feat/transcript-navigationfrom
feat/transcript-prompt-branches
Open

feat(session): branch from earlier user prompts#115
danielkov wants to merge 2 commits into
feat/transcript-navigationfrom
feat/transcript-prompt-branches

Conversation

@danielkov

Copy link
Copy Markdown
Contributor

Summary

Add /branch to 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant