Repository navigation
Preserve Claude session identity across attaches and recovery - #877
Merged
Merged
Conversation
Adapted from f2ad589, preserving create-time native identity in the attach and lease fixtures.
…aiting session frames
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.
Claude and Kilroy panes now receive their durable UUID and saved launch settings before create succeeds. Attaching another page acknowledges the canonical conversation only to that requester. Sends, attaches and controls share one recovery path, preserving settings, turn ordering and attention across a dead runtime.
Quiet active turns can become stuck, with pending approvals pausing the timer. Recovery stops the exact runtime, waits for its acknowledgement, and resumes the same conversation; hosted runtimes retain the supported fallback. Delayed control responses and replacement runtimes are fenced by their captured ownership identity.
Validation:
c733ccef6: formatting, workspace Clippy, TypeScript typecheck; 5,264 Rust tests passed across the eight affected crates and dependents, 8 existing ignored. This includes pinned real Claude CLI crash, zero-turn restart and hung MCP recovery cases.c733ccef6161: 8/8 passed on their first attempts, covering recovery/control (4), restart/reconnect (2), and attention replay (2). Both shards passed (4 + 4); no skipped specs or empty selectors.