GRAFOMEM — agent-memory conformance benchmark and compliance toolkit
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grafomem-0.4.0.tar.gz.
File metadata
- Download URL: grafomem-0.4.0.tar.gz
- Upload date:
- Size: 442.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f633960d5e4581c0648c94a812aa2a31f62357ba8ec431a25c515b836bcd109d
|
|
| MD5 |
dc8d83a46cf7f8701c319252e3961aaa
|
|
| BLAKE2b-256 |
ae3c3d332c3531420093b5b14111d5add1d0a58b87ad73a29052349edb2c85f8
|
File details
Details for the file grafomem-0.4.0-py3-none-any.whl.
File metadata
- Download URL: grafomem-0.4.0-py3-none-any.whl
- Upload date:
- Size: 467.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a2a029689f779431d9c145a843d454b0df2dc83ee9750b194b8a37769afdcc5
|
|
| MD5 |
7b7a470789a9b9ebf50f3aea604fe8c7
|
|
| BLAKE2b-256 |
b69d0dccec3bfe6d2f8a0c620570c8196bddaca0f39b9eb4e5291c4057b5ba4b
|