Skip to main content
Glama

Run a meeting round

run_round
Destructive

Create or continue a saved meeting, run a round across agent seats with a shared prompt, then wait on the round_id to collect committed entries, blockers, or reviews.

Instructions

Create/continue a saved meeting; group_id equals conversation_id. Seats keep native sessions across rounds/restarts and automatically share committed entries. New: title/members required; add prompt/seats to run round 1, omit prompt to only create. Existing: omit creation-only arguments. One active round per meeting; wait on round_id. entries contains committed message_ids; unreceived flags ends/blockers/reviews for wait. At meeting close, post the summary you give the user as a prompt with no seats.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "run_round"
  }
}

Input Schema

NameRequiredDescriptionDefault
cwdNoNew meeting only: absolute directory seats run in; ignored when isolated.
waitNofalse (default) returns round_id at once; wait on it separately. true is kept for compatibility: it runs one wait on this round_id now (up to 270s) and returns it in wait, which may report prompts, blockers or elapsed time before the round ends.
orderNoparallel: answers hidden from peers this round; serial: later seats see earlier answers.parallel
seatsNoOrdered seat ids to answer once; empty posts a remark.
titleNoNew meeting title: at most 48 columns (CJK=2); the first also names this workspace.
promptNoShared task; no seats posts a public remark without starting a round; omit only to create.
reviewNoNew meeting only: hold each answer until decide_answers decides it.
forwardNoMessage_ids to commit before this task; requires seats; see MCP instructions.
membersNoNew meeting only: its 2–7 seats.
group_idNoMeeting to continue; omit to open a new meeting from title and members.
isolatedNoNew meeting only: each seat gets its own empty directory and restricted_tools; seat options may only set model and effort (and Pi's provider).
retry_seatsNoFailed/blocked seats to restart with the same input in a still-running parallel round; pass only with group_id. After it ends, use a new round.
instructionsNoOptional private instruction per seat id; never sent to other seats.
manager_modelNo
manager_session_idNo

Output Schema

NameRequiredDescriptionDefault
nextNo
waitNo
roundNo
entriesNo
membersNo
group_idYes
warningsNo
unreceivedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.6.0
    • changedInput schema / $defs / ProviderName / enum
      Previous value: -[
      -  "antigravity",
      -  "claude",
      -  "codebuddy",
      -  "codex",
      -  "deepseek",
      -  "grok",
      -  "pi",
      -  "zcode"
      -]New value: +[
      +  "antigravity",
      +  "claude",
      +  "codebuddy",
      +  "codex",
      +  "deepseek",
      +  "devin",
      +  "grok",
      +  "pi",
      +  "zcode"
      +]
    • changedInput schema / properties / wait / description
      Previous value: -"true waits up to 240s like wait(ids=[this handle]) and returns it in wait; only for a single dispatch whose result this turn needs, not parallel dispatches."New value: +"false (default) returns round_id at once; wait on it separately. true is kept for compatibility: it runs one wait on this round_id now (up to 270s) and returns it in wait, which may report prompts, blockers or elapsed time before the round ends."
    • addedOutput schema / $defs / WaitPayload / properties / seq
      Added value: +{
      +  "title": "Seq",
      +  "type": "integer"
      +}
  2. Changed9 schema fields changedv1.3.0
    • addedInput schema / properties / wait
      Added value: +{
      +  "default": false,
      +  "description": "true waits up to 240s like wait(ids=[this handle]) and returns it in wait; only for a single dispatch whose result this turn needs, not parallel dispatches.",
      +  "title": "Wait",
      +  "type": "boolean"
      +}
    • addedOutput schema / $defs / CommittedEntryPayload / properties / identity
      Added value: +{
      +  "$ref": "#/$defs/MemberIdentity"
      +}
    • addedOutput schema / $defs / GroupSeatPayload / properties / identity
      Added value: +{
      +  "$ref": "#/$defs/MemberIdentity"
      +}
    • addedOutput schema / $defs / InvocationPayload
      Added value: +{
      +  "properties": {
      +    "activity": {
      +      "$ref": "#/$defs/ActivityPayload"
      +    },
      +    "defaults_applied": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Defaults Applied",
      +      "type": "array"
      +    },
      +    "effort": {
      +      "title": "Effort",
      +      "type": "string"
      +    },
      +    "elapsed_ms": {
      +      "title": "Elapsed Ms",
      +      "type": "integer"
      +    },
      +    "error": {
      +      "$ref": "#/$defs/InvocationErrorPayload"
      +    },
      +    "identity": {
      +      "$ref": "#/$defs/MemberIdentity"
      +    },
      +    "invocation_id": {
      +      "title": "Invocation Id",
      +      "type": "string"
      +    },
      +    "message_id": {
      +      "title": "Message Id",
      +      "type": "string"
      +    },
      +    "model": {
      +      "title": "Model",
      +      "type": "string"
      +    },
      +    "output": {
      +      "title": "Output",
      +      "type": "string"
      +    },
      +    "output_age_ms": {
      +      "title": "Output Age Ms",
      +      "type": "integer"
      +    },
      +    "prompts": {
      +      "items": {
      +        "$ref": "#/$defs/PromptPayload"
      +      },
      +      "title": "Prompts",
      +      "type": "array"
      +    },
      +    "provider": {
      +      "title": "Provider",
      +      "type": "string"
      +    },
      +    "reason": {
      +      "enum": [
      +        "started",
      +        "wait_elapsed",
      +        "execution_blocked",
      +        "prompt_pending",
      +        "finished"
      +      ],
      +      "title": "Reason",
      +      "type": "string"
      +    },
      +    "session_id": {
      +      "title": "Session Id",
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "running",
      +        "succeeded",
      +        "failed",
      +        "blocked",
      +        "cancelled"
      +      ],
      +      "title": "Status",
      +      "type": "string"
      +    },
      +    "warnings": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Warnings",
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "invocation_id",
      +    "status",
      +    "reason"
      +  ],
      +  "title": "InvocationPayload",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / MemberIdentity
      Added value: +{
      +  "properties": {
      +    "cli": {
      +      "title": "Cli",
      +      "type": "string"
      +    },
      +    "handle": {
      +      "title": "Handle",
      +      "type": "string"
      +    },
      +    "handle_short": {
      +      "title": "Handle Short",
      +      "type": "string"
      +    },
      +    "key": {
      +      "title": "Key",
      +      "type": "string"
      +    },
      +    "model": {
      +      "title": "Model",
      +      "type": "string"
      +    },
      +    "model_short": {
      +      "title": "Model Short",
      +      "type": "string"
      +    },
      +    "model_source": {
      +      "enum": [
      +        "native",
      +        "requested",
      +        "unknown"
      +      ],
      +      "title": "Model Source",
      +      "type": "string"
      +    },
      +    "numbered": {
      +      "title": "Numbered",
      +      "type": "boolean"
      +    },
      +    "ordinal": {
      +      "title": "Ordinal",
      +      "type": "integer"
      +    },
      +    "provider": {
      +      "title": "Provider",
      +      "type": "string"
      +    },
      +    "role": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Role"
      +    },
      +    "spoken_name": {
      +      "title": "Spoken Name",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "key",
      +    "provider",
      +    "cli",
      +    "model",
      +    "model_short",
      +    "model_source",
      +    "ordinal",
      +    "numbered",
      +    "handle",
      +    "handle_short",
      +    "spoken_name"
      +  ],
      +  "title": "MemberIdentity",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / SeatRunPayload / properties / identity
      Added value: +{
      +  "$ref": "#/$defs/MemberIdentity"
      +}
    • addedOutput schema / $defs / WaitPayload
      Added value: +{
      +  "properties": {
      +    "all_finished": {
      +      "title": "All Finished",
      +      "type": "boolean"
      +    },
      +    "next": {
      +      "title": "Next",
      +      "type": "string"
      +    },
      +    "pending_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Pending Ids",
      +      "type": "array"
      +    },
      +    "reason": {
      +      "enum": [
      +        "ready",
      +        "wait_elapsed",
      +        "nothing_pending"
      +      ],
      +      "title": "Reason",
      +      "type": "string"
      +    },
      +    "rounds": {
      +      "items": {
      +        "$ref": "#/$defs/RoundPayload"
      +      },
      +      "title": "Rounds",
      +      "type": "array"
      +    },
      +    "updates": {
      +      "items": {
      +        "$ref": "#/$defs/InvocationPayload"
      +      },
      +      "title": "Updates",
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "reason",
      +    "pending_ids",
      +    "all_finished",
      +    "updates",
      +    "rounds"
      +  ],
      +  "title": "WaitPayload",
      +  "type": "object"
      +}
    • addedOutput schema / properties / next
      Added value: +{
      +  "title": "Next",
      +  "type": "string"
      +}
    • addedOutput schema / properties / wait
      Added value: +{
      +  "$ref": "#/$defs/WaitPayload"
      +}
  3. Changed2 schema fields changedv1.1.0
    • addedOutput schema / $defs / PromptPayload
      Added value: +{
      +  "properties": {
      +    "content_source": {
      +      "const": "subagent_data",
      +      "title": "Content Source",
      +      "type": "string"
      +    },
      +    "created_at": {
      +      "title": "Created At",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "enum": [
      +        "permission",
      +        "question"
      +      ],
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "prompt_id": {
      +      "title": "Prompt Id",
      +      "type": "string"
      +    },
      +    "questions": {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "title": "Questions",
      +      "type": "array"
      +    },
      +    "tool_input": {
      +      "title": "Tool Input",
      +      "type": "string"
      +    },
      +    "tool_name": {
      +      "title": "Tool Name",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "prompt_id",
      +    "kind",
      +    "tool_name",
      +    "tool_input",
      +    "created_at",
      +    "content_source"
      +  ],
      +  "title": "PromptPayload",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / SeatRunPayload / properties / prompts
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/PromptPayload"
      +  },
      +  "title": "Prompts",
      +  "type": "array"
      +}
  4. Changed13 schema fields changedv0.65.0
    • changedInput schema / $defs / GroupSeatSpec / properties / access / description
      Previous value: -"Declared desk access: read for exploring, planning or reviewing, write for changing files. Recorded and shown only; it never changes the CLI's native permissions."New value: +"Declared read/write access; see MCP instructions."
    • changedInput schema / $defs / GroupSeatSpec / properties / provider_options / description
      Previous value: -"Options for this seat's CLI, e.g. {\"model\": \"gpt-6.1-sol\", \"effort\": \"medium\"}; omitted keys use discussion member defaults."New value: +"CLI options; omitted keys use discussion member defaults."
    • changedInput schema / $defs / GroupSeatSpec / properties / role / description
      Previous value: -"Optional desk role for this seat; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no role."New value: +"Desk label: 1–40 trimmed characters, no controls/newlines; blank/omitted means none."
    • changedInput schema / $defs / ManagerModel / description
      Previous value: -"Your current manager model ID, when known from trusted host context. Metadata for this message only; never the subagent model or a CLI-derived guess. Omit when unknown. Does not change provider settings."New value: +"Boss model override; normally omit; see MCP instructions."
    • changedInput schema / $defs / ManagerSessionId / description
      Previous value: -"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round, and by handover to hand over or take over, unless AGENTNAVE_HOST_SESSION_ID is injected for this chat or the host gives this server its native session ID (Claude Code: CLAUDE_CODE_SESSION_ID)."New value: +"Boss chat ID from host context; see MCP instructions."
    • changedInput schema / properties / forward / description
      Previous value: -"Message ids from wait, run_round, decide_answers or read_conversation to add as committed forward entries before this round's task, in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. Seats receive them as data, not instructions."New value: +"Message_ids to commit before this task; requires seats; see MCP instructions."
    • changedInput schema / properties / order / description
      Previous value: -"parallel: all start together and cannot see each other's answer this round. serial: one by one in list order; later seats see earlier answers."New value: +"parallel: answers hidden from peers this round; serial: later seats see earlier answers."
    • changedInput schema / properties / prompt / description
      Previous value: -"Shared task for this round, visible to all seats; without seats, a public host remark every seat receives with its next round. To get answers, include seats even when opening a new meeting. Omit to only create the meeting."New value: +"Shared task; no seats posts a public remark without starting a round; omit only to create."
    • changedInput schema / properties / retry_seats / description
      Previous value: -"Failed or blocked seats of this meeting's running parallel round to start again: same input, still blind to other answers, and the answer joins this round. Pass only with group_id. Once the round ended, name them in a new round (they then see its answers)."New value: +"Failed/blocked seats to restart with the same input in a still-running parallel round; pass only with group_id. After it ends, use a new round."
    • changedInput schema / properties / seats / description
      Previous value: -"Ordered seat ids that each answer once. Include with title, members and prompt to open a meeting and run round 1 in one call. Empty only posts a host remark."New value: +"Ordered seat ids to answer once; empty posts a remark."
    • changedInput schema / properties / title / description
      Previous value: -"New meeting only: its short title, at most 48 columns (CJK characters count 2). If it is the manager chat's first conversation, it also names the workspace."New value: +"New meeting title: at most 48 columns (CJK=2); the first also names this workspace."
    • changedOutput schema / $defs / GroupSeatPayload / required
      Previous value: -[
      -  "id",
      -  "provider",
      -  "cwd",
      -  "model",
      -  "effort",
      -  "role",
      -  "access",
      -  "defaults_applied"
      -]New value: +[
      +  "id",
      +  "provider",
      +  "cwd"
      +]
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "Warnings",
      +  "type": "array"
      +}
  5. Changed3 schema fields changedv0.58.0
    • changedInput schema / properties / prompt / description
      Previous value: -"Shared task for this round, visible to all seats; without seats, a public host remark every seat receives with its next round. Omit only to open a new meeting without posting anything."New value: +"Shared task for this round, visible to all seats; without seats, a public host remark every seat receives with its next round. To get answers, include seats even when opening a new meeting. Omit to only create the meeting."
    • addedInput schema / properties / retry_seats
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Failed or blocked seats of this meeting's running parallel round to start again: same input, still blind to other answers, and the answer joins this round. Pass only with group_id. Once the round ended, name them in a new round (they then see its answers).",
      +  "title": "Retry Seats"
      +}
    • changedInput schema / properties / seats / description
      Previous value: -"Ordered seat ids that each answer once; empty posts prompt as a host remark."New value: +"Ordered seat ids that each answer once. Include with title, members and prompt to open a meeting and run round 1 in one call. Empty only posts a host remark."
  6. Changed13 schema fields changedv0.53.1
    • changedInput schema / $defs / ManagerSessionId / description
      Previous value: -"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round unless AGENTNAVE_HOST_SESSION_ID is injected for this chat."New value: +"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round, and by handover to hand over or take over, unless AGENTNAVE_HOST_SESSION_ID is injected for this chat or the host gives this server its native session ID (Claude Code: CLAUDE_CODE_SESSION_ID)."
    • changedInput schema / $defs / ProviderName / enum
      Previous value: -[
      -  "antigravity",
      -  "claude",
      -  "codebuddy",
      -  "codex",
      -  "deepseek",
      -  "grok",
      -  "pi"
      -]New value: +[
      +  "antigravity",
      +  "claude",
      +  "codebuddy",
      +  "codex",
      +  "deepseek",
      +  "grok",
      +  "pi",
      +  "zcode"
      +]
    • changedInput schema / properties / cwd / description
      Previous value: -"New show only: absolute directory seats run in; ignored when isolated."New value: +"New meeting only: absolute directory seats run in; ignored when isolated."
    • changedInput schema / properties / group_id / description
      Previous value: -"Show to continue; omit to open a new show from title and members."New value: +"Meeting to continue; omit to open a new meeting from title and members."
    • changedInput schema / properties / isolated / description
      Previous value: -"New show only: each seat gets its own empty directory and restricted_tools; seat options may only set model and effort (and Pi's provider)."New value: +"New meeting only: each seat gets its own empty directory and restricted_tools; seat options may only set model and effort (and Pi's provider)."
    • changedInput schema / properties / members / description
      Previous value: -"New show only: its 2–7 seats."New value: +"New meeting only: its 2–7 seats."
    • changedInput schema / properties / prompt / description
      Previous value: -"Shared task for this round, visible to all seats; without seats, a public host remark every seat receives with its next round. Omit only to open a new show without posting anything."New value: +"Shared task for this round, visible to all seats; without seats, a public host remark every seat receives with its next round. Omit only to open a new meeting without posting anything."
    • changedInput schema / properties / review / description
      Previous value: -"New show only: hold each answer until decide_answers decides it."New value: +"New meeting only: hold each answer until decide_answers decides it."
    • changedInput schema / properties / title / description
      Previous value: -"New show only: its short title, at most 48 columns (CJK characters count 2). If it is the manager chat's first conversation, it also names the workspace."New value: +"New meeting only: its short title, at most 48 columns (CJK characters count 2). If it is the manager chat's first conversation, it also names the workspace."
    • addedOutput schema / $defs / SeatRunPayload / properties / output_returned
      Added value: +{
      +  "title": "Output Returned",
      +  "type": "boolean"
      +}
    • addedOutput schema / $defs / SeatRunPayload / properties / warnings
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "Warnings",
      +  "type": "array"
      +}
    • addedOutput schema / $defs / UnreceivedPayload
      Added value: +{
      +  "properties": {
      +    "error": {
      +      "$ref": "#/$defs/InvocationErrorPayload"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "enum": [
      +        "task",
      +        "round"
      +      ],
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "status": {
      +      "title": "Status",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "kind",
      +    "status"
      +  ],
      +  "title": "UnreceivedPayload",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unreceived
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/UnreceivedPayload"
      +  },
      +  "title": "Unreceived",
      +  "type": "array"
      +}
  7. Changed5 schema fields changedv0.49.0
    • changedInput schema / $defs / GroupSeatSpec / properties / provider_options / description
      Previous value: -"Options for this seat's CLI; omitted keys use discussion member defaults."New value: +"Options for this seat's CLI, e.g. {\"model\": \"gpt-6.1-sol\", \"effort\": \"medium\"}; omitted keys use discussion member defaults."
    • changedInput schema / $defs / ManagerSessionId / description
      Previous value: -"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Omission uses AGENTNAVE_HOST_SESSION_ID if configured, else keeps records separate."New value: +"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round unless AGENTNAVE_HOST_SESSION_ID is injected for this chat."
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / title / anyOf
      Previous value: -[
      -  {
      -    "maxLength": 200,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / title / description
      Previous value: -"New show only: its title."New value: +"New show only: its short title, at most 48 columns (CJK characters count 2). If it is the manager chat's first conversation, it also names the workspace."
  8. Changed43 schema fields changedv0.35.0
    • addedInput schema / $defs / GroupSeatSpec
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "access": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "read",
      +            "write"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Declared desk access: read for exploring, planning or reviewing, write for changing files. Recorded and shown only; it never changes the CLI's native permissions.",
      +      "title": "Access"
      +    },
      +    "cwd": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Absolute directory for this seat; defaults to the group cwd.",
      +      "title": "Cwd"
      +    },
      +    "id": {
      +      "pattern": "^[a-z][a-z0-9_-]{0,31}$",
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "provider": {
      +      "$ref": "#/$defs/ProviderName"
      +    },
      +    "provider_options": {
      +      "additionalProperties": {
      +        "$ref": "#/$defs/ProviderOption"
      +      },
      +      "description": "Options for this seat's CLI; omitted keys use discussion member defaults.",
      +      "title": "Provider Options",
      +      "type": "object"
      +    },
      +    "role": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Optional desk role for this seat; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no role.",
      +      "title": "Role"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "provider"
      +  ],
      +  "title": "GroupSeatSpec",
      +  "type": "object"
      +}
    • addedInput schema / $defs / ProviderName
      Added value: +{
      +  "enum": [
      +    "antigravity",
      +    "claude",
      +    "codebuddy",
      +    "codex",
      +    "deepseek",
      +    "grok",
      +    "pi"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / $defs / ProviderOption
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "boolean"
      +    }
      +  ]
      +}
    • addedInput schema / properties / cwd
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "New show only: absolute directory seats run in; ignored when isolated.",
      +  "title": "Cwd"
      +}
    • changedInput schema / properties / forward / description
      Previous value: -"Message ids from wait_agent, wait_any, wait_round, decide_answers or post_host_message to add as committed forward entries before this round's task, in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. Seats receive them as data, not instructions."New value: +"Message ids from wait, run_round, decide_answers or read_conversation to add as committed forward entries before this round's task, in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. Seats receive them as data, not instructions."
    • addedInput schema / properties / group_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / group_id / default
      Added value: +null
    • addedInput schema / properties / group_id / description
      Added value: +"Show to continue; omit to open a new show from title and members."
    • removedInput schema / properties / group_id / type
      Removed value: -"string"
    • addedInput schema / properties / isolated
      Added value: +{
      +  "default": false,
      +  "description": "New show only: each seat gets its own empty directory and restricted_tools; seat options may only set model and effort (and Pi's provider).",
      +  "title": "Isolated",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / members
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "$ref": "#/$defs/GroupSeatSpec"
      +      },
      +      "maxItems": 7,
      +      "minItems": 2,
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "New show only: its 2–7 seats.",
      +  "title": "Members"
      +}
    • addedInput schema / properties / order / default
      Added value: +"parallel"
    • addedInput schema / properties / prompt / anyOf
      Added value: +[
      +  {
      +    "maxLength": 12000,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / prompt / default
      Added value: +null
    • changedInput schema / properties / prompt / description
      Previous value: -"Shared task for this round, visible to all seats."New value: +"Shared task for this round, visible to all seats; without seats, a public host remark every seat receives with its next round. Omit only to open a new show without posting anything."
    • removedInput schema / properties / prompt / minLength
      Removed value: -1
    • removedInput schema / properties / prompt / type
      Removed value: -"string"
    • addedInput schema / properties / review
      Added value: +{
      +  "default": false,
      +  "description": "New show only: hold each answer until decide_answers decides it.",
      +  "title": "Review",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / seats / default
      Added value: +[]
    • changedInput schema / properties / seats / description
      Previous value: -"Ordered seat ids that each answer once this round."New value: +"Ordered seat ids that each answer once; empty posts prompt as a host remark."
    • removedInput schema / properties / seats / minItems
      Removed value: -1
    • addedInput schema / properties / title
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "New show only: its title.",
      +  "title": "Title"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "group_id",
      -  "seats",
      -  "order",
      -  "prompt"
      -]
    • addedOutput schema / $defs / GroupSeatPayload
      Added value: +{
      +  "properties": {
      +    "access": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Access"
      +    },
      +    "cwd": {
      +      "title": "Cwd",
      +      "type": "string"
      +    },
      +    "defaults_applied": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Defaults Applied",
      +      "type": "array"
      +    },
      +    "effort": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Effort"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "model": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Model"
      +    },
      +    "provider": {
      +      "title": "Provider",
      +      "type": "string"
      +    },
      +    "role": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Role"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "provider",
      +    "cwd",
      +    "model",
      +    "effort",
      +    "role",
      +    "access",
      +    "defaults_applied"
      +  ],
      +  "title": "GroupSeatPayload",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / RoundPayload
      Added value: +{
      +  "properties": {
      +    "elapsed_ms": {
      +      "title": "Elapsed Ms",
      +      "type": "integer"
      +    },
      +    "entries": {
      +      "items": {
      +        "$ref": "#/$defs/CommittedEntryPayload"
      +      },
      +      "title": "Entries",
      +      "type": "array"
      +    },
      +    "error": {
      +      "title": "Error",
      +      "type": "string"
      +    },
      +    "group_id": {
      +      "title": "Group Id",
      +      "type": "string"
      +    },
      +    "order": {
      +      "enum": [
      +        "parallel",
      +        "serial"
      +      ],
      +      "title": "Order",
      +      "type": "string"
      +    },
      +    "reason": {
      +      "title": "Reason",
      +      "type": "string"
      +    },
      +    "round": {
      +      "title": "Round",
      +      "type": "integer"
      +    },
      +    "round_id": {
      +      "title": "Round Id",
      +      "type": "string"
      +    },
      +    "seats": {
      +      "items": {
      +        "$ref": "#/$defs/SeatRunPayload"
      +      },
      +      "title": "Seats",
      +      "type": "array"
      +    },
      +    "status": {
      +      "enum": [
      +        "running",
      +        "finished",
      +        "failed",
      +        "cancelled"
      +      ],
      +      "title": "Status",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "round_id",
      +    "group_id",
      +    "round",
      +    "order",
      +    "status",
      +    "reason",
      +    "elapsed_ms",
      +    "seats",
      +    "entries"
      +  ],
      +  "title": "RoundPayload",
      +  "type": "object"
      +}
    • changedOutput schema / $defs / SeatRunPayload / properties / status / enum
      Previous value: -[
      -  "pending",
      -  "running",
      -  "succeeded",
      -  "failed",
      -  "blocked",
      -  "cancelled",
      -  "not_started",
      -  "pending_review",
      -  "discarded"
      -]New value: +[
      +  "pending",
      +  "running",
      +  "succeeded",
      +  "failed",
      +  "blocked",
      +  "cancelled",
      +  "not_started",
      +  "pending_review",
      +  "private"
      +]
    • removedOutput schema / properties / dashboard_error
      Removed value: -{
      -  "title": "Dashboard Error",
      -  "type": "string"
      -}
    • removedOutput schema / properties / dashboard_url
      Removed value: -{
      -  "title": "Dashboard Url",
      -  "type": "string"
      -}
    • removedOutput schema / properties / director_url
      Removed value: -{
      -  "title": "Director Url",
      -  "type": "string"
      -}
    • removedOutput schema / properties / elapsed_ms
      Removed value: -{
      -  "title": "Elapsed Ms",
      -  "type": "integer"
      -}
    • removedOutput schema / properties / error
      Removed value: -{
      -  "title": "Error",
      -  "type": "string"
      -}
    • addedOutput schema / properties / members
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/GroupSeatPayload"
      +  },
      +  "title": "Members",
      +  "type": "array"
      +}
    • removedOutput schema / properties / order
      Removed value: -{
      -  "enum": [
      -    "parallel",
      -    "serial"
      -  ],
      -  "title": "Order",
      -  "type": "string"
      -}
    • removedOutput schema / properties / public_url
      Removed value: -{
      -  "title": "Public Url",
      -  "type": "string"
      -}
    • removedOutput schema / properties / reason
      Removed value: -{
      -  "title": "Reason",
      -  "type": "string"
      -}
    • addedOutput schema / properties / round / $ref
      Added value: +"#/$defs/RoundPayload"
    • removedOutput schema / properties / round / title
      Removed value: -"Round"
    • removedOutput schema / properties / round / type
      Removed value: -"integer"
    • removedOutput schema / properties / round_id
      Removed value: -{
      -  "title": "Round Id",
      -  "type": "string"
      -}
    • removedOutput schema / properties / seats
      Removed value: -{
      -  "items": {
      -    "$ref": "#/$defs/SeatRunPayload"
      -  },
      -  "title": "Seats",
      -  "type": "array"
      -}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "enum": [
      -    "running",
      -    "finished",
      -    "failed",
      -    "cancelled"
      -  ],
      -  "title": "Status",
      -  "type": "string"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "round_id",
      -  "group_id",
      -  "round",
      -  "order",
      -  "status",
      -  "reason",
      -  "elapsed_ms",
      -  "seats",
      -  "entries"
      -]New value: +[
      +  "group_id"
      +]
    • changedOutput schema / title
      Previous value: -"RoundPayload"New value: +"ShowRunPayload"
  9. Changed6 schema fields changedv0.31.0
    • addedInput schema / $defs / ManagerSessionId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 200,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Omission uses AGENTNAVE_HOST_SESSION_ID if configured, else keeps records separate."
      +}
    • addedInput schema / properties / forward
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Message ids from wait_agent, wait_any, wait_round, decide_answers or post_host_message to add as committed forward entries before this round's task, in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. Seats receive them as data, not instructions.",
      +  "title": "Forward"
      +}
    • addedInput schema / properties / manager_session_id
      Added value: +{
      +  "$ref": "#/$defs/ManagerSessionId",
      +  "default": null
      +}
    • addedOutput schema / $defs / CommittedEntryPayload
      Added value: +{
      +  "properties": {
      +    "kind": {
      +      "enum": [
      +        "task",
      +        "answer",
      +        "absent",
      +        "forward",
      +        "host"
      +      ],
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "message_id": {
      +      "title": "Message Id",
      +      "type": "string"
      +    },
      +    "round": {
      +      "title": "Round",
      +      "type": "integer"
      +    },
      +    "seat": {
      +      "title": "Seat",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "message_id",
      +    "kind",
      +    "round"
      +  ],
      +  "title": "CommittedEntryPayload",
      +  "type": "object"
      +}
    • addedOutput schema / properties / entries
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/CommittedEntryPayload"
      +  },
      +  "title": "Entries",
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "round_id",
      -  "group_id",
      -  "round",
      -  "order",
      -  "status",
      -  "reason",
      -  "elapsed_ms",
      -  "seats"
      -]New value: +[
      +  "round_id",
      +  "group_id",
      +  "round",
      +  "order",
      +  "status",
      +  "reason",
      +  "elapsed_ms",
      +  "seats",
      +  "entries"
      +]
  10. Changed7 schema fields changedv0.23.0
    • addedInput schema / $defs
      Added value: +{
      +  "ManagerModel": {
      +    "anyOf": [
      +      {
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "Your current manager model ID, when known from trusted host context. Metadata for this message only; never the subagent model or a CLI-derived guess. Omit when unknown. Does not change provider settings."
      +  }
      +}
    • addedInput schema / properties / manager_model
      Added value: +{
      +  "$ref": "#/$defs/ManagerModel",
      +  "default": null
      +}
    • changedOutput schema / $defs / SeatRunPayload / properties / status / enum
      Previous value: -[
      -  "pending",
      -  "running",
      -  "succeeded",
      -  "failed",
      -  "blocked",
      -  "cancelled",
      -  "not_started"
      -]New value: +[
      +  "pending",
      +  "running",
      +  "succeeded",
      +  "failed",
      +  "blocked",
      +  "cancelled",
      +  "not_started",
      +  "pending_review",
      +  "discarded"
      +]
    • addedOutput schema / properties / dashboard_error
      Added value: +{
      +  "title": "Dashboard Error",
      +  "type": "string"
      +}
    • addedOutput schema / properties / dashboard_url
      Added value: +{
      +  "title": "Dashboard Url",
      +  "type": "string"
      +}
    • addedOutput schema / properties / director_url
      Added value: +{
      +  "title": "Director Url",
      +  "type": "string"
      +}
    • addedOutput schema / properties / public_url
      Added value: +{
      +  "title": "Public Url",
      +  "type": "string"
      +}
  11. Addedv0.16.1

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive/openWorld/non-idempotent, and the description adds real context beyond them: seats keep native sessions across rounds and restarts, they automatically share committed entries, and only one round may be active per meeting. It also describes the closing protocol (post the summary as a prompt with no seats) and what an unreceived round flags. It does not explain why the call is destructive (e.g., that it launches agent processes or what state changes), which is the main residual gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loads the create/continue split, so no sentence is pure filler. But the telegraphic, fragment-heavy style ("unreceived flags ends/blockers/reviews for wait") costs readability, and the summary-on-close rule is appended at the end rather than integrated with the round lifecycle.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter tool with an output schema and full annotations, the description covers the lifecycle (create, run round, wait, close), the one-active-round constraint, and argument-mode rules. The missing pieces are the destructive/concurrency consequences of launching seats and any cost or timeout framing outside the schema's wait note, so it falls just short of complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema coverage at 87%, the baseline is 3; the description earns an extra point by adding cross-parameter rules the schema does not encode, such as group_id mirroring conversation_id, which arguments are creation-only and must be omitted when continuing, and that entries carry committed message_ids. It still leaves several arguments (forward, retry_seats, isolated interactions) resting mostly on the schema plus a pointer to MCP instructions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description leads with a specific verb pair and resource: "Create/continue a saved meeting", and immediately disambiguates the two modes (new vs existing). It also pins an identity mapping ("group_id equals conversation_id") that an agent would otherwise have to guess. It loses a point only because the core action (running a round of seat turns) is buried under jargon like "seats" and "committed entries" before it is stated plainly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives strong conditional guidance on argument choice ("New: title/members required; add prompt/seats to run round 1, omit prompt to only create. Existing: omit creation-only arguments") and implies a two-step pattern via "wait on round_id". However, it never frames this as tool-choice guidance against siblings such as wait, answer_prompt, or decide_answers, and it does not state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.