Repository navigation
Conversation
…guous stream frames
…lete local MLX transport
…r incomplete status
…successful local voice reply
…y integration evidence
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.
Fixes a production-path gap in the local MLX voice runtime: previously a transport-complete, partial assistant text could reach TTS and persisted assistant history even if the generation had no verified finish reason, was content-filtered/tool-directed, carried an explicit failure, or appended another response after a "stop" marker.
Implementation, stacked strictly on draft #30:
finish_reason="stop"before a reply can be returned toAldenVoicePipeline. Preserve explicit length-truncation handling; refuse missing/unknown, content_filter, tool_calls, function_call, failed/incomplete/cancelled states and explicit error payloads.[DONE]; reject injected post-stop content/duplicate terminal frames and tool-call fragments. Permit a subsequent usage-only frame (choices=[]) without creating an extra answer.AldenVoicePipeline.process_text,LocalMlxLlm,AbortToken, and local SQLitevoice_messageswith only the provider socket and audio hardware faked. Confirm rejected model text is never spoken or persisted, the confirmed user input remains, duplicate event IDs cannot replay, and the next valid turn retains its ID/context attribution.Verified: macOS Actions #38072362981, exact CI source
b83ac5c34481ac827fa75a5862245658bb393e38: 175 tests, 169 passed, 6 skipped because this focused runner lacks NumPy. The implementation/test Git blob SHAs match this CI branch exactly. Earlier CI failures 38072109129 and 38072289600 exposed fixture assumptions that missing completion was accepted as success; fixtures were made explicit rather than relaxing the new production completion rule.Technical contract, dated evidence and required Mac recovery steps.
Explicit limitations: No valid Core native turn_token or desktop Mac Computer Use channel has been provided to this turn. Therefore the user's designated Mac clone, goal-objective.md, outputs/STATUS.md, installed app and live model/STT/TTS sessions could not be accessed or changed. Remote synthetic macOS CI is not a physical device test, product model swap, notarized release or production deployment. PR #27-#30 remain open draft and unmerged.