← Blog

Product · positioning

Your agent changed its mind. Can you prove why?

By Rajamohan Jabbala · July 16, 2026

Most agent memory is sold as convenience: store a fact, recall it later, maybe sync it across models. That pitch is fine for demos. It falls apart the moment someone asks a production question — why did the agent decide that?

If your memory layer overwrote the old belief, or deleted it on conflict, you don't have an answer. You have a guess. CLS++ exists for the teams who can't ship a guess.

What we sell now (and what we don't)

We are not a consumer "chat in Claude, switch to GPT" product. That framing made us look like a convenience layer. We're infrastructure: durable, lineage-tracked memory for agents you put in production — CrewAI, LangGraph, LlamaIndex, MCP, or a raw API.

The one-liner we use now:

Agent memory that never silently loses or overwrites a fact — every change leaves a receipt you can audit.

The strong point: keep the receipt

When a new fact contradicts an old one, ordinary memory overwrites. CLS++ does something else:

  1. The new belief becomes current
  2. The old belief is archived — not deleted
  3. Both are linked by lineage (version, attribution, evidence)
  4. Default reads return the current belief; history is one query away

That chain is lineage. Publicly, we call it a receipt— because that's the job it does for you: debug a bad decision, pass an audit, replay a swarm race, explain an agent to legal without reconstructing from logs.

from clsplusplus import Brain

brain = Brain("my-agent")
brain.learn("Customer is on the Pro plan")
brain.correct(
    "Customer is on the Pro plan",
    "Customer upgraded to Enterprise",
)
brain.ask("What plan is the customer on?")
# → Enterprise (current)
# → Pro is archived with lineage — not gone

Why this beats "better recall" as a pitch

Recall is a vanity metric. Competitors already sell recall. The failure that actually burns teams in production is silent corruption: overwrite with no history, delete-on-conflict, or a write that succeeds while the embedder quietly drops the fact.

What we guarantee

An accepted write is a kept write. A changed belief leaves an auditable chain. A dead embedder degrades ranking — it does not erase memory.

How you evaluate it

Free tier is 500 API calls/day — enough to run against a real agent, not a toy sandbox. Package name everywhere: clsplusplus.

Who this is for

  • Swarm / multi-agent teams — conflicting writers on shared state; lineage is load-bearing, not optional.
  • Anyone shipping auditable agents— when legal or a customer asks "why," you need a query, not a war room.
  • Indie builders — three calls (learn / ask / correct) and a memory layer that doesn't gaslight you.

Try it

Watch a belief change leave a receipt on the homepage, run the reliability proofs on your machine, or grab a free key and drop clsplusplus into your agent.