[Fix] Voice doubles and misorders replies to small talk - #2541
Merged
Conversation
#2490 made GPT-Live delegate every utterance to Fast, greetings included, and forbade it from answering anything itself. On a real call that doubled the replies (the voice still answered, then read Fast's answer for the same greeting seconds later) and made the transcript read out of order, since a five-second Fast turn for "hi there" lands after the next question. It also turned the silence backstop into a Fast submission and latched the call into fallback-only mode after a single missed delegation. This restores the previous policy: greetings, thanks, reactions, and small talk stay with the voice and are recorded as heard and spoken turns; anything about code, tools, data, or the product goes to Fast. Two parts of #2490 are kept because they address the real problem it targeted: a grounding policy that forbids the voice from claiming it checked anything or stating how any product, repository, or tool works without backend commentary, and the "unverified" tag on direct voice words in Fast's history.
Contributor
|
No new code issues found. See task
Reviewed 3712896 |
The three-second window after a small-talk flush dropped any delegation that arrived with nothing transcribed yet, including the delegation for the next request when GPT-Live emits it before that request's first transcript delta. The request was then filed as small talk and never reached Fast. A delegation that arrives with nothing transcribed now waits: speech arriving settles it as the next request's delegation, and only silence for three seconds drops it, so a late delegation for already-flushed small talk still cannot attach to a later request.
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.
What changed
voiceDirectUnverifiedtag plus history note on direct voice words so Fast does not treat them as facts.Why this change was made
On a real call, "Hi there" and "How's it going?" each started a Fast turn, and the voice answered the greeting itself anyway. Each greeting produced two or three assistant lines, with Fast's answer read out five seconds later, after the next question had already been asked. The transcript looked out of order and the assistant appeared to respond several times in a row. The invented-facts problem #2490 targeted is real, but it is a grounding problem, not a routing one; the grounding rule is kept.
Impact
Small talk is answered instantly by the voice with nothing written by Fast. Substantive requests behave as before. Direct voice words remain flagged as unverified in Fast's history.
Verification
Voice hook, transcript, server, and command suites pass (109 tests); web typecheck and residual ESLint clean. Reconstructed the misordered session from its persisted rows to confirm the cause.