Engineering note · 9 min read

Building RAG you can inspect

Mneme is less interested in a dramatic answer than in a useful one: a result with enough structure to open, question, and verify.

The problem is not only retrieval

A local document assistant has two jobs that are easy to collapse into one: find relevant context and make that context accountable. A system can retrieve a plausible paragraph and still leave the user unable to tell where it came from.

Trust is a path back to the source, not a stronger adjective in the interface.

A legible retrieval path

Mneme starts with a question, optionally decomposes it, searches semantic and lexical paths, expands relationships for Graph RAG, deduplicates chunks, enriches PDF anchors, and produces bounded context for answer generation.

01 · IndexStable source and chunk identity.
02 · RetrieveSemantic, lexical, or graph-aware paths.
03 · BoundExplicit context and document limits.
04 · CiteSource-linked output.

Why stable identity matters

Manifest-consistent indexing gives each source a canonical identity, content hash, stable chunk IDs, atomic replacement semantics, and exact deletion. That matters when a user wants to know whether an answer came from the current file.

The boundary is part of the API

Indexing and retrieval run locally. An LLM-backed feature may send retrieved snippets to the endpoint configured by the user. Stating that boundary precisely shapes configuration, tests, UI copy, and evidence objects.

Engineering rule

Describe the observable result first—“answers with sources”—then explain BM25, RRF, graph expansion, or context caps as supporting mechanisms.

Read the implementation surface

The project is a Python package with src/ retrieval modules, a tui/ terminal interface, tests, benchmarks, plans, and CI workflows. The repository is the authoritative place for code and change history.

Search Mneme documentation