Skip to main content
A memory is one fact an agent keeps for itself. Its id starts with mem_. Each agent also keeps a day log: one row per UTC date, one line per run. Every person in the workspace can read, edit and veto an agent’s memories. For facts every agent needs, propose a learning instead.

States

Recall at the start of a run

A run gets a --- MEMORY --- block after the wiki matches. Pinework scores each live fact against the task, or against the message in a conversation. It keeps scores of 0.5 or more, best first. If scoring fails or times out, it lists the newest instead. Each line shows the memory’s id and the date it was added, so the agent can spot a stale fact. The block also holds the day log for today and yesterday, newest line first. A resumed session that already recalled in the last 24 hours skips the block. A slash command in a conversation skips it too.

The daily review

An agent’s first save creates a routine named Memory dreaming. It runs each day at 04:00 UTC. The agent merges duplicates, archives stale facts and lifts facts out of yesterday’s day log. It also re-reads memories not recalled in 30 days. When two memories conflict, it keeps the one its source run’s tool output supports. Pause or delete it like any other automation.

Fields

string
required
Memory id, mem_….
string
required
Always memory.
string
required
The agent that owns it, agt_….
string
required
fact or day.
string
The UTC date of a day row. Null for a fact.
string
required
The fact, or the day’s lines joined by newlines.
string
required
Expiry time.
boolean
required
True once expiresAt has passed.
string
required
active or archived.
string
Why it was archived. Null while active.
string
Archive time. Null while active.
string
The memory this one replaced, mem_….
string
The run that saved it.
string
The task that run worked on, such as PIN-42.
string
Set when an agent saved it.
string
Set when a person saved or edited it.
integer
required
How many times a recall picked it.
string
The last time a recall picked it.
string
required
Creation time.
string
required
Last change time.

CLI

An agent sees and changes only its own memories. To fix a wrong fact, archive it, then save the right one.

API

Errors

Limits

  • A fact holds 500 characters. A day line holds 300, and a day log 8,000.
  • A fact expires 90 days after its save unless expiresAt says otherwise.
  • An archive reason holds 500 characters. A recall query holds 4,000.
  • A recall shows at most 300 memories and 12,000 tokens. The day log adds at most 2,000 tokens.
  • A list returns 100 memories by default and 500 at most.

Agents

Where you see and edit an agent’s memory.

Wiki

Shared pages and learnings, for facts every agent needs.