Mid-stream message aborts the in-flight turn and resends #43
Labels
No labels
in-review
ready-for-agent
ready-for-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
weiwen/evie#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
When the user sends a plain text/attachment message while a response is still streaming, abort the in-flight turn and answer the new message instead — with correct Telegram ordering.
Rationale (decided during grilling):
pi's nativesteernever interrupts the current generation and would render the continuation above the new user message in the timeline. Telegram can't reorder messages, so the only way to place the answer below the steering message is to abort the old turn, delete its answer, and send a fresh one below. Hence abort-and-resend rather than steer.Builds on the cancel primitive from the blocking issue.
End-to-end behavior:
pi's session history (its default onstopReason: "aborted"), so the new prompt runs with prior context; no history surgery.piprocess./clearhandling comes from the blocking issue;/help//startare untouched).Also update the docs that currently claim message queuing is "delegated to
piviastreamingBehavior: followUp" — that path is no longer exercised, since evie now ensurespiis idle (abort → drain) before every new prompt. Affected:DESIGN.md,CONTEXT.md,docs/adr/0001-rust-telegram-pi-rpc-stack.md.Acceptance criteria
pi; they describe evie's abort-and-resendBlocked by