"I don't know what it actually remembers or why it brought that up" is the single most common complaint about AI memory tools. Showing your work matters more here than getting a better answer.
Most memory tools store whatever they decide to keep as an undifferentiated blob, with no way to tell whether a given fact came from a document you uploaded, something you told it directly, or the model's own summary of a longer conversation. When all three look identical at recall time, a plausible-sounding wrong answer is indistinguishable from a well-sourced one.
Source evidence is a passage from a document you actually ingested. A stated assertion is something you told the assistant directly, unconfirmed by any document. A model-generated summary is produced from either of those, not from you directly. ModelBrain keeps all three as separate provenance tiers rather than flattening them into one "memory" type, and each tier is created by a different path, not just labeled after the fact.
An explicit save (you asking it to remember something) writes immediately: the request itself counts as confirmation, so there's no extra step. A host-inferred candidate is different. If the assistant notices what looks like a confirmed decision or a stated preference on its own, that never becomes a memory on inference alone: it gets surfaced back to you ("want me to remember that X?"), and only an affirmative answer makes it durable. It hasn't earned the same trust as something you said outright, so it doesn't get treated as if it had.
Once you've authorized a document connector, every fragment it extracts writes directly as source evidence, with no per-chunk confirmation prompt. Requiring a yes/no for every extracted fragment would make ingestion unusable, and it would be confirmation in name only since nobody reads that many prompts closely. But that authorization is narrow: it covers ingesting the source evidence itself, nothing more. Any conclusion or summary the assistant draws from those documents later still needs its own confirmation, exactly as if it had drawn the same conclusion from a conversation instead of a file. Authorizing a folder doesn't pre-approve whatever the model later infers from what's in it.
When OCR produces the text for a page with no extractable text layer, that text is still source evidence in the sense that it came from a document you ingested, not from a conversation. But it's a probabilistic transcription, not verbatim ground truth, and a misread digit or date is exactly the kind of quietly-wrong fact this whole tiering scheme exists to catch. The plan is for OCR output to carry its own lower-confidence marking within the source-evidence tier, ideally with the OCR engine's own per-word confidence carried along, rather than being stored as if it were as reliable as text extracted directly from a real layer.
Designed, not yet built. We're naming it here in the same in-progress tense we use for everything that isn't shipped yet, because it matters enough to the honesty of the product to describe before it's done, not only after.
How this compares to the rest of the MCP memory-server landscape: most store text; few tag where it came from.