OAKENMAIL
Pre-alpha

Retrieval

Search runs the keyword index and the vector store side by side and merges what they find. It returns references to messages, never an answer, and it keeps working when the vector side is down.

2

How it is measured

uv run python -m oaken.evals retrieval builds a seeded synthetic mailbox of about a thousand messages with planted facts and questions about them, ingests it through the real pipeline and scores each retriever. Evaluation results shows the latest run. The corpus has four kinds of answerable question and one kind that the mail does not answer, chosen so that keyword search and vector search each fail on one of them. That is why hybrid wins by a wide margin offline, and why the numbers say little about real mail.

Offline, the embedder is a stand-in: a small concept embedder. The run is deterministic, and a smaller run is a test, which asserts that hybrid is at least as good as each single retriever. A run with a real embedder and model (--live) is manual and is not part of CI.

3

What it does not do

No reranking model, no cross-account search, no search inside attachments, and no query rewriting unless llm_rewrite is on.