Learn

How recall works

The read path behind every search: anchors, keyword and semantic recall side by side, typed path search, ranking, the visibility rule — on one PostgreSQL, with no LLM call.

Every search runs the same read path — for Era's own chat, for the API, for an MCP client. It calls no language model: the only model involved is a small local embedding model that turns the question into a vector.

Era Brain read pathQuestion+ anchorsKeywordfull-text, TR + ENSemanticlocal e5 vectorsGraph pathstyped edges, ≤ 3 hopsRankfuse · latest winsVisibilityone ruleContextcompact, citedOne PostgreSQL: pgvector · full-text (GIN) · graph tables · row-level security

The steps

Anchors. The entities the question names are found first — full names, aliases, then a fuzzy match on the local embedding — with Turkish and English business words bridged (müşteri ↔ customer).

Keyword and semantic recall, side by side. PostgreSQL full-text search (with Turkish and English stemming, on a GIN index) and a vector search over local multilingual embeddings (multilingual-e5-small, 384 dimensions, pgvector HNSW) run in parallel. Their rankings are fused by reciprocal rank; the keyword leg's top hits weigh a little more, because an exact code or name in the question is usually the answer.

Typed path search. For questions about how things connect, the graph is walked from the anchors over typed relations — up to three hops, not through hub fans (a company's 400 employees), scored by how much of each path the question asks for. Each hop is backed by the memory that states it.

Rank. A soft recency × importance prior breaks ties between equally relevant facts. When two facts give different values for the same thing, the newer one goes first and the older is marked earlier.

Visibility. Every statement above runs under the reader's rules: their workspace only, modules they can read, nobody else's private memories, nothing superseded or expired. An entity named only by memories you cannot see is not shown at all — its name would leak.

Compact context. The answer is a short list of facts (and, for graph questions, paths) with their sources — what an LLM needs, not a pile of documents.

Writing

Adding is where models are used, and only there: free text is split into self-contained facts and linked to the entities it names by your workspace's AI, and a gate decides what is worth keeping. Ready-made facts and records skip extraction. Embeddings are computed locally. Records from Era's modules and connected apps are written without any model.

Measured

Era Research published how this read path performs on two public long-term memory benchmarks, with every number traceable to a run: Era Brain technical report (ERA-TR-2026-01).

BenchmarkWhat was measuredResult
LongMemEval (470 questions)the right session among the retrieved context98.3 %
LongMemEvalthe evidence turn among the retrieved context95.1 %
LoCoMo (1,540 questions)the evidence turn among the retrieved context72.4 %
Bothmedian retrieval time35 ms · 29 ms
Bothmedian context size handed to the LLM5,183 · 596 tokens

These are retrieval measurements of the read path, not end-to-end answer accuracy; the report explains the method, the comparisons and the limits.