How CLS++ keeps agent memory honest
A reliability story for developers shipping agents: durable writes, reconsolidation with lineage, and a queryable audit trail — not a consumer chat sync product.
Your agent writes a belief
CrewAI, LangGraph, LlamaIndex, or a raw API call — your agent stores a fact via learn(). The write is fsync-acknowledged to a durable log. An accepted write is a kept write.
A contradicting fact arrives
Another agent (or a later turn) writes something that conflicts. Ordinary memory overwrites. CLS++ opens a reconsolidation path — archive the old belief, link lineage, bump version.
Old belief is archived with lineage
The superseded fact is never deleted. It is archived, versioned, and linked to the new current belief. Default ask() returns the current belief; brain.history() (or include_superseded on read) returns the full trail.
You can prove what changed
Debug a bad agent decision, pass an audit, or replay swarm conflicts — every revision has attribution, version, and evidence. Memory that lies by omission is a reliability bug.
Built for production reliability
Reconsolidation gate
Every revision that supersedes another belief archives the old one with lineage and version. Explicit corrections (Brain.correct / update_memory) and evidence-gated adjudicate never silently overwrite or delete.
Durable write path
Writes are fsync-acknowledged to a write-ahead log with off-path replication. Recovery is tested against process death and torn-tail records — an accepted write is a kept write.
Embedder-independent retrieval
Facts persist and stay searchable from the engine's own token index, so a failed or slow embedder degrades ranking but never loses a memory.
Yours to control
Encrypted in transit; delete any memory on request (GDPR right to be forgotten). We don't claim compliance badges we don't hold.
Integration path
Prove it on your machine
Run the reliability proofs — silent loss, silent overwrite, conflict deletion — and see CLS++ survive each class.