Debug interruptions that leave an agent speaking over callers
Trace speech onset, playback cancellation, response fencing and interrupted context as separate failure points.
Locate the boundary between recognized words and a completed caller turn before tuning voice latency.
Streaming recognition can emit useful text while a caller is still speaking. That partial text may change as more audio arrives, and it is not sufficient evidence that the caller has finished. Consider I want to change followed by a pause and my appointment. Starting an answer after the first fragment may feel fast in a metric while producing the wrong conversation. Keep separate timestamps for incoming audio, partial transcription, turn commitment and the first outgoing response. This vocabulary prevents a common debugging mistake: treating transcription speed as the entire turn-taking policy.
The current Lupin cascade uses Scribe v2 Realtime with manual commitment and gateway voice activity. Its partial-text policy distinguishes short acknowledgements, ordinary endings and apparent continuations. Checked code uses target windows of 320, 520 and 1000 milliseconds respectively, with conservative language-specific hints for French and English. These values describe the current policy, not a universal setting for every transport. Unknown phrases and languages retain the default behavior rather than inventing a semantic guarantee. Observe the actual target and silence metrics before changing a policy based on one difficult utterance.
An ASR language label helps interpret audio, but it does not establish that a caller changed their preferred response language or authorized a different action. Short words and names can be ambiguous across languages. A robust dialogue retains the authenticated preference unless the caller clearly requests a switch or the task requires clarification. When diagnosing fragmented transcripts, include mixed-language names and mid-sentence pauses in synthetic tests. Avoid assuming that a recognizer’s first confident language prediction remains correct for the rest of a bilingual conversation.
Lupin exposes gateway measurements such as commit-to-first-text and commit-to-audio-send, and provider diagnostics can include first-token or first-sentence intervals. These clocks cover different segments and can overlap. Adding them together can double count work, while subtracting them can invent a stage that was never measured. A missing handset delivery measurement remains missing. For a meaningful comparison, select the same interval, media mode and class of turn across runs. Report sample count and tail latency instead of promoting the fastest acknowledgement into a whole-call benchmark.
Build fixtures containing a one-word reply, a complete question, an unfinished conjunction, a long identifier and a correction after silence. Write down where the caller intends the turn to end before running the experiment. Review early cutoffs and excess waiting alongside median delay. A shorter window is useful only if it preserves enough speech to answer correctly. Keep the previous policy and its results so changes can be reversed if the error rate rises. The objective is responsive conversation with complete intent, not simply the smallest interval in an isolated timing panel.
Use one fixture ending I would like to and another ending Please move it to Wednesday. The first should preserve room for continuation; the second should complete normally. Track both excess waiting and early cutoff. Holding the audio conditions steady makes this a policy comparison rather than an uncontrolled comparison between callers.
Reviewed against current checked-in Lupin routes, shared contracts and official provider references. No live calls, OAuth authorizations, app actions or purchases were performed.
Prepared with AI assistance by Lupin editorial. How we research and maintain these guides.