Don't mark a transfer complete when the transferred leg arrives

A transferred leg showing up in the caller's room proves only that the move succeeded. Two failures followed from treating arrival as completion. On Daily, the bot ended its side at arrival, the rep's leg dropped seconds later, and the caller was cut off while the record said "transferred". On LiveKit, the participant move ran milliseconds after "media ready", which only means an unmuted track exists, and neither side could hear the other. Never write "transferred" when the transfer starts. Complete it only after the leg survives a short stability window with verified audio in both directions, or after a first verified utterance from the outbound leg. Record a drop inside the window as unavailable. Also, after a SIP transfer, Daily's consultation room emits a generic "busy or did not answer" stop for the moved leg.

Applies when: a voice agent records transfer outcomes or ends its own leg after moving a human into the caller's room. Keywords: warm transfer false completion LiveKit MoveParticipant Daily sipCallTransfer dial-out stopped stability window audibility