FAQ¶
Each answer points to the page or issue that backs it. If your question is not here, open an issue or ask in Discussions.
Is the document search actually holographic?¶
No. Document search chunks text, scores it with stemmed BM25 and exact cosine over embeddings you supply, and fuses the two lists. It does not rank with hypervectors. The holographic part is the vector-symbolic layer: the meaning memory, composition, sequences and the experimental vector index. What "holographic" means here lists which is which and shows how to check it in the code.
Do I need embeddings?¶
No. Text search works from the text alone, with stemmed BM25. Supply an embedding per chunk and HMS also scores exact cosine and blends the two, which is where it can beat a lexical engine on paraphrases. The quickstart runs both ways.
Why does the Python package need a server?¶
holographic-sdk is an HTTP client for hms-server. The server wraps one store per tenant and holds the engine, so the Python process stays small and the store has one writer. The holographic-vsa wheel on PyPI is a different thing, the quantized-phase vector substrate, and does not include document search. See the server page.
Does it send anything over the network?¶
The library makes no network calls and sends no telemetry. Two opt-in Cargo features touch a network: server listens for HTTP requests, and provenance-scitt uses an HTTP client to submit signed statements to a transparency service you configure. Neither is on by default (default = []).
Is my data encrypted on disk?¶
Only if you turn it on. The security feature adds AES-256-GCM with an Argon2id-derived key. What the encryption covers, and what a stored hypervector still reveals, is on Privacy limits; read it before relying on encryption at rest.
Opening an encrypted store with the wrong passphrase says "cannot replay arena frame at 0"¶
That is the current error: the real cause, an authenticated-decryption failure, is wrapped in the replay context. It means the passphrase is wrong or the store is damaged. A clearer message is tracked in issue 91.
How many items fit in one bundle?¶
There is no single safe number. The capacity depends on the dimension and density, and the false-positive rate climbs well before the bundle saturates. The capacity page reports what was swept, where the sweep stops, and that earlier "hard wall" figures were wrong and are retired.
Where does HMS lose?¶
The benchmark pages say so next to the wins. On vector search the sparse vector path is far below exact search on recall, and the quantized graph index does not reach 0.95 recall@10 on nytimes-256 where FAISS, hnswlib, Lucene and RaBitQ do. On SciFact the hybrid search is the best HMS configuration. Start at Public benchmarks.
Which Rust version do I need?¶
Rust 1.89 or newer (the MSRV). Node 22 or newer for the bindings, and Node 24 for the quickstart, which uses node:sqlite.
Why is npm run build changing index.d.ts?¶
The napi build regenerates it, and the file is both tracked and listed in .gitignore. Do not commit that diff by accident. The cleanup is tracked in issue 104.
Why do the docs have three versions?¶
latest is the newest tagged release that carries these docs, dev is the main branch, and each release tag keeps its own copy. The selector in the header switches between them, and an old version shows a banner. How the docs are built explains it.
Which license is it under?¶
Apache-2.0. There is no CLA; you certify your right to contribute with a sign-off on each commit. See Contributing.