membase

How storage works

Writing a memory never edits anything after the fact. What you type is saved verbatim as a capture and never rewritten — everything else (search index, extracted meaning, later corrections) is layered on top of it, not in place of it.

A capture can become one or more memory units — one independently retrievable piece of memory each. A single note about two unrelated things becomes two units; one coherent story stays one.

Each unit carries a strict order of authority: what you typed outranks what you later clarified, which outranks what was automatically inferred, which outranks the fully-derived search index built from all of it. Nothing downstream ever overwrites something upstream of it.

A unit with a genuinely ambiguous term or date may hold one question before it becomes searchable — answer it, skip it, or discard that unit from the Browse tab. Answering never changes your original words; it just adds to what the unit knows about itself.

Deleting a capture (Browse tab) is the only way a memory goes away — there's no automatic expiry or relevance-based forgetting.

Full architecture, design decisions, and the evaluation history: github.com/LuxKaiwalker/membase.