v3.12.3
EvolvingLMMs-Lab/Aero-1v3.12.3Jun 17, 2026by ruvnet
AI Summary
Fixes a data quality regression where the MCP memory store was incorrectly emitting 128-dim mock embeddings instead of the expected 384-dim ONNX embeddings.
Key Highlights
- Fixed dimensional sanity check to detect and reject mock embeddings
- Backend labels now accurately reflect the actual embedding source
- Silent mock embedding corruption in similarity recall is resolved
New Features
- Mock embedding detection via hardcoded model name check
- Route to real ONNX chain when dimensions do not match expected model
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)