GRAFOMEM
The governed memory runtime for agents.
Give your AI agents memory they can move, merge, and prove they erased — a fast in-model working state plus a durable fact store, signed and auditable at the substrate.
Fair Source — source-available. The GRAFOMEM runtime core is licensed FSL-1.1-Apache-2.0 (self-host, use, and modify freely; only a competing managed service is restricted; converts to Apache-2.0 after 2 years). The spec,
.gfmformat, conformance suite, and adapters are Apache-2.0. Please do not describe the runtime core as "open source" — it is Fair Source. (SeeLICENSEfiles.)
What it is
A two-tier memory system with governance built in:
- Working memory (CSO) — a fast, fixed-size in-model state
M, ready = Mq: bounded, portable, mergeable, constant-size. Adaptive state as a movable, forkable, erasable object. - Durable facts (GMP) — a lossless, queryable, model-agnostic fact store.
- Governance primitives — signed transition receipts on the working tier, cryptographic erasure certificates on the durable tier.
Quickstart (5 minutes) — governed checkpoints for LangGraph
pip install grafomem langgraph-checkpoint-grafomem
from langgraph.checkpoint.memory import MemorySaver
from grafomem_checkpoint import GrafomemSerializer, GrafomemCheckpointSaver
saver = GrafomemCheckpointSaver(MemorySaver(serde=GrafomemSerializer(private_key, key_id, trust, consent)))
graph = builder.compile(checkpointer=saver)
# ... run your agent ...
saver.delete_thread("thread-123") # right-to-erasure
receipt = saver.last_receipt("thread-123") # signed, verifiable proof the erasure transition occurred
Every checkpoint is signed and tamper-evident; delete_thread yields a signed state-transition
receipt — a cryptographic, verifiable proof that the erasure operation occurred (not a claim of
media sanitization).
The Protocol (GMP)
GRAFOMEM began as a benchmark for one question — what should a standard for agent memory actually specify? — and turned into the answer: a benchmark, a protocol (GMP), an executable conformance suite, and a certified, persistent reference implementation.
Memory capabilities are orthogonal, a declared capability is not the same as observed behavior, and the only way to tell them apart is to test — so agent memory should be specified and conformance-checked like any other protocol.
The benchmark demonstrates three key results:
- Four orthogonal axes. Representational capability (versioning / supersession), embedding quality, retention policy, and a two-sided privacy primitive (deletion and tenant isolation) must be specified and verifiable separately.
- Claims ≠ behavior. A backend can declare
HARD_DELETEorMULTI_TENANTand still leak forbidden data. - Protocol + conformance. "Supports capability X" is defined operationally: passes the conformance suite for X.
Repository layout
src/grafomem/ working memory runtime (CSO · sdk · mcp · server) [FSL-1.1-Apache-2.0]
src/aml/ durable facts runtime (GMP · backends) [MIT]
spec/ .gfm format + SPEC [Apache-2.0]
tests/runtime/ test suite for the working memory tier [Apache-2.0]
tests/ test suite for the durable tier & GMP benchmark [Apache-2.0]
adapters/ framework adapters (langgraph-checkpoint-grafomem) [Apache-2.0]
verifier-ts/ zero-dependency TypeScript .gfm verifier [Apache-2.0]
examples/ runnable demos [Apache-2.0]
Develop
# Editable install for the entire unified runtime
pip install -e ".[runtime]"
bash ci.sh # pytest · conformance · TS verifier · Fair-Source lint
Cloud
Self-host everything above for free, forever. GRAFOMEM Cloud adds the hosted, multi-tenant, governed, attested platform — talk to us. You point your registry at the cloud; it's a config change, not a migration.
GRAFOMEM is a project of Ulissy s.r.l.
Metadata
Release files for grafomem 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| grafomem-0.4.0.tar.gz | 442.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| grafomem-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 909.9 kB
Release files / grafomem-0.4.0.tar.gz
| Download URL | grafomem-0.4.0.tar.gz |
|---|---|
| Size | 442.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f633960d5e4581c0648c94a812aa2a31f62357ba8ec431a25c515b836bcd109d
|
|
BLAKE2b-256 checksum How to use checksums |
ae3c3d332c3531420093b5b14111d5add1d0a58b87ad73a29052349edb2c85f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|
Release files / grafomem-0.4.0-py3-none-any.whl
| Download URL | grafomem-0.4.0-py3-none-any.whl |
|---|---|
| Size | 467.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a2a029689f779431d9c145a843d454b0df2dc83ee9750b194b8a37769afdcc5
|
|
BLAKE2b-256 checksum How to use checksums |
b69d0dccec3bfe6d2f8a0c620570c8196bddaca0f39b9eb4e5291c4057b5ba4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|