FE-1664: Preserve Live Brunch recovery turns across repeated errors - #9746
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
|
cb421e3 to
bdaa04f
Compare
PR SummaryMedium Risk Overview After recovery completes, commentary is still withheld while status stays Two regression tests cover one-shot interruption with suppressed late results, and recovery surviving duplicate error updates through settlement. Reviewed by Cursor Bugbot for commit 5bbe1a9. Bugbot is set up for automated code reviews on this repo. Configure here. |
The base branch was changed.
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
bdaa04f to
5bbe1a9
Compare
🌟 What is the purpose of this PR?
Fix a case where a new voice request is dropped after Brunch reports an error. Repeated updates with the same error status currently interrupt the new request, even if its submission is already in progress.
The bridge should interrupt existing turns when Brunch enters
error, then allow later requests to recover normally.🔗 Related links
🚫 Blocked by
kostandin/fe-1664-land-voice-stack.🔍 What does this change?
error, rather than on every error update.ready.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
Only the private
@apps/petrinaut-websiteapplication changes, so no changeset is needed.📜 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 known for this fix.
🐾 Next steps
No further changes are planned as part of this fix.
🛡 What tests cover this?
The new tests check that entering
errorinterrupts pending work once and prevents its late result from being offered to Live. They also check that a recovery turn survives repeated error updates before and after admission, is offered exactly once afterready, and that a later transition intoerrorinterrupts again.The recovery test fails on the original implementation and passes with this fix. Local verification passed with Node 22.21.1 and Yarn 4.16.0:
lint:eslinttask uses type-aware Oxlint.git diff --check: passed.❓ How to test this?
Check out this branch and install dependencies.
Run the focused regression tests:
Run the website checks and formatting check:
📹 Demo
Not applicable. This changes internal turn handling, with no visual changes.