Memory
Memory is what the agent keeps about the people it serves between tasks, stored by bluememo.
blueclaw embeds bluememo as a Go module pinned at .dependency/bluememo, on the Postgres API that version provides. Its schema is copied verbatim into migrations/033_memory_store.sql. A fact is one sentence a low-tier model extracts from an episode (a finished task run, or something a person asked the agent to remember), owned by that person and labelled with the security rank and classes of the conversation it came from. A fact with no circles is its owner's alone; a fact that names circles is also read by their members, and memberCircles nests circles. Facts are retired by supersession, forgetting or expiry.
Around the store, internal/memory does the following:
- Finished, failed and cancelled runs are queued for extraction unless
memory.extractionDisabledis set. - Launch loads the requester's profile and a recall of the prompt under character budgets and records
memory.recall_injected. memory_rememberstores one sentence and reports what it created, superseded or reinforced;memory_forgetaccepts only fact IDs thatmemory_searchreturned in the same task.- Embeddings go through the capability service at
memory.embeddingModelwith 1,024 dimensions, and a model change is areembedjob. Profile and rehearse jobs run on the same worker.
bluememo has since moved to one SQLite file per person. The blueclaw integration will follow; until then it runs on the pinned Postgres version.