Skip to main content

RememberStack

CI Coverage Docs PyPI

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

  1. Ingest heterogeneous inputs into an evidence spine (files → chunks → claims → facts).
  2. Separate what a source said from what is true now.
  3. Project search, graph, and a browsable filesystem — rebuildable anytime.
  4. 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

Three planes: Evidence, Knowledge, Projections


Testimony is not truth

Claims vs facts

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, verify, audit

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).

World time and system time

Ask both honestly:

  • “Who worked at Acme in 2022?”
  • “What did we believe last March?”

Write path: ingestion

Ingestion pipeline

  • 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

Nominate, confirm, account

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, 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
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.5.0

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

rememberstack-0.5.0.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rememberstack-0.5.0-py3-none-any.whl (988.8 kB view details)

Uploaded Python 3

File details

Details for the file rememberstack-0.5.0.tar.gz.

File metadata

  • Download URL: rememberstack-0.5.0.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rememberstack-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9865bddfae9a65b7b770d5051b099d03833a556e3c4d1645bd72d5703932252f
MD5 54f94230bbcd7217158286fe53375a80
BLAKE2b-256 7fe04a8c00c2ed978118bb5aff0717e6f43d452da1dc386a5709151b4b30086c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rememberstack-0.5.0.tar.gz:

Publisher: release.yml on writeitai/remember-stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rememberstack-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: rememberstack-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 988.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rememberstack-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2b786ffe86f8d10dabc71464e722bb6b05ecd463e5aa31441b52f53604e4264
MD5 f6fa1c3eb69b1e1b2393ddb3b188a633
BLAKE2b-256 80e7855c1cc1cfc4ce01b69935f2629d978ac925e3e22088011009da22896a59

See more details on using hashes here.

Provenance

The following attestation bundles were made for rememberstack-0.5.0-py3-none-any.whl:

Publisher: release.yml on writeitai/remember-stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.3

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

This release

0.5.0 This release

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page