RememberStack
Memory for AI agents that have to act — not just chat about a corpus.
Pour documents into it. Get back what sources said, what the system currently holds true, and a full audit trail to the exact span, page, or second of audio. Built to stay useful at a million documents.
Docs: docs.remember.dev · Product: remember.dev
Why this exists
Most “memory” stacks answer: where did I read something like this?
Agents that take real actions need a harder question:
What do we actually know — and what changed our mind?
| Typical RAG / note memory | RememberStack |
|---|---|
| Source text treated as truth | Claims (testimony) stay separate from facts (current belief) |
| Edits overwrite history | Supersession closes a window — history stays queryable |
| Contradictions hidden or averaged | Contradictions return together |
| Re-ingest inflates “confidence” | Support counts independent document lineages |
| Vector index is the authority | Indexes nominate; Postgres confirms |
| LLM on every query | No chat-completion on the query path — the agent plans |
| Vague empty results | Typed negatives: unknown entity / known empty / boundary |
If your agent spends money, changes state, or briefs a human, those distinctions are load-bearing.
TL;DR
- Ingest heterogeneous inputs into an evidence spine (files → chunks → claims → facts).
- Separate what a source said from what is true now.
- Project search, graph, and a browsable filesystem — rebuildable anytime.
- Serve agents first: mounts, MCP, CLI, API — with honest, grain-typed answers.
E what we ingested (ground truth)
K what we concluded (compiled + authored knowledge)
P how we reach it (search · graph · corpus FS) ← always rebuildable from E
Testimony is not truth
| Grain | Answers | Rule for agents |
|---|---|---|
| Evidence (claims) | Who said what, when | Never “is it true now?” |
| Fact (relations & observations) | What we currently hold true | Default for present-tense belief |
| Compiled (knowledge pages) | Orientation with citations | Verify before load-bearing action |
Default reading motion:
Orient on knowledge pages and the corpus tree → verify on facts → audit claims and raw sources when stakes demand it.
Two clocks
Every fact carries world time (when it held in the world) and system time (when this deployment learned it).
Ask both honestly:
- “Who worked at Acme in 2022?”
- “What did we believe last March?”
Write path: ingestion
- Immutable claims, grounded to source spans
- Entity resolution into a canonical registry
- Adjudicated relations and observations with supersession + contradictions
- Document versions and watched sources — reprocess cost proportional to the edit
- Support that cannot be gamed by re-extracting the same file
Deep dive: Ingestion
Read path: retrieval
Projections nominate. The spine confirms. The envelope accounts.
Exactly four top-level assured operations (API / CLI / MCP):
| Operation | Use for |
|---|---|
resolve_entity |
Name → ranked entity candidates |
testimony_context |
High-recall evidence for a question |
fact_context |
Current or historical fact context with live testimony |
answer_context |
Both complete authority views in ContextBundle/v1 |
Plus open SQL, read-only Cypher, saved examples, and schema discovery.
Every assured answer self-accounts: grain, freshness, contradictions, truncation, typed “no”s.
Deep dive: Retrieval
Built for agents
| Surface | Job |
|---|---|
| Filesystem mounts | ls / read / grep the corpus and knowledge like a codebase |
| MCP · CLI · API | Semantic search, graph, time-travel, open query — one operation set |
| Consumption skill | Deployment-rendered SKILL.md that keeps grains straight |
Primary consumers are coding harnesses (Claude Code, Codex, OpenCode, and peers). Humans get the same audit trail.
Quick start
git clone https://github.com/writeitai/remember-stack.git
cd remember-stack
cp .env.example .env # set your OpenRouter (or provider) key
docker compose up --build --detach --wait
curl --fail http://localhost:8000/healthz
curl --fail http://localhost:8000/operations
Ingest Markdown, wait for readiness, then call the assured ops — full walkthrough:
→ Getting started
→ Self-host deployment
Client package:
pip install rememberstack
# server / connectors / knowledge extras named in the package
Open source = full engine
Apache-2.0. If it affects correctness, it is here — extraction, resolution, supersession, provenance, budgets, DLQ, hard-forget. Never paywalled.
The managed cloud runs this same engine. Cloud adds operations and product chrome, not a secret core.
| Docs | docs.remember.dev |
| Managed product | remember.dev |
| Release | v0.4.1 |
Contributing
See CONTRIBUTING.md and CLA.md. Pull requests need the contributor-agreement checkbox in the PR template.
Stop retrieving passages. Start knowing what is true.
Read the docs · Run it
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rememberstack-0.4.1.tar.gz.
File metadata
- Download URL: rememberstack-0.4.1.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae95a73bb35a2aaa084b4b64b7d48a3fe445028c9c5a920e234dccf66eb12d8
|
|
| MD5 |
b14aa545d79e8fbffec83292f2f74eea
|
|
| BLAKE2b-256 |
e6ea133ec105234e078ae0cbafd695a9f3d41ed839a857d2f47c5368bc045799
|
Provenance
The following attestation bundles were made for rememberstack-0.4.1.tar.gz:
Publisher:
release.yml on writeitai/remember-stack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rememberstack-0.4.1.tar.gz -
Subject digest:
0ae95a73bb35a2aaa084b4b64b7d48a3fe445028c9c5a920e234dccf66eb12d8 - Sigstore transparency entry: 2459549685
- Sigstore integration time:
-
Permalink:
writeitai/remember-stack@7c5bb5973c56a00a00eea2b1631f0a83ee851c9c -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/writeitai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7c5bb5973c56a00a00eea2b1631f0a83ee851c9c -
Trigger Event:
push
-
Statement type:
File details
Details for the file rememberstack-0.4.1-py3-none-any.whl.
File metadata
- Download URL: rememberstack-0.4.1-py3-none-any.whl
- Upload date:
- Size: 978.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7c1018dbde6cb713098c9c4102a8b0b60331f567ac1f423868c645b1698dc1e
|
|
| MD5 |
25ce943d8113c0c31bc1f501d55750bf
|
|
| BLAKE2b-256 |
871a8f654a697205e4953362d59fdef5364522c98ada433c01a5f931bbd3933f
|
Provenance
The following attestation bundles were made for rememberstack-0.4.1-py3-none-any.whl:
Publisher:
release.yml on writeitai/remember-stack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rememberstack-0.4.1-py3-none-any.whl -
Subject digest:
d7c1018dbde6cb713098c9c4102a8b0b60331f567ac1f423868c645b1698dc1e - Sigstore transparency entry: 2459549768
- Sigstore integration time:
-
Permalink:
writeitai/remember-stack@7c5bb5973c56a00a00eea2b1631f0a83ee851c9c -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/writeitai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7c5bb5973c56a00a00eea2b1631f0a83ee851c9c -
Trigger Event:
push
-
Statement type: