The apparatus

What I built,
and how it works.

Memrith is a desktop application, and it is the instrument this study was conducted with rather than a product being offered. It was a product for a few months in 2026, which is why several of the findings are about what happens when you try to switch a business off without taking people's data down with it.

Free, MIT licensed, and no longer maintained. Source: github.com/cadendbartley/BrainBox

The pipeline

Everything in this study happens along one path. Text goes in at the top and relevant memory comes out at the bottom, where it gets handed to a language model.

  1. Capture

    You write an entry, or upload a document, whether that is a PDF, a Word file, plain text, or an exported conversation from another AI tool. Large files get split into chunks.

  2. Extraction

    The text goes to whichever model you configured, with a prompt asking it to pull out discrete structured facts called claims. "Prefers morning work." "The Henderson project ships in March." Each claim keeps a link back to the source text it came from, so nothing sitting in memory is unattributable.

  3. Embedding

    Entries, document chunks, conversation summaries, and claims each get embedded into 384-dimensional vectors through BAAI/bge-small-en-v1.5, running locally. This step never touches a cloud service, which is question 1.

  4. Storage

    Plain files in a folder on your disk, with entries and claims as JSON and vectors in an index file, one directory per workspace. Nothing is encrypted at rest beyond whatever your operating system's disk encryption provides, which is a deliberate choice: a format you can read with cat is a format that outlives the software.

  5. Retrieval

    A query gets embedded the same way, cosine similarity against the stored vectors is blended with a keyword score and a recency weighting, results are de-duplicated across sources, and the top hits are selected.

  6. Injection

    The selected memory gets assembled into the system prompt and sent to the model alongside your message. This is the step carrying the hard ceiling, which is question 3.

The derived layer

Sitting above the raw records is a second structure that was the most speculative part of the project and the part I would most want to keep working on. The design rule is that it is derived and never load-bearing, so you can delete the entire thing without losing anything the user wrote, because rebuilding it is just replaying the log.

It holds typed associative edges between records, grouped into 6 force categories of temporal, causal, epistemic, resonance, context, and narrative, along with reified structures built out of them covering threads, recurring patterns, and clusters. Above those sit abstractions about the person: traits, habits, values, drivers, heuristics, and failure modes.

Retrieval across this layer works through activation spreading rather than independent scoring, where a matched record energizes its neighbours and that energy propagates outward along the edges.

Two invariants worth stating

Quarantine. A proposed edge never conducts during retrieval and a hypothesis-stage abstraction never speaks in context, so nothing unconfirmed can influence an answer.

Tombstones are permanent. If you reject an inference the system made about you, it can never be resurrected or re-proposed, and that is enforced at the storage layer rather than by caller convention, so no future code path can undo it by accident.

Running it yourself

You do not need the application to read this study and nothing here depends on your installing it. It is available because reproducing any of these findings requires it, and because the people who paid for it when it was a product should get to keep it.

It is free, it has no licence key, and every feature is unlocked. You supply an API key for Anthropic, OpenAI, or OpenRouter and get billed by them directly, or you point it at a model running on your own machine and pay nothing, which is also the configuration where question 3's findings bite hardest.

The installers are not code-signed, so macOS and Windows will both warn you on first launch. Signing certificates cost money the project does not have. The download page explains the click-through.