AI agent memory can now change without losing its history
ContextDB Cloud clients now expose one explicit lifecycle for factual memory: ADD, UPDATE, DELETE, and NOOP. Use it when a customer gives you a new detail, corrects an old one, retracts a claim, or repeats something the agent already knows.
The Python and TypeScript packages are thin, Apache-2.0 clients for the hosted /v1/evolve contract. Hosted planning, tenancy, encrypted context, commit recovery, metering, and workers remain private ContextDB Cloud operations.
Install
pip install contextdb-cloud-client==0.2.0a2
npm install @contextdb/cloud@0.2.0-alpha.2Correct a memory in Python
from contextdb_cloud_client import CloudClient
async with CloudClient("https://api.contextdb.ai", api_key="cdb_…") as cdb:
result = await cdb.evolve(
"caller-123",
"update",
target_memory_id=current_memory_id,
content="My preferred appointment day is Friday.",
source="user_stated",
idempotency_key="call-884-correction-v1",
)
context = await cdb.recall(
"caller-123",
"When should I book the appointment?",
min_memory_version=result.memory_version,
min_primary_wal_lsn=result.primary_wal_lsn,
)Retract or deduplicate in TypeScript
const deleted = await db.evolve("caller-123", "delete", {
targetMemoryId: obsoleteMemoryId,
idempotencyKey: "call-885-retraction-v1",
});
const unchanged = await db.evolve("caller-123", "noop", {
targetMemoryId: currentMemoryId,
noopReason: "duplicate",
idempotencyKey: "call-886-duplicate-v1",
});Each response includes the requested and applied operation, outcome, optional current memory, previous or deleted memory IDs, NOOP reason, project-scoped memory version, primary WAL position, and request ID.
Where this helps
- Voice agents: replace an old appointment preference after a caller corrects it.
- Support agents: retract account context the customer says is no longer true.
- Workflow agents: return NOOP when an event repeats instead of creating another memory.
- Memory CI: require the replacement memory ID and forbid the superseded ID before release.
- Audited systems: inspect metadata-only lineage without returning historical memory content.
Production evidence and claim boundary
On August 24, 2026, a bounded hosted proof passed:
- direct
ADD → UPDATE → NOOP → DELETE - idempotent replay and project/user scope isolation
- project-scoped memory-version and primary-WAL consistency floors
- metadata-only lineage after replacement and deletion
- evidence-ID Memory CI assertions
- Gemini 2.5 Flash Formation choosing and committing UPDATE, NOOP, and DELETE
- signed audit verification, plaintext control-state scans, and zero mutable cleanup residue
This is functional evidence. It is not sustained-load, failover, availability, or SLO evidence. ContextDB Cloud and both clients remain alpha.