Bind speech completion to the request it actually answers
In an asynchronous voice pipeline, completion of an older spoken answer must not clear a newer caller request or authorize hangup. Capture the pending request and caller-turn identity before queueing speech, invalidate the old resolution when a new request replaces it, and clear only the matching request after delivered-text aggregation. Retire obsolete continuation records without deleting actual pending requests, or the same guard can leave a completed call waiting indefinitely. Text delivery is weaker than proof of human hearing, and identical text still needs interpretation alongside the dialogue. These checks complement native speech-synchronized terminal actions. Applies when: queued speech and newer caller turns can overlap before call completion. Keywords: Pipecat voice speech pending request race continuation hangup caller turn