v3.12.3

OpenBMB/MiniCPM-Vv3.12.3Jun 17, 2026by ruvnet

AI Summary

This release fixes a regression where the MCP `memory_store` was emitting 128-dim mock embeddings instead of the expected 384-dim real embeddings, corrupting similarity recall.

Key Highlights

  • Fixes dimensional sanity check for embeddings
  • Aligns backend labels with actual ONNX semantics
  • Prevents silent corruption of vector memory quality
  • Root cause: `bridgeGenerateEmbedding` returned wrong labels for stubs

New Features

  • Fix for mock embedding emission in vector memory
  • Backend label consistency correction

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)