docs / agent-memory / overview

agent-memory

Portable, signed agent memory with a code-enforced fact lifecycle.

fg-agent-memory standardizes what a single agent remembers — its persistent experience across sessions — as a signed, canonical file the agent owns. It is the per-agent counterpart of agent-knowledge (what a group of agents knows) and a sibling of agent-id, its sole runtime dependency.

The core idea

The record format IS the standard, not the engine. Engines compete on pipelines; the record format is the interop contract. Everything the library guarantees is stateable over the record format alone — no backend is load-bearing.

The ghost-memory problem

The named failure mode this library targets: you learn X, later learn not-X, and stale X silently haunts retrieval forever. Here, a contradiction is a first-class state — both sides enter a visible transition pair and stay surfaced (marked disputed) until a human resolves the dispute. Nothing is silently overwritten.

Consolidation as code, not vibes

The differentiator versus typical LLM-rewrites-a-store memory systems:

The reference operators are deliberately model-free heuristics, so the entire framework runs and tests with no model and no backend.

What is standardized — and what deliberately isn't

Standardized (the fixed core) Left open (competes)
Record format, content addressing & signing domain Storage engines (RecordStore port)
Lifecycle state machine & legality table Search / ranking (SearchIndex, Embedder ports)
Proposal validation (rejected-never-repaired) Extraction & consolidation intelligence (Operator port)
Wire spec & golden vectors (spec/SPEC.md, spec/vectors.json) Salience tuning, engine-local sidecars

Position in the stack

Status

Version 0.1.0 (alpha) · wire format fg-agent-memory/0.1 · Python ≥ 3.11 · 229 passing tests including the golden wire vectors · complete normative spec (spec/SPEC.md, RFC-2119, 12 sections (§0 Rationale through §11 Redaction) Redaction). Where prose and code disagree, the vectors win.

Treat it as a working reference, not a stable dependency — on-disk records and signatures are explicitly not stable across versions until a 1.0 freeze. Not on PyPI (source install only); license is proprietary — no open-source grant at this time.

→ Start with Getting started · Concepts · API reference · Examples