v0.1.0 — Phase 1: single-node core
The first tagged release: a working, security-first vector database, end to end.
What's in it
- Storage engine from scratch — 16 KiB CRC'd pages, a write-ahead log, a versioned manifest (atomic
CURRENTswap), and crash recovery (kill-mid-write gate, 25×SIGKILL). - HNSW index + SIMD distance kernels (f32/i8, AVX2 + scalar fallback, runtime dispatch).
- REST + gRPC server with API-key auth; an embeddable
Database; payload filtering. - Encryption-at-rest, on by default — XChaCha20-Poly1305 over per-page/record HKDF-SHA256 subkeys, sealing segments, the manifest, and the record-framed WAL (audited RustCrypto only).
- TLS-in-transit —
rustlsoverring; non-loopback binds require it. - Retro TUI cockpit (
quiver tui), a Python SDK (sdks/python), anann-benchmarks-style harness (bench/), and a one-commandjust demo.
Benchmarks — SIFT1M recall@10 (HNSW M=16, efC=200)
| ef_search | 16 | 32 | 64 | 128 | 256 |
|---|---|---|---|---|---|
| recall@10 | 0.794 | 0.898 | 0.960 | 0.987 | 0.996 |
Recall is host-independent and valid. Throughput, memory (RSS — the headline), and the head-to-head vs Qdrant/LanceDB require dedicated reference hardware and are pending — never fabricated. See docs/benchmarks/.
Quality
just verify green; core-engine line coverage 92%; audited cryptography only; secure-by-default; no committed secrets.
Next (Phase 2)
Disk-resident DiskANN/Vamana + quantization (the memory-frugality headline), the MCP server, and the TypeScript SDK.