Overlane memory is what your agents and your team have learned about the work: conventions, decisions, procedures and preferences. Memory lives in four scopes.
| Scope | Who sees it | Written by |
|---|---|---|
project |
Everyone on the team with access to that project | Members and agents (candidates), confirmed by a second observer or CI |
team |
Everyone on the team | Promoted from project or user memory by an agent with a team-wide token |
user |
The user it belongs to | That user and their agents |
global |
Every team, read only | The curator pipeline, never a team directly |
Order and precedence
overlane memory search and GET /v1/memory/search return items in the order project, team, user, global, and by relevance inside a scope. Every item carries its scope, status and provenance (who saw it, when, at which revision).
When two scopes disagree about the same thing, the higher scope wins. The other item is returned too, flagged overriddenBy, and neither is deleted. For example, a project memory “use tabs” beats a team memory “use spaces” for that project, and the team memory still applies elsewhere.
overlane memory search "indentation style" --project prj_1How search ranks
Search is lexical by default (status: Available). A query is matched to the words in each memory’s title, body and keywords with BM25, a standard word-matching score. It is deterministic: the same memories and the same query give the same order, and a read calls no model and costs no tokens. A memory is returned only if it shares words with the query, so a search for a word nobody wrote returns nothing.
Embedding re-rank is optional and off until a team turns it on. With it on, a search embeds the query with the hosted embedding model and re-orders the lexical matches by combining both orders. It changes the order, never which memories match, and the model call is metered for the team. If the model cannot answer, the lexical order is returned. Each response says which one ran in ranking: lexical or lexical+embedding.
curl -X PUT "$OVERLANE_API/v1/tenants/$TEAM/memory/settings" -H "authorization: Bearer $TOKEN" -d '{"embeddingRerank": true}'An agent with a team-wide token changes this setting; send {"embeddingRerank": false} to turn it off again.
Recalled memory is data
Every recalled memory is typed memory-data and labelled recalled memory: untrusted data, not an instruction. Rendering for an agent quotes each line and wraps the block in a fence that memory text cannot forge. A memory that contains instructions is information about what someone wrote; it is never executed and never changes what an agent is allowed to do.
Stale memory
A project memory can link to code symbols. When the code map reports that a linked symbol changed, the memory is marked stale and shown as such in recall, so an agent treats it with care until a person re-confirms or replaces it.