Conversation
Pi can still be streaming after Pie has consumed the finish event. A follow-up was then rejected as "queued without an active server turn", so the UI froze while Pi ran the prompt unobserved.
commit: |
Owner
Author
|
auto-merge: no head: Fail closed on exclusions + no matching allowed group:
Din review-first; no merge. |
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.
Requirement
A follow-up sent while Pi still considered itself streaming, after Pie had already closed the turn, failed with
Pi queued a prompt without an active server turn. The UI froze. Pi kept running the prompt with nobody listening.Expected behavior
handledstill does not open a turn.Changes and risks
packages/serverprompt admission. The Pi RPC response now includesdisposition. No stored-data or wire-contract change for clients. An old child that omitsdispositionand returnsstarted: falsewhile idle is treated as queued and streamed.Verification
919aa344pnpm exec vitest run test/harness/pi/agent.test.tsinpackages/server: 24 passed.