Skip to main content

Memory architecture for your AI conversations.

Project description

aurochs-recall

Memory architecture for your AI conversations.

Drawers preserve the verbatim text. The index makes it instantly findable. The knowledge graph remembers what's connected to what. Local SQLite. No paraphrasing. Citations everywhere.

MIT · v0.1 · public from commit 1 · Stefan Kovalik stefan@aurochs.agency

Verify, back up, restore. Multi-pass safety scanning · Versioned extractions · Stable citations across DB ops.


I was looking for a memory layer for my AI conversations that didn't paraphrase. The category had real options and a few hyped ones that didn't hold up to a closer look. What I found was that I'd already been taping pieces of this together myself across separate skills and notes — verbatim storage, FTS over a SQLite index, register classification, an entity graph for who-said-what-about-whom. This is the proper assembly of those pieces into one thing.

I built the bench because the category had hyped options that didn't hold up. Proof should be testable on your own machine.


Privacy: aurochs-recall does not transmit your data anywhere. There is no telemetry, no analytics, no crash reporting. The only network traffic is opt-in BYOK extraction calls to providers you explicitly configure. The recall.db file lives on your disk and you can read it with the standard SQLite CLI.

Use as a Claude Code plugin

/plugin install aurochs-recall

Then in any Claude Code session:

  • /aurochs-recall <args> — full CLI surface
  • /recall <query> — quick search (shortcut)
  • /recall-status — DB stats
  • /recall-forget <prefix> — hide a drawer

The plugin auto-wires the recall MCP server, so Claude can also invoke recall tools natively.

30-second quickstart

pip install aurochs-recall
recall init                          # discovers your sources, writes starter config
recall "your first query"

The four memory layers

  • Drawers — verbatim text, immutable, the unit of recall.
  • Index — sqlite FTS5 BM25 over every drawer. Fast.
  • Graph — entities, relationships, citations. Append-and-amend.
  • Access log — what you've recalled, when, how. Meta-memory.

What this isn't

  • It doesn't summarize your conversations.
  • It doesn't paraphrase what you said.
  • It doesn't decide what's "important" and forget the rest.
  • It doesn't auto-cluster, auto-tag, or auto-anything you didn't ask for.
  • It doesn't claim to "understand" your memory. It indexes it. There's a difference.
  • It doesn't run in the cloud. The database file lives on your disk and you can read it with the standard SQLite CLI.
  • It doesn't promise you a benchmark number. The bench is published with full methodology so you can run it yourself.

Install

pip install aurochs-recall              # core: SQLite FTS5 + drawers + KG with seed-list linker
pip install "aurochs-recall[all]"       # everything below at once

Optional extras (install only what you need):

Extra What it adds
[chroma] ChromaDB vector store for semantic / hybrid retrieval
[embeddings] sentence-transformers (English MiniLM by default)
[graph] Kùzu graph database for fast multi-hop traversals
[rerank-llm] LLM-as-reranker (BYOK Anthropic / OpenAI)
[multilingual] BGE-M3 + multilingual MiniLM cross-encoder
[backup] zstandard for compressed recall backup
[dev] pytest, ruff, mypy
[docs] mkdocs-material + the docs build chain

Usage

recall init                              # discover sources, write sources.toml + run first ingest
recall "deadlock in pgbouncer"           # default mode: hybrid (BM25 + cross-encoder rerank)
recall "client onboarding playbook" --mode bm25
recall "voice deltas from last week" --since 7d
recall status                            # row counts, WAL size, lockfile state, schema version
recall verify                            # checksums + FK integrity + FTS rebuild check
recall backup ~/recall-backups/          # full snapshot incl. taxonomy_audit + access_log
recall restore ~/recall-backups/2026-05-07.db.zst
recall forget abc123de --dry-run         # preview hide; --apply to commit
recall extract --resume                  # crash-safe BYOK extraction restart

The CLI is the source of truth. The MCP server and the Claude Code plugin both call into the same underlying core/ API.

Configuration

recall init writes ~/.config/aurochs-recall/sources.toml (Linux/macOS) or %APPDATA%\aurochs-recall\sources.toml (Windows). Edit that file to add or remove sources. Schema is documented in docs/sources.md.

Documentation

Full docs live under docs/:

Bench

Benchmark methodology lives in bench/. It's intentionally reproducible: a public LongMemEval reproduction plus a personal-corpus eval template you can fill in with your own data. Numbers without methodology are vibes; the bench is here so you can verify or refute on your own machine.

Contributing

See CONTRIBUTING.md. All test fixtures are synthetic. Pre-commit hooks block PII and secret patterns from entering the repo — read the contributing guide before your first commit so the hooks don't surprise you.

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aurochs_recall-0.1.0.tar.gz (187.9 kB view details)

Uploaded Source

Built Distribution

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

aurochs_recall-0.1.0-py3-none-any.whl (102.8 kB view details)

Uploaded Python 3

File details

Details for the file aurochs_recall-0.1.0.tar.gz.

File metadata

  • Download URL: aurochs_recall-0.1.0.tar.gz
  • Upload date:
  • Size: 187.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for aurochs_recall-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9b1fc3db55af842b75b7d72777438331b9f3728646f3ea07654e8f8630de35a7
MD5 354164547672bb44377d74222d7dcaa3
BLAKE2b-256 18422b51198f23e973d5883c89d5d126fa6eb71caec4e151a22479cc654f1d75

See more details on using hashes here.

File details

Details for the file aurochs_recall-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aurochs_recall-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 102.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for aurochs_recall-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e25aa8954f522c4f5ad182a45ffc3d3848e7205b2783e3be1495fb18dd0dd33f
MD5 b5b48d62a9d31588c2fb0ca997801260
BLAKE2b-256 76b0b46d87ec625b898c9da92787f5d7c4b90f37f1653311b94323ded23dcbe9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page