Skip to content

Memory

CoeOS memory rests on two distinctions:

  • Write or read. Memory is what the assistant remembers about you, compiled from your conversations, per user. Knowledge is a reference corpus you query (labour law, case law, a large file), shared.
  • Open or confidential. What was said in confidence is stored apart, and is never read by an open conversation.

LevelContentMechanism
Userwhat the assistant remembers about you, compiled from your conversationspersonal wiki, written by the system
Projectthe notes and files of a matter (a ZIP upload, or an external folder read live)files attached to the project
Companyreference corporadocument bases (RAG), read-only

Every memory read goes through a single gate, which receives the class of the turn:

  • an open turn only sees open memory;
  • a confidential turn sees open and confidential memory;
  • data without a known class is never served to an open turn.

The wiki is therefore kept in two parts, stored in separate tables:

  • the open wiki, compiled from open conversations;
  • the confidential wiki, compiled from confidential conversations. Compilation goes through the box in the confidential class: it only reaches safe models (local, or under DPA and ZDR).

A canary test continuously checks that an open turn never sees confidential memory.

  • Per user, no leakage: each note belongs to its user. Nobody sees someone else’s memory.
  • Compiled, not raw: a compiler model distils conversations into durable wiki entries (“what to remember”), without duplicating transcripts.
  • When: two scheduled passes a day, a compile when a conversation goes idle, and a “Remember now” button on demand.
  • Monitored: a health endpoint and an alert flag a stalled compile, so you never end up without memory without knowing it.

For each question, CoeOS does not paste the whole wiki into the context: it looks for the useful passages.

  • Hybrid search: a semantic ranking (bge-m3 embeddings, computed by an embedder on the internal network) and a full-text ranking, merged.
  • Sorted by a decision model: the best candidates are scored by a decision model under ZDR, which keeps the ones that really help answer. Measured on 40 questions: the right note comes first 35 times, against 29 without sorting. If sorting fails, the original ranking is kept: it never takes anything away from the turn.
  • Only the question goes out to the embedder; the search itself runs in the app.
  • Several bases: a registry of RAG bases (Settings › RAG databases), each one can be enabled, tested, and carries an open or confidential label.
  • Attached to a project: a project’s conversations query the base linked to it.
  • One base, one label: confidential and open are never mixed in one search. A base whose processing goes through a cloud without a DPA is never served to a confidential turn.
  • Feeding it: a base is populated by ingesting a corpus (through OdyRAG), then read.

On every turn, CoeOS assembles the context with:

  • the relevant passages of the user’s wiki, within the limits of its class;
  • the project memory, if the project has one;
  • the passages of the linked document base, if the class allows it.

The wiki keeps the assistant consistent over time; the base gives it documentary material.


The wiki remembers, the base documents, and the class decides what can be read: an open conversation never sees what was said in confidence.