fix(omnivoice): reject explicit diarizer gate-order skew#40
Merged
lalalune merged 1 commit intoJul 3, 2026
Merged
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 |
lalalune
added a commit
that referenced
this pull request
Jul 3, 2026
…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
pushed a commit
to elizaOS/eliza
that referenced
this pull request
Jul 3, 2026
…tifact republish (#11377) The DER-1.000 over-segmentation signature was pure LSTM gate-order skew between diarizer GGUF artifact and reader (proven bit-for-bit in both directions in the rebake-confirm evidence). Cutover, in the safe order: - bump plugins/plugin-local-inference/native/llama.cpp to fork commit dda200ab0 (elizaOS/llama.cpp#40 + #41, both merged): vendored voice_diarizer.c now unpacks gates as IFGO (matching the packages-side converter/reader) and carries the #11569 fail-closed guard — artifacts without converter_epoch>=2 + lstm_gate_order=IFGO are rejected loudly before tensor load instead of silently scrambling. Descendant of the prior pin 58c0391eb, so the #11612 Metal fixes are retained. - add diarizer 0.3.0 to VOICE_MODEL_VERSIONS: new HF file voice/diarizer/pyannote-segmentation-3.0-ifgo-epoch2.gguf (sha 100a5dbf…, HF commit a89e5615, elizaos/eliza-1). The 0.2.0 IOFC artifact stays published for older fused libs. - prefer the epoch-2 filename in the workbench / attribution-smoke probe candidate lists. - evidence: .github/issue-evidence/11377-diarizer-ifgo-cutover/ (DER 1.000 -> 0.211 fixed pairing, loud guard rejection of the published IOFC artifact, kokoro/asr no-regression lanes) + preserve the rebake-confirm bundle referenced from the issue thread. Closes #11377 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lalalune
added a commit
to elizaOS/eliza
that referenced
this pull request
Jul 3, 2026
…tifact republish (#11377) (#11796) The DER-1.000 over-segmentation signature was pure LSTM gate-order skew between diarizer GGUF artifact and reader (proven bit-for-bit in both directions in the rebake-confirm evidence). Cutover, in the safe order: - bump plugins/plugin-local-inference/native/llama.cpp to fork commit dda200ab0 (elizaOS/llama.cpp#40 + #41, both merged): vendored voice_diarizer.c now unpacks gates as IFGO (matching the packages-side converter/reader) and carries the #11569 fail-closed guard — artifacts without converter_epoch>=2 + lstm_gate_order=IFGO are rejected loudly before tensor load instead of silently scrambling. Descendant of the prior pin 58c0391eb, so the #11612 Metal fixes are retained. - add diarizer 0.3.0 to VOICE_MODEL_VERSIONS: new HF file voice/diarizer/pyannote-segmentation-3.0-ifgo-epoch2.gguf (sha 100a5dbf…, HF commit a89e5615, elizaos/eliza-1). The 0.2.0 IOFC artifact stays published for older fused libs. - prefer the epoch-2 filename in the workbench / attribution-smoke probe candidate lists. - evidence: .github/issue-evidence/11377-diarizer-ifgo-cutover/ (DER 1.000 -> 0.211 fixed pairing, loud guard rejection of the published IOFC artifact, kokoro/asr no-regression lanes) + preserve the rebake-confirm bundle referenced from the issue thread. Closes #11377 Co-authored-by: Shaw <shawgotbags@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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 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
lstm_gate_ordermetadataIOFC) before tensor loadValidation
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=0)git diff --checkNote: the focused build still emits pre-existing
-Wdouble-promotionwarnings in vendored voice classifier math, but the target builds successfully. CTest did not discover tests withLLAMA_BUILD_TESTS=OFF, so the new test binary was run directly.Issue
Progress toward elizaOS/eliza#11377. This is the pinned-fork safety guard for the current IOFC reader. It does not perform the later coordinated IFGO reader sync + epoch-2 artifact republish step.