Repository navigation
End a requested cascaded reply's conversation with the user, not the assistant - #277
Merged
MikeAlhayek merged 1 commit intoOct 19, 2026
Conversation
…assistant A reply nobody spoke to ask for, such as a prompt after a silence, can follow the assistant's own last line, so the conversation the chat leg was given ended with the assistant. Models that do not continue an assistant's message refuse that. On a CrestApps.OrchardCore phone call with claude-haiku-5-5 as the chat leg, both "are you still there" prompts failed with "This model does not support assistant message prefill. The conversation must end with a user message." For a requested reply whose conversation ends with the assistant, a short user turn now says the user has said nothing new, and the reply is written as the request's instructions say. A requested reply with no history, such as the opening line, and every reply to the user are unchanged. Test: SendAsync_ResponseRequestAfterTheAssistantsLine_EndsTheConversationWithTheUser.
MikeAlhayek
added a commit
to giannik/CrestApps.Core
that referenced
this pull request
Oct 19, 2026
Keeps both cascade changelog entries after CrestApps#277.
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.
Fixes #275
A reply the caller asks for right after the assistant's own line no longer sends the chat leg a conversation that ends
with the assistant, which models without assistant prefill (Claude 5.x) refuse.
Changes
CascadedRealtimeSession.ConversationFor: for a requested reply (response.create) whose conversation endswith an assistant message, a short user turn follows it: "(The user has not said anything new. Reply as your
instructions for this reply say.)" The text is
CascadedRealtimeSession.NothingNewFromTheUser.core/realtime-voice.md, on requested replies;Tests
SendAsync_ResponseRequestAfterTheAssistantsLine_EndsTheConversationWithTheUser: after a reply to the user, arequested reply's conversation ends with the user turn, right after the assistant's line. The existing
SendAsync_ResponseRequest_IsSpokenWithoutATranscript(no history, no user message) still passes.On our fork, the realtime tests pass, and so does the full test project, except the 2 known failures under a Greek
locale.
Verified on a live call
The call ran through CrestApps.OrchardCore's voice agent on Telnyx, on a cascade of Deepgram
nova-3,claude-haiku-5-5and ElevenLabseleven_flash_v2_5.🤖 Generated with Claude Code