Repository navigation
FE-1828: Add interview length controls to Brunch - #9894
Open
kostandinang wants to merge 44 commits into
Open
kostandinang wants to merge 44 commits into
kostandinang wants to merge 44 commits into
Conversation
Carry the current allowance alongside immutable Flue birth data, preserve Off requests, and keep budget context separate from human evidence and transcript display. Co-authored-by: Amp <amp@ampcode.com>
Count canonical replies against per-mode allowances, show question-derived estimates, and carry level changes into Live sessions without interrupting speech. Keep budget notes visible in both modes and remove retired sweep formatting. Co-authored-by: Amp <amp@ampcode.com>
Restore the compact colored picker, hover previews and quiet estimate with a focusable detail card. Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
…cript note Co-authored-by: Amp <amp@ampcode.com>
The trigger remounts when its tooltip is re-enabled on close, so the Popover's focus return landed on a detached button and keyboard users were left on the page body. Co-authored-by: Amp <amp@ampcode.com>
A note anchored to the pending user message vanished when canonical history replaced that message with a new id. Fall back to the anchor's position among messages of the same role. Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Amp <amp@ampcode.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 4 Skipped Deployments
|
Co-authored-by: Cursor <cursoragent@cursor.com>
…budget Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # apps/petrinaut-website/src/main/app/local-storage-demo/brunch-panel-transport.ts
Co-authored-by: Cursor <cursoragent@cursor.com>
…budget Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # apps/petrinaut-website/src/main/app/local-storage-demo/local-storage-demo-app.tsx # apps/petrinaut-website/src/main/app/voice-interview/live-conversation.test.ts # apps/petrinaut-website/src/main/app/voice-interview/live-conversation.ts # apps/petrinaut-website/src/main/app/voice-interview/voice-interview-control.tsx
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b25edb6. Configure here.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🌟 What is the purpose of this PR?
Add experimental Interview length controls to Brunch Chat and Voice, so people can choose how much questioning to do before wrapping up. Minutes are an estimate derived from replies remaining, not a timer.
🔗 Related links
🚫 Blocked by
support-desk-staffingpersona at Quick, Standard and Thorough and verify observed question counts. Real-model adherence is not yet verified.🔍 What does this change?
submissionContextoption and a single version-two envelope that it bounds (plain JSON object, finite numbers, depth and size limits) but never interprets. Diagnostics-only bodies stay byte-identical on version one, and the transport's dependency rules are unchanged.interviewBudgetContextKey,interviewBudgetSchema,parseInterviewBudgetand the instruction it mounts. The Brunch app reads the key from the current delivery; an absent or malformed allowance means Off. The allowance is no longer copied into creation-onlyinitialData. The model is told the level, cap and questions remaining, never minutes; minutes are website UI only.session.thinking.appendupdates, with a non-interrupting warning if an update fails. Keepinstructions.appendreserved for existing failure redirects.renderComposerStatus,renderSystemMessage, andinputModein the composer control context. Petrinaut describes no interview-length behaviour.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
@hashintel/petrinautdescribing only the new generic slots. The Brunch packages are private.📜 Does this require a change to the docs?
apps/petrinaut-website/docs/interview-length.md, linked from the website README. Petrinaut's model-visible guide (libs/@hashintel/petrinaut/docs/) is unchanged, so the stock assistant never reads about this website Labs feature.🕸️ Does this require a change to the Turbo Graph?
petrinaut-contextual-user-message:v2with awordspayload. Both cannot merge as written; FE-1834: Teach Brunch voice agent custom words #9899 should carry its words assubmissionContext.wordsin this envelope instead of adding a transport option and validator.apps/brunch-agent'sprovider-accounting.test.ts("two real processes cannot interleave ledger transactions") fails locally on this branch with or without these changes.🐾 Next steps
🛡 What tests cover this?
Fresh local checks on the PR head:
ai.test.tspassed, stock prompt contract unchangedTests cover submission-context bounds and version-one byte equality, Off request serialization and instruction equality, malformed allowances falling back to Off, mode-specific caps, canonical counting across wrap-up and reload, level changes, transcript projection, Labs preferences and quiet Voice updates. Browser checks cover picker interaction, keyboard focus, progress text, compact notes and the collapsed dock height.
❓ How to test this?
yarn dev:brunch.📹 Demo
interview-length-demo.mp4