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: remember.dev/docs · 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 |
claims_and_sources_context |
High-recall claims and source chunks for a question |
facts_context |
Current or historical fact context with live testimony |
combined_context |
Both complete authority views in ContextBundle/v2 |
Plus open SQL, typed live-graph helpers, 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 |
| Skill bundle | Dynamic prompt for agents to self-learn Remember |
Quick start
# 1. Run the self-hosted engine (Postgres 19 + MinIO + workers)
cp .env.example .env
docker compose up -d
# 2. Configure your AI agent in one command
uvx remember setup
Verify everything is running:
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 remember
# Run the full server engine via Docker: ghcr.io/writeitai/remember-stack
remember is the sole current Python distribution. The GitHub repository and
self-hosted container retain the remember-stack name.
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 | remember.dev/docs |
| Managed product | remember.dev |
| Release | v0.17.1 |
Contributing
Architecture and delivery authority: planning corpus and decision log.
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
Release files for remember 0.17.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| remember-0.17.1.tar.gz | 5.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| remember-0.17.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.0 MB
Release files / remember-0.17.1.tar.gz
| Download URL | remember-0.17.1.tar.gz |
|---|---|
| Size | 5.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ae93a93dfc3bf7c7dcfe7d9df03f8eac46cfb45773c4e829b9503eb8737b4705
|
|
BLAKE2b-256 checksum How to use checksums |
f4f8289db72f9a837d22e55df51f8d6a935de7d76500852fe3487e6b871204fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / remember-0.17.1-py3-none-any.whl
| Download URL | remember-0.17.1-py3-none-any.whl |
|---|---|
| Size | 108.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
76046d4189ff083b522b98894882c5b19b4ea4bd779b519ae915a6d582551b1c
|
|
BLAKE2b-256 checksum How to use checksums |
863d7697cb24da774c3f1f48b8fdd3c3a4f553f64f29f60e79f9379e383d264a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log