Skip to content

Add cascade interruptions and out-of-turn behaviors - #228

Draft
tara-bogavelli wants to merge 1 commit into
feat/cascade-user-simulatorfrom
feat/cascade-out-of-turn
Draft

tara-bogavelli wants to merge 1 commit into
feat/cascade-user-simulatorfrom
feat/cascade-out-of-turn

Conversation

@tara-bogavelli

Copy link
Copy Markdown
Collaborator

Adds opt-in interruptions, backchannels, and speculative interruption generation to the cascade simulator in #214. This draft targets feat/cascade-user-simulator; its diff contains only the experimental layer so the base can merge while behavioral testing continues.

Includes goal-aware listener checks, transcript-change gating, one interruption per assistant turn, relevance checks for pre-generated candidates, shared phrase-audio caching and localization, and listener/interruption diagnostics. Tick-driven barge-ins discard unheard buffered audio and request provider truncation at the played position. All behavior flags default off; self-correction remains removed.

Validation:

  • pytest tests -q: 2,287 passed, 52 skipped, 3 xfailed, including the inherited full-loop tests with behavior flags off.
  • pre-commit run --all-files: passed.
  • With all flags enabled, bounded Pipecat debug run produced three ordinary caller turns and one interruption; OpenAI Realtime produced two ordinary caller turns, one interruption, and one backchannel.
  • Both runs reached the 90-second conversation limit. Final speech-fidelity validation failed because the configured Vertex credentials could not be loaded. These smoke runs exercise the paths but do not establish end-to-end behavioral quality.
  • Compared the reconstructed stack against the saved original implementation integrated with current main: production Python behavior is preserved, apart from the intentional simulation-version change. Added documentation and shared regression coverage are retained.

After #214 merges, rebase only this PR's commit onto main and retarget this PR, especially if the base is squash-merged.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant