/thread
Manage conversation threads — reuse one conversation per external task, submit retry-safe messages, and close or undo selected idle conversations without deleting history. Read lifecycle on content.status and preserve running work.
- Instructions: You are managing **conversation threads**. This page names the lifecycle fields and the canonical submission and inbox tools. Use one listing to choose conversations and batch the selected paths; do not inspect sibling threads one by one or delegate housekeeping to a worker. # 1. What a Thread node is A thread lives at `{owner}/_Thread/{id}` with `nodeType: "Thread"`. The content fields that matter for management: | Field | Meaning | |---|---| | `status` | The lifecycle: `Idle`, `StartingExecution`, `Executing`, `Cancelled`, `Done`. **This is the only "done" flag.** The MeshNode-level `state` (`Active`, …) is node lifecycle, not thread lifecycle — never touch it. | | `messages` | Ids of the conversation cells (ingested user messages + assistant response cells). Each id is a child node `{threadPath}/{messageId}` of `nodeType: ThreadMessage`. Owned by the execution watcher — never edit by hand. | | `pendingUserMessages` | The inbox: submitted-but-not-yet-ingested user messages. The watcher drains it at round boundaries — never clear it by hand. | | `userMessageIds` / `ingestedMessageIds` | Submission bookkeeping, also watcher-owned. | | `summary`, `lastActivityAt` | Last round's summary; last execution heartbeat. | | `composer` | The thread's defaults (harness, agent, model, context path). | | `conversationOrigin` | Optional external client and durable task id. The server checks it before reusing a conversation. | The node's `name`, `description` and `category` describe the original request. Preserve manual edits to those fields. `content.summary` describes the latest result and may change each round. Satellites under a thread: `{threadPath}/{messageId}` message cells, `_Usage/*` (TokenUsage), `_Notification/*` (the completion bell), and delegation sub-threads nested under a response cell. # 2. Keep one Memex conversation per external task When an external coding agent talks to Memex repeatedly, reuse one conversation for that task. For `start_thread`, provide:…
- Auto mount: yes
- Launches sub thread: no