feat(voice): add scoped Live Voice work sessions - #1161
Merged
Merged
Conversation
Add a main-process-owned Live Voice lifecycle with provider adapters, scoped microphone access, media transport, and renderer controls. Persist compatible settings and document the protocol so sessions can be configured without changing dictation behavior.
Replace the Composer Dictation surface with Live Voice while preserving stored Dictation settings. Align the call panel with shared surfaces and connect the existing configurable voice shortcuts to the call lifecycle. Escape now cancels only an in-progress startup, and the shortcut settings and specs describe the Live Voice behavior.
Include the current main base in the Live Voice candidate before updating its pull request.
Refresh the shared Live Voice branch against the current target before the remote update, preserving the public PR history. This brings the candidate forward without rewriting the existing branch.
Keep spoken work inside the selected Desktop session and Host queue rather than creating a parallel agent path. Preserve request and turn identity so admission, cancellation, and stop controls stay scoped to the originating call.
Complete the second-phase selection and feedback paths while keeping the call bound to its original work session and gating speech on activity. Record the verified scope and remaining acceptance gaps with regression coverage.
Keep composer integration fixtures representative after the latest-main merge added the Live Voice toolbar control and plugin preload listeners. Refresh delivery evidence with the validated integration base and workspace results.
The protocol codecs and Host admission had separate evidence, which left the work handoff difficult to review. Add one deterministic fixture for each Live profile and record the exact W2 coverage boundaries so the remaining gaps stay visible.
The evidence report still described the remote checks as pending after they had completed. Record the exact checked code head and separate those results from the manual provider and device journey that remains unrun.
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.
Summary
Candidate
codex/live-voice-v10a08b2873a3eorigin/main:8fcca3d25c98, included through merge commit4afe31c4a317;pnpm check:pr-basepasses.Validation
node --test test/live-work-provider-integration.test.mjs(fromapps/desktop): 4 passed.pnpm -r --if-present test: all workspace suites passed; desktop 3,173 and docs 11 passed.pnpm build:js,pnpm --filter @pi-desktop/desktop typecheck, andpnpm lint: passed.pnpm docs:check: passed; 83 English/Chinese specification pairs and 530 pages verified.cargo fmt --check,cargo test -p host-core --locked(670 passed), andcargo clippy -p host-core --all-targets --locked: passed.pnpm check:agent-policy,pnpm check:pr-base, andnode scripts/check-architecture.mjs: passed.Acceptance limits
NOT RUN. No real provider credentials or paid endpoints were used. Merged as902d41ad1a76.