An AI agent builds up memory as it works: facts it learns, decisions it makes. Frameworks store that as state it overwrites as it goes. Mnemosyne gives agent memory what Git gives code: commits, branches, merge, blame and bisect. A Rust core, a mnem CLI, and a Python SDK. Local, deterministic, no network, no model calls.
The problem
Your agent runs for an hour, makes forty tool calls, and updates its memory the whole way. Then it gets something wrong, and all you have is the memory as it stands right now. You cannot see when the bad fact got in, what the agent knew before it went off track, or why it believes what it believes. Version control solved exactly this for code.
What you get
| Command | What it does |
|---|---|
commit · log |
record memory as an immutable, content-addressed snapshot with its provenance, and walk the history |
show <commit> |
reconstruct the memory exactly as it stood at any past commit |
branch · checkout · diff |
fork memory for the price of a pointer to explore a hypothesis in isolation |
merge |
combine two lines of memory, surfacing conflicts as objects you inspect and resolve |
blame |
resolve any belief to the commit (through merges) and the observation that introduced it |
bisect |
binary-search a run for the first commit where a wrong belief appears |
Quickstart
cargo build --release -p mnem-git # the mnem binary (crate: mnem-git)
pip install -e ".[dev]" # the mnem-agents python sdk
import mnem
store = mnem.init("./agent-memory")
store.add("customer-4821", "on the Enterprise plan",
provenance=mnem.Provenance(source="ticket-4821"))
store.commit("learn the plan tier", author="support-agent")
b = store.blame("customer-4821") # which commit set this, and why
print(b.commit[:8], b.provenance.source)
The GitHub for AI agents
Git made source code collaborative; GitHub made it social. As software becomes agents working in teams, they need the same stack underneath. Mnemosyne is building it in three eras:
- The substrate (now): single-agent versioned memory, local and deterministic.
- The collaboration layer: semantic merge that reasons about contradiction, a sync protocol, and a review step before a memory update lands in shared memory. Pull requests, for agent memory.
- The platform (
1.0): the whole agent (prompt, tools, memory, policy, evals) as one versioned, signed, forkable artefact, with a registry.
The later two are the point. Everything today is 0.0.x groundwork (ADR-0010).
Status
| Tag | What landed |
|---|---|
v0.0.2 |
the object store, commit · add · log, the Python binding |
v0.0.3 |
branch · checkout · diff, time travel |
v0.0.4 |
deterministic three-way merge with conflict objects |
v0.0.5 |
blame · bisect, the provenance index |
Next: a LangGraph adapter and an MCP server. See ROADMAP.md and CHANGELOG.md.
How it works
mnem-store(Rust): the object model, the content-addressed store, the commit graph. Never touches the network or a model; acargo denycheck enforces it.mnem: the CLI (cratemnem-git, Rust) and the SDK (mnem-agents, Python) built on the core.- The store is a
.mnem/directory, format specified indocs/format/and frozen for0.0.xatformat_version1. Decisions live indocs/adr/.
Prior work
A wave of 2026 research points at this idea (Git4Data, GitOfThoughts, StateFuse, MemTX, LatticeMind), each a paper or a prototype. One finding is worth stating plainly: versioned memory does not make an agent give better answers. What it gives you is history, audit, and safe merging. That is the whole pitch, and it is enough.
Contributing & licence
Developed by a single maintainer; issues and feedback welcome, but not open to external pull requests at this stage (CONTRIBUTING.md). Apache 2.0 (LICENSE).
Metadata
Release files for mnem-agents 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mnem_agents-0.0.7.tar.gz | 74.2 kB | Without provenance | Details for mnem_agents-0.0.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mnem_agents-0.0.7-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details for mnem_agents-0.0.7-cp310-abi3-macosx_11_0_arm64.whl |
Total release size: 875.8 kB
Release files / mnem_agents-0.0.7.tar.gz
| Download URL | mnem_agents-0.0.7.tar.gz |
|---|---|
| Size | 74.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f75be3ba257a7ba7f530fb17c4108c155e6b48a1eb7988e7e88f7c86e5e57fd
|
|
BLAKE2b-256 checksum How to use checksums |
27f280171f2852a1a4566f56d9e616b4bf6d8f90d83c5e46245b1ccdb5e4288a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / mnem_agents-0.0.7-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | mnem_agents-0.0.7-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 801.5 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
133259615b93511b7902dffd75218dd7c86dc52ac44fd7b4399aeb5ee1c02d42
|
|
BLAKE2b-256 checksum How to use checksums |
7c7b125c2659cd7000a9c0f4b75cd448ee2968f26e3f64579e5200cd680dc6fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Security for mnem-agents 0.0.7
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.