v3.12.3
ruvnet/ruflov3.12.3Jun 17, 2026by ruvnet
AI Summary
Fixes a data quality regression where MCP `memory_store` was emitting incorrect 128-dim mock embeddings instead of real 384-dim ONNX embeddings.
Key Highlights
- Data quality fix: Corrected MCP embeddings to use real 384-dim ONNX vectors instead of 128-dim mocks.
- Root cause: Fixed `bridgeGenerateEmbedding` logic to reject non-384-dim outputs and route to local generation.
- Semantic accuracy: Ensures backend labels now match actual data semantics.
Full Release Notes
## Bundled fix
### #2395 ā MCP `memory_store` emitted 128-dim mock embeddings (data quality regression)
**Symptom (per issue):** standalone CLI used real 384-dim ONNX embeddings, but the in-session MCP path persistently emitted 128-dim hash-fallback ("mock") embeddings ā silently corrupting similarity recall and wasting any benefit of vector memory.
**Root cause:** `bridgeGenerateEmbedding` returned `embedder.embed()` results labeled `backend: 'onnx'` unconditionally, even when AgentDB's vectorBackend controller silently fell back to a 128-dim hash stub. The stub didn't expose `isMock=true`, so the existing isMock check let it through with a wrong label.
**Fix:** dimensional sanity check. The hardcoded model name `Xenova/all-MiniLM-L6-v2` always produces 384-dim; anything else is definitively a stub. Return `null` from the bridge wrapper in that case so the caller falls through to `generateLocalEmbedding`, which routes via the real ONNX chain (transformers.js / ruvector).
Net: backend labels now match actual semantics, no more silent mock embeddings.
## Install
```bash
npx ruflo@3.12.3
# or
npm i ruflo@latest
```
All 3 packages Ć 3 dist-tags published in lockstep.
š¤ Generated with [RuFlo](https://github.com/ruvnet/ruflo)