Memory and conversations
Aleph separates durable agent knowledge from the history of a particular chat.
Four kinds of context
| Context | Scope | Purpose |
|---|---|---|
| Bundle instructions | Version | Defines stable behavior |
| Memory files | Source version | Durable shared knowledge across conversations and installations |
| Messages | Conversation | User and assistant history |
| Runtime journal | Conversation | Resumes the Pi session and compaction state |
Memories are nested Markdown files under memory/, such as
memory/customers/acme/decisions.md. They appear beside the rest of the agent
files on the Code page. The runtime lists available paths and retrieves only
relevant files instead of injecting every memory into every prompt.
What belongs in memory
Good memory is durable and useful later: decisions, stable project facts, and chronological state suitable for everyone using the source agent. Transcripts, hidden reasoning, temporary requests, unsupported guesses, secrets, credentials, and personal data do not belong there.
Memory content is data, not trusted instructions. Installed runs can create, update, append, rename, and delete shared memory. For public agents these files are publicly readable, and earlier contents remain visible in immutable version history even after a later edit or deletion.
Conversation behavior
Web chats, channel chats, and scheduled work use conversations. Channel conversations keep transport-generated titles and are separated by Discord channel or Telegram chat. Web conversation titles may be generated after the first turn.
Deleting or leaving a conversation does not erase source-agent memory.
Publishing memory
Memory tool operations are staged during a run. After a successful turn, Aleph rebases them onto the latest source version, validates the complete file tree, creates one immutable version, and enables it. Failed, cancelled, and timed-out turns do not publish staged memory. Concurrent turns publish in completion order so unrelated changes and chronological appends are preserved.
Because runtime memory advances the source version, Git-backed agents must pull, review, and commit that version before their next sync.