v1.0.1 — memory is now opt-in
⚠️ Behavior change: memory is now opt-in (default off)
The v1.0 server-side memory subsystem is now optional and off by default, gated twice. Inference is unchanged — this release only puts memory behind opt-in gates so the standard build is lean again.
- Build it in:
cargo build --release --features memory(the defaultcargo build --releasestays lean and pulls in neither SQLiteGraph nor the ONNX embedder). - Turn it on:
vulkanforge serve --model … --memory(orVULKANFORGE_MEMORY=1). - Off by default: without
--memory,/memory/*returns 503 and the server runs inference only — no embedder load, no database opened, so an inference-only run carries zero memory overhead. - Clear errors: passing
--memoryto a lean binary fails fast with arebuild with --features memorymessage, before the model loads.
Cost & toolchain
- Lean default ~25 MB again;
--features memoryadds ~34 MB (static ONNX Runtime + bundled SQLite) → ~58 MB. - rustc floor: the lean build still works on Rust 1.85+;
--features memoryneeds Rust 1.89+ (the edition-2024sqlitegraphdeclaresrust-version = 1.89;ortdeclares 1.88).
Docs
Full opt-in documentation sweep — see the wiki's Memory page (what it is, what it isn't, enabling, how it works), plus updated Installation / Usage / Configuration / Hardware & Compatibility / Troubleshooting.
Validation
Lean default build (the shipping default): lib 306/306, correctness 83/83, regression 26 (+1 ignored); cargo tree carries none of sqlitegraph/fastembed/ort/rusqlite. --features memory: memory integration tests 6/6. No inference-path change.
Versions: engine 1.0.0 → 1.0.1; vf-clide unchanged at 0.3.1. Built/verified on Mesa 26.1.2-arch2.1 (RX 9070 XT).