Repository navigation
FE-1800: Simplify Live filter stages and remove unused voice history state - #9921
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
PR SummaryLow Risk Overview Utterance pipeline: Each filter stage now declares its skip Voice mediation history: The unused Live conversation: The comment on failed WebRTC Reviewed by Cursor Bugbot for commit 0d155e7. Bugbot is set up for automated code reviews on this repo. Configure here. |
kostandinang
left a comment
There was a problem hiding this comment.
Nice improvement.
- Agreed
anchorOnlyis safe to drop; nothing onmainever set it. - One fixed
reasonper stage means a stage can't return different reasons anymore. That's fine today, but the TypeSafe gate in #9816 has several outcomes. If we move it into the pipeline later, would you add one stage per outcome? - #9899 adds a stage using the old
name/skipshape. I'll update it on my side.
I'd keep it as one step that returns its category, not one stage per outcome. So one judge call per stage. #9816 runs it after the synchronous stages, and moving it inside would make the pipeline async, which reshapes the stage type anyway. Until then every stage has exactly one, so the fixed reason fits, I think. |
🌟 What is the purpose of this PR?
This PR settles four optional review follow-ups from the merged Live voice stack. Live voice behaves the same. One development trace changes shape:
filter.shadownow records only the skip reason, because the stage name always matched it. The other changes remove unused history state, merge two tests with the same setup, and correct a comment that called load-bearing audio sampling optional.🔗 Related links
UtteranceStage.namefollow-upanchorOnly, whose only writer moved to the Voice steering work in FE-1789: Experiment with end-to-end Brunch Voice steering #9826🔍 What does this change?
skipscheck returns a boolean.filter.shadowtraces carryinputIdandreason, without the duplicatestagekey. The website README's speaker-echo check now refers toreason.VoiceMediationHistorydrops theanchorOnlyturn field. Nothing onmainor in FE-1789: Experiment with end-to-end Brunch Voice steering #9826 sets it. Saved browser history still loads, because the schema strips unknown keys.startedDuringOutputandliveOutputTextfor a muted speaker and zero volume. It replaces two tests that built the same speaker matrix.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
None. Traces recorded before this change also carry
reason, so earlier speaker-echo sessions still compare with new ones.🐾 Next steps
The speaker-echo check still has to show what GPT-Live does while a deferred delegation stays open (#9862). The result decides whether deferred delegations need a timeout.
🛡 What tests cover this?
use-voice-mediation-history.test.tspass: 540 tests.mainreports the same 15 type errors. CI runs the full checks.❓ How to test this?
apps/petrinaut-website, runyarn vitest run src/main/app/voice-interview.[Petrinaut Live trace], and let speaker echo produce a phantom. Itsfilter.shadowlines showreasonand nostage.