How Memory Works
Nyquest's memory layer is a system that learns from your conversations and pulls relevant context back when you need it. It runs automatically for signed-in browser chat. PAT chat-completion requests are stateless and skip memory recall. This article is the conceptual overview; the other Memory articles cover the specifics.
The three-layer model
Memory in Nyquest isn't one mechanism. It's three working together:
| Layer | What it captures | Where it lives |
|---|---|---|
| Facts | Discrete claims extracted from conversations ("user prefers Rust", "patient is on metformin") | memory_facts table β small, structured |
| Summaries | A short summary of each completed conversation | memory_summaries table β one per conversation |
| Recall chunks | Semantic embeddings of facts, summaries, and message bodies | recall_chunks table β the index for similarity search |
When you send a new message, the recall layer searches the chunks for ones semantically similar to your message, and the most relevant ones get injected into the system prompt so the model has that context.
What gets remembered automatically
By default:
- Facts are extracted from conversations after each exchange. Not everything is a fact β the extractor pulls out durable claims like preferences, ongoing situations, named entities, and decisions. Pleasantries, transient questions, and one-off code snippets are not extracted.
- Summaries are generated when a conversation has at least 4-6 messages. They capture the gist of what was discussed.
- Recall chunks are computed from each fact, summary, and (selectively) message body, so the recall index always reflects your current state.
What does NOT get remembered
- Conversations you delete (conversation recall is removed; durable facts may remain until forgotten or deleted separately)
- Anything in incognito / signed-out mode (the platform doesn't have one currently β every session is logged-in)
- Specific values you flag as ephemeral (no UI yet for this; coming)
When recall happens
Recall runs before each message you send, with one exception: messages shorter than 4 words skip the semantic search. For those the model still gets the recent conversation history, the conversation summary and your durable facts β just not a fresh similarity search. When recall does run, the platform:
- Embeds your draft message
- Queries the recall index for top-K most similar chunks (typically K=3-5)
- Filters by recency + similarity threshold
- Injects the matches as system context for that single message
The model sees these as background context, not as separate messages. You don't see the injected chunks in the chat transcript, but in some chassis (Ridgeline, Apsis) a small "N facts recalled" indicator appears on the assistant's reply.
Why three layers, not just embeddings?
Embeddings alone (the recall_chunks table) work for similarity search but lose structure. Facts are searchable AND queryable: "what does the user prefer?" can pull facts directly. Summaries fill the middle ground β long enough to capture context, short enough not to bloat the prompt.
The three together give better recall than any one alone.
Memory maintains itself
Facts don't accumulate forever. A daily consolidation pass merges duplicate paraphrases of the same fact into one canonical entry and retires transient ones, and a separate pass retires facts that have gone long enough without being recalled. Both run automatically, without any action from you β which is why a fact you mentioned once can quietly stop surfacing. Pinned facts are exempt from both.
Each fact also carries a confidence score. It rises when you re-affirm the fact and falls when you contradict it, and it feeds recall ranking.
What you control
Settings has a What Nyquest remembers panel listing your facts and their confidence. For each one:
- Pin β the fact never decays, is exempt from consolidation, and is prioritised in recall
- Forget β that single fact is removed permanently
Signed-in browser chat has no recall toggle; short messages can skip semantic retrieval. PAT chat completions skip memory recall.
Privacy in one sentence
Your memories live in our database, scoped to your account, not used by Nyquest to train models; provider processing follows the selected providerβs terms, and deletable any time. See Memory Privacy and Deletion for the full story.
Where to next
- What Gets Remembered β extraction logic, examples
- Recall and Surfacing β how chunks reach the model
- Memory Privacy and Deletion β your data, your control
- Conversation and Memory Issues β when memory acts weird