fix(omnivoice): sync vendored diarizer reader to IFGO + fail-closed epoch guard - #41
Merged
lalalune merged 2 commits intoJul 3, 2026
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…fail-closed epoch guard The vendored voice_diarizer.c still read pyannote LSTM gates in raw ONNX IOFC order (the original C-side #9460 fix) while the package-side converter moved the reorder converter-side and now bakes IFGO. Any artifact x reader packing skew silently scrambles the gates into the DER 1.000 over-segmentation signature (elizaOS/eliza#11377). - flip the LSTM gate unpack to I,F,G,O — matches packages/native/plugins/voice-classifier-cpp voice_diarizer.c on elizaOS/eliza develop (post-#11569) - port the #11569 fail-closed guard: require voice_diarizer.converter_epoch >= 2 and lstm_gate_order == "IFGO"; epoch-less legacy artifacts (the previously published IOFC bake) and explicit non-IFGO artifacts are rejected loudly before tensor load - extend the #40 metadata contract test to the fail-closed contract: epoch-2 IFGO clears the guard (reaches missing-tensor), explicit IOFC, epoch-less, and epoch-1 artifacts are all rejected with the exact guard message (stderr captured); metadata-only GGUFs padded to the 32-byte data alignment so the zero-tensor mapper accepts them Requires the coordinated epoch-2 IFGO artifact republish on HF (elizaos/eliza-1 voice/diarizer/) before this ships in a fused lib pin. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lalalune
force-pushed
the
fix/11377-ifgo-reader-sync
branch
from
July 3, 2026 03:08
7bf947c to
dda200a
Compare
lalalune
changed the base branch from
perf/kokoro-accelerate-blas
to
fix/11612-metal-nil-pipeline-recoverable
July 3, 2026 03:08
lalalune
merged commit Jul 3, 2026
ed88d61
into
fix/11612-metal-nil-pipeline-recoverable
12 of 45 checks passed
lalalune
added a commit
that referenced
this pull request
Jul 3, 2026
IFGO reader sync) into the main reconciliation develop's submodule gitlink advanced to dda200a while this reconciliation was in flight; fold the two diarizer commits in so main contains the full shipped lineage (elizaOS/eliza#11386). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 3, 2026
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
voice_diarizer.cLSTM gate unpack from raw ONNX IOFC to the converter's IFGO packing, matchingpackages/native/plugins/voice-classifier-cppon elizaOS/eliza develop (post fix(voice): reject stale diarizer GGUF gate order eliza#11569)voice_diarizer_opennow requires explicitvoice_diarizer.converter_epoch >= 2andlstm_gate_order == "IFGO"; epoch-less legacy artifacts (the previously published IOFC bake, sha30983eba…) and explicit non-IFGO artifacts are rejected loudly before tensor load instead of silently scrambling gates into the DER 1.000 signatureSequencing (elizaOS/eliza#11377)
This is step 1 of the coordinated cutover. Merging this alone is safe for the repo but a fused lib built from it will (correctly, loudly) refuse the currently published IOFC artifact — the eliza-side PR bumps the submodule pin and the manifest to a freshly published epoch-2 IFGO artifact in the same change.
Validation
cmake -B build-11377 -S . -DLLAMA_BUILD_OMNIVOICE=ON -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=ON -DBUILD_TESTING=ONcmake --build build-11377 --target omnivoice-test-diarizer-metadata -j./build-11377/bin/omnivoice-test-diarizer-metadata→omnivoice diarizer metadata failures=0git diff --checkcleanlibelizainference.dylibbuilt from this branch,speakeriso:realDER + guard rejection of the published30983ebaartifact) lands in the eliza-side PR evidence bundle.🤖 Generated with Claude Code