The vector store is grounded's fast path to the evidence. At ingest every document is chunked and embedded, and the chunks land in a Qdrant collection keyed by a 384-dimension vector from a local bge-small-en-v1.5 model. At query time the question is embedded the same way and the store returns the top five chunks by cosine similarity, each one carrying its source, its heading, the text and a score.
Two things make it honest rather than magic. The embedding model runs on the box, so nothing leaves at ingest time and there is no key to hold; and Qdrant runs embedded by default, a local directory rather than a server, so the whole retrieval path works with no Docker and no network. Point QDRANT_URL at a running server only when you outgrow that.
What the store does not do is decide. It finds what is semantically near and reports how near with a cosine score. Whether "near" is near enough to answer from is not its call. That number travels on to the grounding gate, which reads it against a tuned floor and either lets the answer proceed or abstains. The store retrieves; it does not conclude.