Repository navigation
Add an opt-in full native speaker refinement worker - #1164
Draft
silverstein wants to merge 14 commits into
Draft
silverstein wants to merge 14 commits into
silverstein wants to merge 14 commits into
Conversation
This was referenced Oct 19, 2026
This branch has not been 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.
The existing Community-1 integration does not run the full reconstruction/PLDA/VBx pipeline evaluated in #1157. This adds that pipeline as an explicitly selected, separately built CPU worker (
engine = "speakrs"). The helper is not bundled, downloaded or selected automatically. Live capture and ASR keep their existing paths; this engine returns anonymous activity and refuses named enrollment and anonymous private-audio capabilities.The host binds an immutable executable and input digest, verifies a private local model snapshot, and supervises bounded stdin/stdout/stderr, cancellation, deadlines and process-tree retirement. The separate dependency graph pins Speakrs af8013f with CPU-only features. Linux uses system OpenBLAS, macOS Accelerate, and Windows pinned static OpenBLAS. CPU-native flags apply only to the unbundled helper built on its execution host. Compiled helper objects are not shared between runners.
Qualification remains incomplete. Current head
5ac299091b578404e98c5a2e09f39a9644bf1bb3incorporates release maind7d5bd43and is being tested in native run 39374677352. This draft is excluded from v0.30.6 and stays draft until its required gates pass. The current Linux job has completed and still fails the speed gate: 329.50 seconds / ratio 0.3491 on IS1008a. Quality, four-speaker count and input preservation pass, with DER 9.9478%. Cumulative timing reaches 57.127 seconds at segmentation completion, 314.974 at embedding completion and 315.028 at inference completion. All reported source, checker and manifest hashes match this exact head. Intel macOS also completed: 346.56 seconds / ratio 0.3671, with the same DER, four-speaker count and input-preservation passes, but a failed speed gate. Its cumulative timings are 25.779 seconds at segmentation, 316.948 at embedding completion, and 317.057 at inference completion; all source, checker and manifest hashes match this head. Apple Silicon and full Windows inference remain pending.The new diagnostics observe only the pinned pipeline's segmentation and embedding completion events. They publish fixed labels and bounded cumulative milliseconds; arbitrary messages, paths and audio are discarded. One already-seen Linux control reproduced four speakers, DER 9.9478% and an unchanged input. The interval from segmentation to embedding completion was 148.171 seconds, including decoding and preparation. That local run had concurrent Clippy work and is diagnostic characterization, not an isolated speedup measurement or complete platform qualification.
Source inspection also found that the Windows fence closed all non-stdio handles, including non-inheritable handles owned by the trusted runtime. The candidate preserves those runtime handles while retiring inheritable parent handles. Its isolated Windows regression requires real inherited process and file handles to be valid and inheritable before the fence, invalid afterward, and a separate runtime handle to remain usable. The actual Windows job has passed the helper regression step, including the inherited process/file handle canaries; full-recording inference remains pending. This does not establish the cause of the previous native access violation. The workflow now saves a completed pinned static BLAS build before a later inference failure, retaining its image/CPU/triplet/source cache identity.
Evidence from the previous tested revision is preserved: on
2c9c21ad, Apple Silicon passed all three complete AMI controls (ratios 0.1512, 0.1557 and 0.1569); Linux and Intel preserved quality/count/input but failed the first speed gate (317.33 seconds / 0.3362 and 370.90 seconds / 0.3929). Windows passed the silence smoke, then failed during full inference with0xC0000005; there was no completed engine result. No model parameter, memory/deadline cap or acceptance threshold has been relaxed.Local validation after updating to release main: strict feature-specific host Clippy, rebuilt model-free CLI, ten host tests, actual native-helper silence smoke, twenty Python controls (two optional skips), sixteen coverage-auditor tests, formatting, actionlint, packaging seals and generated-output checks. Whole-workspace Clippy passed on macOS at merged snapshot
be4c50d5, with all 64 changed files matching the Linux source exactly. The final follow-up strengthens the Windows-only test with a file canary and updates documentation; The Windows helper regression has now passed in native CI; full-recording inference remains pending. A Linux whole-workspace attempt reported unused-code lint errors in unchanged Tauri platform code; changed core and helper strict checks passed.Numeric receipts, exact source bindings and limits are in the integration investigation. These are already-seen regression controls. Real ASR alignment, multilingual/short-turn/similar-voice/headphone cases, named false positives, concurrent live latency and installed-app acceptance remain in the parent qualification work. No default-model or release change is included.