What it owns
| Concept | Purpose |
|---|---|
| Conversation | Thread metadata, project scope, status, title, active branch, and message count. |
| Message | User, assistant, system, or tool content. |
| Message part | Structured content such as text, files, tool calls, tool results, citations, errors, and data. |
| Branch | Alternate message path created by edits, forks, or regenerated answers. |
| Participant | User and role attached to a conversation. |
| Read state | Last-read cursor and unread count. |
| Input request | Structured 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:- A user prompt is stored as a message.
- A run creates or claims an assistant message.
- Runtime events stream and persist while work runs.
- Final output is stored back on the assistant message.
- Later reads use messages for the visible thread and runs for execution history.