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 server was updated. Reloading the page to pick up the latest version.