Skip to main content
Glama

tandem_review_run

Run one read-only review scenario without manually coordinating its native turns.

Instructions

Run one read-only review scenario without manually coordinating its native turns.

start: supply ReviewRequest and a stable request_key for this logical request. Reusing the key returns the same run; a different payload conflicts. Code captures the snapshot, runs independent think review, then at most one comparison if author material was supplied and the independent report succeeded. Total budget defaults to 600 seconds, including startup, both stages and questions. It never edits files or runs supplied test commands. status/reply/cancel: use the returned run_id, never start again to wait. Replies require the current question_id. Full stage answers, findings, applicability and peer-only usage are assembled by code. Claims are not automatically accepted or applied. Missing context needs an explicit new capture (context_paths), not hidden live reads.

Input Schema

NameRequiredDescriptionDefault
actionYes
answerNo
run_idNo
compareNo
requestNo
executionNo
question_idNo
request_keyNo
wait_secondsNo
budget_secondsNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.12.0
    • changedInput schema / properties / execution / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "model": {
      -        "anyOf": [
      -          {
      -            "minLength": 1,
      -            "pattern": "\\S",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "profile": {
      -        "default": "balanced",
      -        "description": "Profile defaults: quick: Defaults to low thinking with a 600-second deadline. balanced: Defaults to high thinking with a 1800-second deadline. deep: Defaults to high thinking with a 3600-second deadline. Uses the same thinking level as balanced with a longer deadline, not higher reasoning. These are default choices; overrides, effective settings, and actual settings are reported separately.",
      -        "enum": [
      -          "quick",
      -          "balanced",
      -          "deep"
      -        ],
      -        "type": "string"
      -      },
      -      "thinking": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "off",
      -              "minimal",
      -              "low",
      -              "medium",
      -              "high",
      -              "xhigh",
      -              "max"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "timeout_seconds": {
      -        "anyOf": [
      -          {
      -            "maximum": 7200,
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "focus": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "allow_external": {
      +                "default": false,
      +                "type": "boolean"
      +              },
      +              "goal": {
      +                "maxLength": 4000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "surfaces": {
      +                "items": {
      +                  "enum": [
      +                    "context",
      +                    "tools",
      +                    "outputs"
      +                  ],
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "goal"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Explicit goal and export consent for optional context, tool presentation and focused readers; never inherited."
      +      },
      +      "model": {
      +        "anyOf": [
      +          {
      +            "minLength": 1,
      +            "pattern": "\\S",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "profile": {
      +        "default": "balanced",
      +        "description": "Profile defaults: quick: Defaults to low thinking with a 600-second deadline. balanced: Defaults to high thinking with a 1800-second deadline. deep: Defaults to high thinking with a 3600-second deadline. Uses the same thinking level as balanced with a longer deadline, not higher reasoning. These are default choices; overrides, effective settings, and actual settings are reported separately.",
      +        "enum": [
      +          "quick",
      +          "balanced",
      +          "deep"
      +        ],
      +        "type": "string"
      +      },
      +      "routing": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "allow_external_summary": {
      +                "default": false,
      +                "type": "boolean"
      +              },
      +              "input_modalities": {
      +                "items": {
      +                  "enum": [
      +                    "text",
      +                    "image"
      +                  ],
      +                  "type": "string"
      +                },
      +                "maxItems": 2,
      +                "minItems": 1,
      +                "type": "array"
      +              },
      +              "input_token_estimate": {
      +                "maximum": 2000000,
      +                "minimum": 1,
      +                "type": "integer"
      +              },
      +              "max_candidate_cost_usd": {
      +                "anyOf": [
      +                  {
      +                    "minimum": 0,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null
      +              },
      +              "output_token_estimate": {
      +                "maximum": 2000000,
      +                "minimum": 1,
      +                "type": "integer"
      +              },
      +              "summary": {
      +                "maxLength": 4000,
      +                "pattern": "\\S",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "summary",
      +              "input_token_estimate",
      +              "output_token_estimate"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Explicit export-approved input for optional shadow routing; never inherited or applied to execution."
      +      },
      +      "thinking": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "off",
      +              "minimal",
      +              "low",
      +              "medium",
      +              "high",
      +              "xhigh",
      +              "max"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "timeout_seconds": {
      +        "anyOf": [
      +          {
      +            "maximum": 7200,
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed2 schema fields changedv3.10.0
    • changedInput schema / properties / request / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "author_proposal": {
      -        "default": "",
      -        "maxLength": 200000,
      -        "type": "string"
      -      },
      -      "author_rationale": {
      -        "default": "",
      -        "maxLength": 200000,
      -        "type": "string"
      -      },
      -      "base": {
      -        "default": "HEAD",
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "checks": {
      -        "items": {
      -          "properties": {
      -            "code_fingerprint": {
      -              "anyOf": [
      -                {
      -                  "pattern": "^[0-9a-f]{64}$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "command": {
      -              "anyOf": [
      -                {
      -                  "maxLength": 4000,
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "name": {
      -              "maxLength": 200,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "output": {
      -              "maxLength": 1048576,
      -              "type": "string"
      -            },
      -            "source": {
      -              "default": "coordinator supplied",
      -              "maxLength": 1000,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "output"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": "array"
      -      },
      -      "commit": {
      -        "anyOf": [
      -          {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Required with source=commit: the exact committed snapshot to review against base."
      -      },
      -      "context_paths": {
      -        "description": "Explicit additional saved context; staged reviews use index bytes, never live files.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 256,
      -        "type": "array"
      -      },
      -      "corrective": {
      -        "anyOf": [
      -          {
      -            "description": "Explicit prior exposure, never permission to reuse a prior verdict.",
      -            "properties": {
      -              "open_findings": {
      -                "items": {
      -                  "properties": {
      -                    "expected_revision": {
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "finding_id": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "finding_id",
      -                    "expected_revision"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 100,
      -                "type": "array"
      -              },
      -              "previous_code_fingerprint": {
      -                "pattern": "^[0-9a-f]{64}$",
      -                "type": "string"
      -              },
      -              "previous_review_id": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "previous_review_id",
      -              "previous_code_fingerprint"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "criteria": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "external_boundaries": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "paths": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "maxItems": 256,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "requirements": {
      -        "maxLength": 200000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source": {
      -        "default": "worktree",
      -        "description": "Select worktree bytes, Git index bytes, or the tree of an existing commit compared with base. Staged and commit captures never read live files.",
      -        "enum": [
      -          "worktree",
      -          "staged",
      -          "commit"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "requirements"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "author_proposal": {
      +        "default": "",
      +        "maxLength": 200000,
      +        "type": "string"
      +      },
      +      "author_rationale": {
      +        "default": "",
      +        "maxLength": 200000,
      +        "type": "string"
      +      },
      +      "base": {
      +        "default": "HEAD",
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "checks": {
      +        "items": {
      +          "properties": {
      +            "code_fingerprint": {
      +              "anyOf": [
      +                {
      +                  "pattern": "^[0-9a-f]{64}$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "command": {
      +              "anyOf": [
      +                {
      +                  "maxLength": 4000,
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "name": {
      +              "maxLength": 200,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "output": {
      +              "maxLength": 1048576,
      +              "type": "string"
      +            },
      +            "source": {
      +              "default": "coordinator supplied",
      +              "maxLength": 1000,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "output"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": "array"
      +      },
      +      "commit": {
      +        "anyOf": [
      +          {
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Required with source=commit: the exact committed snapshot to review against base."
      +      },
      +      "context_paths": {
      +        "description": "Explicit additional saved context; staged reviews use index bytes, never live files.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 256,
      +        "type": "array"
      +      },
      +      "corrective": {
      +        "anyOf": [
      +          {
      +            "description": "Explicit prior exposure, never permission to reuse a prior verdict.",
      +            "properties": {
      +              "open_findings": {
      +                "items": {
      +                  "properties": {
      +                    "expected_revision": {
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "finding_id": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "finding_id",
      +                    "expected_revision"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "previous_code_fingerprint": {
      +                "pattern": "^[0-9a-f]{64}$",
      +                "type": "string"
      +              },
      +              "previous_review_id": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "previous_review_id",
      +              "previous_code_fingerprint"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "criteria": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "external_boundaries": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "paths": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "maxItems": 256,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "requirements": {
      +        "maxLength": 200000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "review_directory": {
      +        "default": "",
      +        "description": "Directory inside the launch project whose Git state is reviewed, relative to the project root. Use it when the work lives in a nested repository or a subtree with its own history. Selected and context paths stay relative to the project root regardless. Empty means the project root itself.",
      +        "maxLength": 4096,
      +        "type": "string"
      +      },
      +      "source": {
      +        "default": "worktree",
      +        "description": "Select worktree bytes, Git index bytes, or the tree of an existing commit compared with base. Staged and commit captures never read live files.",
      +        "enum": [
      +          "worktree",
      +          "staged",
      +          "commit"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "requirements"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / wait_seconds / maximum
      Previous value: -25New value: +1200
  3. Changed1 schema field changedv3.8.0
    • changedInput schema / properties / request / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "author_proposal": {
      -        "default": "",
      -        "maxLength": 200000,
      -        "type": "string"
      -      },
      -      "author_rationale": {
      -        "default": "",
      -        "maxLength": 200000,
      -        "type": "string"
      -      },
      -      "base": {
      -        "default": "HEAD",
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "checks": {
      -        "items": {
      -          "properties": {
      -            "code_fingerprint": {
      -              "anyOf": [
      -                {
      -                  "pattern": "^[0-9a-f]{64}$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "command": {
      -              "anyOf": [
      -                {
      -                  "maxLength": 4000,
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "name": {
      -              "maxLength": 200,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "output": {
      -              "maxLength": 1048576,
      -              "type": "string"
      -            },
      -            "source": {
      -              "default": "coordinator supplied",
      -              "maxLength": 1000,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "output"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": "array"
      -      },
      -      "commit": {
      -        "anyOf": [
      -          {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Required with source=commit: the exact committed snapshot to review against base."
      -      },
      -      "context_paths": {
      -        "description": "Explicit additional saved context; staged reviews use index bytes, never live files.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 256,
      -        "type": "array"
      -      },
      -      "criteria": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "external_boundaries": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "paths": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "maxItems": 256,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "requirements": {
      -        "maxLength": 200000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source": {
      -        "default": "worktree",
      -        "description": "Select worktree bytes, Git index bytes, or the tree of an existing commit compared with base. Staged and commit captures never read live files.",
      -        "enum": [
      -          "worktree",
      -          "staged",
      -          "commit"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "requirements"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "author_proposal": {
      +        "default": "",
      +        "maxLength": 200000,
      +        "type": "string"
      +      },
      +      "author_rationale": {
      +        "default": "",
      +        "maxLength": 200000,
      +        "type": "string"
      +      },
      +      "base": {
      +        "default": "HEAD",
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "checks": {
      +        "items": {
      +          "properties": {
      +            "code_fingerprint": {
      +              "anyOf": [
      +                {
      +                  "pattern": "^[0-9a-f]{64}$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "command": {
      +              "anyOf": [
      +                {
      +                  "maxLength": 4000,
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "name": {
      +              "maxLength": 200,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "output": {
      +              "maxLength": 1048576,
      +              "type": "string"
      +            },
      +            "source": {
      +              "default": "coordinator supplied",
      +              "maxLength": 1000,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "output"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": "array"
      +      },
      +      "commit": {
      +        "anyOf": [
      +          {
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Required with source=commit: the exact committed snapshot to review against base."
      +      },
      +      "context_paths": {
      +        "description": "Explicit additional saved context; staged reviews use index bytes, never live files.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 256,
      +        "type": "array"
      +      },
      +      "corrective": {
      +        "anyOf": [
      +          {
      +            "description": "Explicit prior exposure, never permission to reuse a prior verdict.",
      +            "properties": {
      +              "open_findings": {
      +                "items": {
      +                  "properties": {
      +                    "expected_revision": {
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "finding_id": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "finding_id",
      +                    "expected_revision"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 100,
      +                "type": "array"
      +              },
      +              "previous_code_fingerprint": {
      +                "pattern": "^[0-9a-f]{64}$",
      +                "type": "string"
      +              },
      +              "previous_review_id": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "previous_review_id",
      +              "previous_code_fingerprint"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "criteria": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "external_boundaries": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "paths": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "maxItems": 256,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "requirements": {
      +        "maxLength": 200000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "source": {
      +        "default": "worktree",
      +        "description": "Select worktree bytes, Git index bytes, or the tree of an existing commit compared with base. Staged and commit captures never read live files.",
      +        "enum": [
      +          "worktree",
      +          "staged",
      +          "commit"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "requirements"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. Changed1 schema field changedv3.5.0
    • changedInput schema / properties / request / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "author_proposal": {
      -        "default": "",
      -        "maxLength": 200000,
      -        "type": "string"
      -      },
      -      "author_rationale": {
      -        "default": "",
      -        "maxLength": 200000,
      -        "type": "string"
      -      },
      -      "base": {
      -        "default": "HEAD",
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "checks": {
      -        "items": {
      -          "properties": {
      -            "code_fingerprint": {
      -              "anyOf": [
      -                {
      -                  "pattern": "^[0-9a-f]{64}$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "command": {
      -              "anyOf": [
      -                {
      -                  "maxLength": 4000,
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "name": {
      -              "maxLength": 200,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "output": {
      -              "maxLength": 1048576,
      -              "type": "string"
      -            },
      -            "source": {
      -              "default": "coordinator supplied",
      -              "maxLength": 1000,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "output"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": "array"
      -      },
      -      "context_paths": {
      -        "description": "Explicit additional saved context; staged reviews use index bytes, never live files.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 256,
      -        "type": "array"
      -      },
      -      "criteria": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "external_boundaries": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "paths": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "maxItems": 256,
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "requirements": {
      -        "maxLength": 200000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source": {
      -        "default": "worktree",
      -        "description": "Select worktree bytes or Git index bytes compared with base. Staged capture never reads live files.",
      -        "enum": [
      -          "worktree",
      -          "staged"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "requirements"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "author_proposal": {
      +        "default": "",
      +        "maxLength": 200000,
      +        "type": "string"
      +      },
      +      "author_rationale": {
      +        "default": "",
      +        "maxLength": 200000,
      +        "type": "string"
      +      },
      +      "base": {
      +        "default": "HEAD",
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "checks": {
      +        "items": {
      +          "properties": {
      +            "code_fingerprint": {
      +              "anyOf": [
      +                {
      +                  "pattern": "^[0-9a-f]{64}$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "command": {
      +              "anyOf": [
      +                {
      +                  "maxLength": 4000,
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "name": {
      +              "maxLength": 200,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "output": {
      +              "maxLength": 1048576,
      +              "type": "string"
      +            },
      +            "source": {
      +              "default": "coordinator supplied",
      +              "maxLength": 1000,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "output"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": "array"
      +      },
      +      "commit": {
      +        "anyOf": [
      +          {
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Required with source=commit: the exact committed snapshot to review against base."
      +      },
      +      "context_paths": {
      +        "description": "Explicit additional saved context; staged reviews use index bytes, never live files.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 256,
      +        "type": "array"
      +      },
      +      "criteria": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "external_boundaries": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "paths": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "maxItems": 256,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "requirements": {
      +        "maxLength": 200000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "source": {
      +        "default": "worktree",
      +        "description": "Select worktree bytes, Git index bytes, or the tree of an existing commit compared with base. Staged and commit captures never read live files.",
      +        "enum": [
      +          "worktree",
      +          "staged",
      +          "commit"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "requirements"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  5. Addedv3.3.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: read-only, never edits files or runs supplied test commands, idempotent request_key semantics (same key returns same run, different payload conflicts), a two-stage pipeline with at most one comparison gated on author material and independent-report success, and the note that claims are not auto-applied. Gaps remain: it states a 600-second default total budget while the schema's profile descriptions imply 600/1800/3600 by profile, and it says nothing about permissions or concurrent-run behavior.

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

Conciseness4/5

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

Purpose is front-loaded in one sentence, then actions are grouped as 'start' and 'status/reply/cancel', which mirrors the enum and reads well. Some sentences pack multiple clauses (snapshot capture, think review, comparison gate, budget) and could be split, but there is little outright waste.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the description covers the core lifecycle and the read-only guarantee. For a ten-parameter, four-action orchestration tool it still leaves the polling/wait semantics, the compare flag, and the entire execution/profile surface unexplained, which an agent will need before calling correctly.

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

Parameters3/5

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

Top-level schema description coverage is 0%, so the description must compensate, and it partially does: it explains action dispatch, request_key idempotency/conflict, run_id reuse, and the question_id requirement for replies. It says nothing about wait_seconds, budget_seconds, compare, or the execution block (profile/thinking/timeout), leaving several of the ten parameters unexplained anywhere at the top level.

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 opening sentence states a specific verb and resource (run a read-only review scenario) and immediately scopes it as 'without manually coordinating its native turns', which tells the agent this is the orchestrated one-shot path. It never names the sibling tandem_review or explains how it differs, so differentiation is left implicit.

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

Usage Guidelines4/5

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

The description routes each action: start requires a ReviewRequest plus a stable request_key; status/reply/cancel reuse the returned run_id and explicitly warn 'never start again to wait'; replies require the current question_id. That is clear per-action guidance with an explicit prohibition, though it does not compare against the other review-family siblings.

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