Skip to content

feat(session): continue from safe assistant and tool boundaries - #116

Open
danielkov wants to merge 3 commits into
feat/transcript-prompt-branchesfrom
feat/transcript-continuation
Open

feat(session): continue from safe assistant and tool boundaries#116
danielkov wants to merge 3 commits into
feat/transcript-prompt-branchesfrom
feat/transcript-continuation

Conversation

@danielkov

Copy link
Copy Markdown
Contributor

Summary

Extend /branch to continue after committed assistant messages and tool-result boundaries, in addition to editing earlier user prompts. Assistant and tool checkpoints retain the selected item and open an empty draft for the next user message.

Motivation

Builds on #115 toward message-level transcript navigation without discarding alternate futures.

Impact

Only a result that closes its complete tool-call batch is eligible; partial batches, orphan or duplicate results, and invalid ordering are rejected. Before-user checkout and its original-prompt prefill remain unchanged.

Technical details

Exact continuation prefixes

An ordered validator checks call/result structure without repairing, reordering, or borrowing later context. The existing historical address, provisional checkout, durable completion, and retry pipeline is reused without changing persistent lineage metadata.

Role-aware selection

The chooser labels User, Assistant, and Tool checkpoints and supports role filters. Roles are additive on the private response shape, with missing legacy values interpreted as User; preview text remains separate from the editable draft.

@danielkov
danielkov force-pushed the feat/transcript-prompt-branches branch from 1bd6d92 to 78fe3e2 Compare September 6, 2026 10:07
@danielkov
danielkov force-pushed the feat/transcript-continuation branch from 01f94dc to 71cd3b8 Compare September 6, 2026 10:29

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found. The changes look good to merge.

The unchanged upstream termination test sends SIGTERM to the shared test runner. Parallel connected authentication also subscribes through Stop and can therefore return Completed(None) instead of the shell exit status. Both tests are identical on main da42ba4, M2 78fe3e2, and the M3 restack.

Reproduce with the exact auth/signal pair: 20/20 failures before isolation, while each test alone and auth plus agent-exit pass 20/20. Re-execute only the signal sender in an exact-test child process, preserving real OS signal coverage without serializing authentication or changing production behavior. All pairs pass 20/20 afterward; bypassing isolation in the same binary reproduces 5/5 failures and restoring it passes 5/5.

Validation: three default-parallel TUI runs (375 tests each), full locked tests, fmt, and strict locked all-target/all-feature Clippy pass. This narrow upstream test-isolation fix stays on M3 so reviewed parent refs remain unchanged.
@danielkov
danielkov force-pushed the feat/transcript-continuation branch from 71cd3b8 to 6fa8e1f Compare September 6, 2026 13:13

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found. The changes look good to merge.

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