Shared tasks for multiple agents

Memex now has a first-class collaboration primitive: an AgentTask is the durable shared context, and every participant is an ordinary Thread below that context. The task is coordination state; it is not a second execution engine and does not replace the existing thread protocol.

Start one collaboration

Use the MCP start_collaboration tool with an owning namespace, a title, a shared goal, and a JSON array of participant declarations:

[
  {
    "role": "bug fixer",
    "message": "Inspect the assigned defect and implement the root-cause fix.",
    "harness": "ClaudeCode",
    "modelName": "opus",
    "effort": "high"
  },
  {
    "role": "reviewer",
    "message": "Review the fix, run the relevant tests, and report regressions.",
    "harness": "Codex",
    "modelName": "gpt-5.6-terra",
    "effort": "high"
  }
]

The tool creates the task first, then launches participants through the same sanctioned start_thread path used everywhere else. It returns the task path and each created thread path. The paths are the durable handles to use for observation and follow-up messages.

How agents communicate

Participant threads are siblings at:

{taskPath}/_Thread/{threadId}

An agent can enumerate siblings with:

search "path:{taskPath}/_Thread scope:children nodeType:Thread select:path,name,content.status,content.summary"

It reads a sibling transcript with search on that exact thread path and sends a message with submit_message. This reuses Memex authorization, persistence, transcript history, status and round dispatch. Agents must not create Thread nodes directly: doing so bypasses pending-message draining and response-cell allocation.

Harness and model selection

The participant declaration may choose harness, modelName, and effort. ClaudeCode forwards only Claude-compatible CLI model ids (opus, sonnet, haiku, or claude-*); an unrelated mesh model selection is ignored so changing harnesses does not turn into a CLI error. Codex forwards the selected model on thread/start / thread/resume and effort on turn/start.

Those selections do not grant credentials. Claude Code and Codex still require the participant's own per-user harness installation and login. If a harness is unavailable or cannot build its client, the existing round behavior reports the failure and falls back to the normal MeshWeaver agent path; the collaboration result never claims that a missing harness ran.

Completion

The task begins Open. Participant threads remain the source of truth for round status and transcripts. A later task-status update can mark the shared task Completed or Cancelled once the participants reach a decision; no background poller or retry loop is needed.

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.