v3.25.1
ruvnet/ruflov3.25.1Jul 5, 2026by ruvnet
AI Summary
Corrects the Lattice embedder issue by renaming it to a generic seam and adds an enforceable 'no-stub' mode to prevent silent failures.
Key Highlights
- Renamed WASM embedder to a generic, opt-in seam (no default package)
- Enforceable 'no-stub' mode via RUFLO_REQUIRE_REAL_EMBEDDINGS=1
- Fail-closed behavior for missing embeddings
- De-Lattice to remove references to non-existent packages
New Features
- Generic WASM embedder seam
- Enforceable no-stub mode
- Fail-closed embedding resolution
Full Release Notes
## ruflo 3.25.1 — De-Lattice + enforceable no-stub mode A correctness/honesty patch over 3.25.0. - **De-Lattice the WASM embedder tier.** `@ruvector/lattice-wasm` does not exist (npm 404). The tier is renamed to an honest, **opt-in generic WASM-embedder seam**: no default package (no 404-by-default), **inert** unless `RUFLO_EMBED_WASM_PKG` points it at a real wasm-bindgen embedder. Fail-closed; embeddings resolve to ruvector ONNX exactly as before. - **Enforceable "no more stubs."** `RUFLO_REQUIRE_REAL_EMBEDDINGS=1` makes every hash last-resort **throw loudly** instead of silently returning a semantically-meaningless vector — across `neural-tools`, `vector-db`, `memory-initializer`. Off by default (unchanged degrade behavior). Additive · backwards-compatible · fail-closed · zero-regression. `npx ruflo@latest`. 🤖 Generated with [RuFlo](https://github.com/ruvnet/ruflo)