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.