fix(server): decouple session controls from Location startup - #45337
Open
kitlangton wants to merge 1 commit into
Open
fix(server): decouple session controls from Location startup#45337kitlangton wants to merge 1 commit into
kitlangton wants to merge 1 commit into
Conversation
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.
Why
Waiting for or interrupting a Session currently acquires its Location graph before reaching process-local execution. A cold or unavailable Location can therefore delay or block cancellation even though the active execution is already owned by this process.
What Changes
Only
session.waitandsession.interruptuse validation-only middleware. It shares the original ID decoder and existence lookup with Location middleware, but does not acquire filesystem, plugin, tool, or model services.interrupted: falsewithout booting its LocationActual drains still acquire their Location through SessionExecution. Tests exercise both
continuevalues, preserve queued prompts, and show that only real continuation constructs a replacement Location graph.Scope
No Core execution change. Prompt, synthetic, and compaction admission retain Location middleware and their event attribution. Includes Protocol/Server patch changesets; client regeneration produces no diff. Independent of the manual-compaction refactor in #45335.
Verification
git diff --checkpassed.check:generatedreports an already-stale OpenAPI snapshot involving unrelated integration metadata, model reasoning, VCS, and streamed-timestamp fields. Regeneration contained no control-endpoint changes; that unrelated output is excluded. Client generation and its generated-file check pass without changes.