dev.bastienrobert.memory.record

A single durable memory belonging to the user. Deliberately one generic type: specialising into fact/preference/project/event types is premature until real requirements demand it. Retrieval-specific state (BM25 scores, vector ids, index cursors, caches) MUST NOT be stored here — it is derived data owned by whichever memory engine indexes this record. Consumers MUST preserve properties they do not recognise: an implementation that rewrites a record after dropping unknown fields destroys data written by a newer one.

Details · record, key tid
Kindrecord
Record keytid
Authoritymemory.bastienrobert.dev
Indexed

Record

record · key tid

Properties

content

requiredstring

The memory itself: one self-contained statement that still makes sense months from now.

  • maxLength: 10000
  • maxGraphemes: 2500

createdAt

requiredstring · datetime

When the memory was first stated.

kind

string

Coarse classification. Open vocabulary: an unknown value is legal and must not be dropped by a consumer.

  • knownValues: fact | preference | decision | context

When the remembered event happened, independent of createdAt. Omit when unknown.

Reference

Where this memory came from. Advisory: consumers must tolerate its absence.

Reference

scope

string

Application label within a Space, never an access boundary. Use separate Spaces for different trust boundaries.

  • maxLength: 512

Older memories replaced by this statement, several when it merges them into one. Keep history; consumers only mask replacements within the same authorized Space and repo.

  • maxLength: 20
itemsstring · at-uri

updatedAt

string · datetime

When the memory was last revised, if ever.

#occurrence

object

Properties

from

requiredstring · datetime

precision

string

Precision of the source statement; year and month dates are anchors, not exact event dates.

  • enum: year | month | day | instant

to

string · datetime

#provenance

object

Properties

agent

string

The agent that wrote the memory, e.g. 'claude-code', 'codex'.

  • maxLength: 256

client

string · uri

OAuth client id of the application that wrote it.

sourceUri

string · uri

What the memory was derived from, if anything.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • AI memory snapshot. Each record is a versioned snapshot of accumulated knowledge.

  • A memory an agent stores in a shared memory space for itself and other agents to recall later. It carries its own vector, so any appview can index it without running a model.

  • Poe's notes about one person, published in Poe's own repo so anyone, that person included, can read what Poe remembers. One record per person, keyed by their DID, rewritten whenever Poe saves or removes a note, and deleted when they ask to be forgotten.