Build notesworking note

AI memory should be a loop, not a database

Memory is useful when it changes the next action. Storage alone does not do that.

Most conversations about AI memory begin with storage: a vector database, a transcript archive, a larger context window. Those can hold information, but holding information is not the same as remembering. A system remembers only when relevant context is deliberately recovered, used in the present task, and improved by what happened next.

The unit is a loop

The useful unit is not a note or an embedding. It is a loop: read → work → curate → write → read again. Before a session, the agent reads the project state, active decisions, open loops, and the few references that explain why the work looks the way it does. During the session, those memories constrain choices. At the end, the closeout captures only what became durable.

This is why I keep the canonical layer in Markdown. It is inspectable without a special client, diffable in Git, easy to link, and still readable if every AI tool disappears tomorrow. Retrieval systems can sit above it, but they should not become the only place where meaning exists.

Curation is the compression step

Raw transcripts are seductive because they are complete. They are also noisy, repetitive, and full of abandoned directions. Feeding them back to the next agent moves the cost of judgment downstream. A curated closeout does the opposite: it preserves decisions, evidence, changed files, unresolved questions, and the reason a future session should care.

The open-source closeout skill is one implementation of that boundary. BrainBar and Graphify then make relationships visible: a project connects to decisions, sessions, references, and open loops. The graph is not the memory itself; it is an instrument for finding the right path through it.

A test for useful memory

I use a simple test: if a new agent can begin meaningful work without asking me to reconstruct the project, the loop is working. If it retrieves many plausible notes but still misses the current decision, the database may be healthy while the memory is not.

This note is still working because the loop keeps changing under real use. The stable principle is smaller: memory earns its place by improving the next read.