Skip to main content
Durable messaging stores the visible conversation thread. It lets a conversation survive refreshes, reconnects, branch changes, delegated work, and long-running execution.

What it owns

ConceptPurpose
ConversationThread metadata, project scope, status, title, active branch, and message count.
MessageUser, assistant, system, or tool content.
Message partStructured content such as text, files, tool calls, tool results, citations, errors, and data.
BranchAlternate message path created by edits, forks, or regenerated answers.
ParticipantUser and role attached to a conversation.
Read stateLast-read cursor and unread count.
Input requestStructured input needed while work is paused.

Message graph

Messages form a graph. Each message can point to a parent message. The conversation stores the active branch tip. This supports editing, forking, branch selection, and replaying the visible path without deleting alternate branches.

Messaging and execution

Durable messaging works with durable execution:
  1. A user prompt is stored as a message.
  2. A run creates or claims an assistant message.
  3. Runtime events stream and persist while work runs.
  4. Final output is stored back on the assistant message.
  5. Later reads use messages for the visible thread and runs for execution history.