memomee
Memory governance · v0.4

Agents need more than memory.
They need continuity.

Memomee is the memory governance layer for long-running AI agents. Keep task state, decisions, and evolving facts compact, trustworthy, and resumable across sessions.

Read the docs Talk to us $pip install memomee
p99 retrieve
< 100 ms
events
append-only
facts
versioned · superseded
retrieve_bundle.jsonlive · trace included
{
"checkpoint": { snapshot_id: "snap_20260509_018", stage: "verify" },
"events": [ 12 returned, // 34 filtered ],
"facts": {
"active": [ "budget_approved → $80,000" ],
"superseded_summary": [ "$50,000 → $80,000" ],
},
"warnings": { contradictions: 1 },
"trace": { ranking: "recency + confidence", query_latency_ms: 42 },
}
The real memory problem

Most agents don't fail loudly.
They fail by losing the plot.

An agent starts strong. Then a workflow branches. A session ends. A fact changes. A summary compresses away a key decision. Now the agent is still running — but no longer grounded.

Summary drift

Rolling summaries quietly compress away the decision that actually mattered.

Episodic log

Retrieval mismatch

Similarity search finds something relevant — to a different problem.

Explainable retrieval

Stale facts

Yesterday's truth keeps shaping today's decisions, silently.

Versioned facts

Workflow loss

An interruption ends a session and the agent has to rediscover everything.

Checkpoints

Context fragmentation

State splits across threads, tools and providers; teams glue it back by hand.

Task-scoped bundle
PILLAR 01 / 3
Checkpointed working state

Resume exactly where the work left off.

Capture the live state of a task — stage, goals, parameters, the last successful step — so an interruption doesn't force a restart.

  • Immutable revisions; every checkpoint kept for replay
  • Opaque resume tokens map back without leaking state
  • Snapshot ids let external systems reference a moment in time
checkpoint.py
PUT /v1/checkpoints
# resume tokens are opaque, not state
client.checkpoints.update(
  task_id="task_8f3a",
  workflow_stage="verify",
  active_goals=["verify auth flow", "fix regression"],
  last_successful_step="run_unit_tests",
  resume_token="tok_abc123",
)

# → snapshot_id: snap_20260509_018
event.py
POST /v1/events
client.events.write(
  task_id="task_8f3a",
  actor="coding-agent",
  event_type="decision",
  payload_summary="branched to fix-regression sub-task",
  source_metadata={
    "model": "claude-4",
    "tool": "test_runner",
  },
)
project_alpha · budget_approved 3 versions
Apr 24
finance_system · v1
$25,000
superseded
supersedes ↓
Apr 30
finance_system · v2
$50,000
superseded
supersedes ↓
May 9
finance_system · v3
$80,000
active
PILLAR 02 / 3
Append-only ledger + versioned facts

Update what's true without silently breaking trust.

A write-once event ledger holds what actually happened — actor, type, payload, source. Facts evolve through explicit supersession, not overwrite. Every version keeps its provenance and link — so retrieval can show what changed and why.

  • Events are immutable; trigger-enforced append-only
  • active / superseded / retracted as first-class status
  • Lineage chains render the full history of any (entity, relation)
  • Confidence and source travel with every fact
PILLAR 03 / 3
Explainable retrieval + consolidation

See what was surfaced — and what wasn't.

Every retrieval carries a trace: returned vs filtered counts, ranking rationale, recency and source signals, contradictions. Consolidation merges repetitive events without losing the evidence — every output keeps a reference back to the raw events.

  • Bundle separates checkpoint, events, facts, warnings, trace
  • Idempotent consolidation — same window in, same output out
  • Contradictions surfaced as warnings, not silently merged
  • Lineage links from compacted summaries back to event_ids
retrieve_bundle · trace req_b91c · 42 ms
events
12 /46
facts
8 /20
checkpoint
1 /1
ranking   recency + confidence
recency   most recent event 2026-05-09T14:32Z
sources   user_input(5) · tool_output(4) · system(3)
warnings   contradictions: 1
contradiction_warning.json
POST /v1/consolidate
{
  "events_compacted": 12,
  "facts_promoted": 3,
  "contradictions_found": 1,
  "warnings": [{
    "entity": "project_alpha",
    "relation": "budget_approved",
    "fact_ids": ["f-29", "f-44"],
    "resolution_status": "open",
  }],
}
How it works

Four steps. One governance layer.

01

Capture

Agents write events and checkpoints as they work. Every action is append-only.

02

Consolidate

Rules-based compaction merges repetitive events and flags contradictions.

03

Retrieve

Bundle returns checkpoint, filtered events, active facts, superseded summary, and trace.

04

Explain

Trace shows what was returned, what was filtered, and why — with contradiction warnings.

The category

We don't win by remembering more.
We win by governing better.

Other products help agents store more context. Memomee helps teams decide what should survive, what should change, what should be forgotten, and what should shape the next decision.

Memomee Managed memory APIs Agent frameworks Graph engines DIY stacks
Resumable working state yes no partial no partial
Append-only event ledger yes no no no partial
Fact supersession & lineage yes no no partial no
Contradiction warnings yes no no no no
Retrieval trace + filtered counts yes no no no no
Workflow continuity, not store yes no partial no no
Framework-agnostic yes yes no yes yes

Examples per category — managed memory APIs: Cloudflare Agent Memory, Mem0 · agent frameworks: Letta, LangGraph + LangMem · graph engines: Zep, Graphiti · DIY: vector DB + summary loop.

Production-grade by default

Built for memory you can defend in a review.

Audit
Append-only events
Write-once, read-many. Trigger-enforced at the database level.
Isolation
Multi-tenant
Org-scoped queries; no endpoint accepts an org_id from requests.
Compliance
GDPR deletion
User-scoped delete with 30-day soft window and full audit trail.
Encryption
TLS · AES-256
TLS 1.3 in transit, AES-256 at rest via managed Postgres.
Stop rebuilding context

Start governing it.

Your agents shouldn't have to rediscover the world every time a workflow branches or a session restarts. Give them continuity.