FluctlightDB

Notes

A memory without a source is hearsay

Agent memory products often store a sentence and a vector. The sentence might be a tool result, a file the agent read, or something a user said once. Those are not the same kind of evidence, and a retrieval score does not record which one you have.

Record the moment, not a summary of the chat

FluctlightDB’s write is experience(). The caller passes the text, a context label, a salience, and optionally verified plus a source_uri. Nothing walks the transcript later to decide what was important. If the agent read a ledger file, it writes that read as a ledger read. If it heard a number in chat, it writes that as chat.

The use-case page ran both writes and called activate("wallet balance"). The sourced memory came back first, with verified set. The chat line came back behind it, verified clear. That is the behaviour. It is not a claim about answer quality.

Why the distinction is the product

A cue asks what should come back, not only what is nearest. Full-text, vector neighbours and graph spread are fused, and a memory with a checkable source outranks one without it on the same cue. The caller receives the episode it wrote, including the provenance object, so it can show the source next to the answer.

Sharing one brain across many agents throws that distinction away. The project’s own paper measures the separation, and the limit is the one below. Per-agent directories are the workaround the documentation tells you to use. It is unaddressed in code.

Stated limit

When many agents share one brain, provenance separation reaches only 18% top-1. Per-case isolation reaches 100%, which is a ceiling rather than multi-tenant readiness. Unaddressed in code. Source: papers/arxiv-v1/main.tex:668-675. Opens the repository in a new tab.