Skip to main content
Glama

Consensus review

consensus

Request 2-5 independent AI reviewers for a prompt, collect responses with observed diversity, and obtain an optional synthesized summary to support decision-making.

Instructions

Ask 2-5 independent reviewers and return responses, observed diversity and an optional heuristic synthesis. May consume provider credits. Reuse the project_id and mission_id of the current task (from project_init / memory_checkpoint); when omitted, results go to project "default" and a new random mission that mission_status and memory_checkpoint will not find.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailNoControls response verbosity.normal
modelsNoNumber of independent reviewers to request (a count, not model names).
promptYesQuestion or artifact to review.
contextNoWorkspace evidence. Requires workspace; content is untrusted data.
privacyNoSecrets in attached context are always masked. auto also masks valid CPF/CNPJ/card numbers, emails and phones; local_only additionally routes only to local private targets (no_local_target otherwise); allow_cloud keeps personal data.auto
synthesisNonone, heuristic (no extra call) or model (one extra reviewer call).heuristic
workspaceNoConfigured workspace root for context.
mission_idNoMission of the current task; omitted creates a new random mission.
project_idNoProject of the current task; defaults to "default".default
lease_tokenNoToken from mission_claim. Required only while another holder has a live lease on this mission.
output_schemaNoJSON Schema subset (type, required, properties, items, enum) for the answer. delegate retries once and fails with response_invalid; consensus and swarm_run add structured_output or schema_error per answer.
idempotency_keyNoCaller key, valid 24 h in this process. The same key and arguments return the first result without a new provider call; different arguments fail with idempotency_conflict.
routing_strategyNoHow workers are assigned to eligible targets. Effective strategy and observed diversity are reported.round_robin
strict_diversityNoFail before any provider call when the requested diversity cannot be planned.
max_response_charsNoHard cap for returned textual content.
min_distinct_modelsNoDesired distinct models; a warning is returned when unavailable.
min_distinct_providersNoDesired distinct providers; a warning is returned when unavailable.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changedv4.1.0
    • addedInput schema / properties / context
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Workspace evidence. Requires workspace; content is untrusted data.",
      +  "properties": {
      +    "files": {
      +      "items": {
      +        "maxLength": 4096,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "type": "array"
      +    },
      +    "git_diff": {
      +      "default": false,
      +      "type": "boolean"
      +    },
      +    "search": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "max_results": {
      +          "default": 50,
      +          "maximum": 100,
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        "query": {
      +          "description": "Search query.",
      +          "maxLength": 2000,
      +          "minLength": 1,
      +          "pattern": "\\S",
      +          "type": "string",
      +          "x-pattern-reason": "must contain non-whitespace text"
      +        },
      +        "regex": {
      +          "default": false,
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "query"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / detail
      Added value: +{
      +  "default": "normal",
      +  "description": "Controls response verbosity.",
      +  "enum": [
      +    "brief",
      +    "normal",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "description": "Caller key, valid 24 h in this process. The same key and arguments return the first result without a new provider call; different arguments fail with idempotency_conflict.",
      +  "maxLength": 128,
      +  "minLength": 8,
      +  "pattern": "^[A-Za-z0-9._:-]+$",
      +  "type": "string"
      +}
    • addedInput schema / properties / lease_token
      Added value: +{
      +  "description": "Token from mission_claim. Required only while another holder has a live lease on this mission.",
      +  "maxLength": 128,
      +  "type": "string"
      +}
    • addedInput schema / properties / max_response_chars
      Added value: +{
      +  "description": "Hard cap for returned textual content.",
      +  "maximum": 200000,
      +  "minimum": 256,
      +  "type": "integer"
      +}
    • changedInput schema / properties / mission_id / description
      Previous value: -"Mission identifier inside the project."New value: +"Mission of the current task; omitted creates a new random mission."
    • changedInput schema / properties / mission_id / pattern
      Previous value: -"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,119}$"New value: +"^[a-zA-Z0-9](?:[a-zA-Z0-9._-]{0,118}[a-zA-Z0-9_-])?$"
    • changedInput schema / properties / mission_id / x-pattern-reason
      Previous value: -"must use 1-120 letters, digits, dots, underscores or hyphens and start with a letter or digit"New value: +"must use 1-120 letters, digits, dots, underscores or hyphens, start with a letter or digit and not end with a dot"
    • changedInput schema / properties / models / description
      Previous value: -"Reviewers to request."New value: +"Number of independent reviewers to request (a count, not model names)."
    • addedInput schema / properties / output_schema
      Added value: +{
      +  "description": "JSON Schema subset (type, required, properties, items, enum) for the answer. delegate retries once and fails with response_invalid; consensus and swarm_run add structured_output or schema_error per answer.",
      +  "type": "object"
      +}
    • addedInput schema / properties / privacy
      Added value: +{
      +  "default": "auto",
      +  "description": "Secrets in attached context are always masked. auto also masks valid CPF/CNPJ/card numbers, emails and phones; local_only additionally routes only to local private targets (no_local_target otherwise); allow_cloud keeps personal data.",
      +  "enum": [
      +    "auto",
      +    "local_only",
      +    "allow_cloud"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / project_id / description
      Previous value: -"Project memory identifier. Not an authorization boundary."New value: +"Project of the current task; defaults to \"default\"."
    • changedInput schema / properties / project_id / pattern
      Previous value: -"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,119}$"New value: +"^[a-zA-Z0-9](?:[a-zA-Z0-9._-]{0,118}[a-zA-Z0-9_-])?$"
    • changedInput schema / properties / project_id / x-pattern-reason
      Previous value: -"must use 1-120 letters, digits, dots, underscores or hyphens and start with a letter or digit"New value: +"must use 1-120 letters, digits, dots, underscores or hyphens, start with a letter or digit and not end with a dot"
    • addedInput schema / properties / workspace
      Added value: +{
      +  "description": "Configured workspace root for context.",
      +  "maxLength": 4096,
      +  "type": "string"
      +}
  2. Changed24 schema fields changedv3.0.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / min_distinct_models
      Added value: +{
      +  "description": "Desired distinct models; a warning is returned when unavailable.",
      +  "maximum": 7,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / min_distinct_providers
      Added value: +{
      +  "description": "Desired distinct providers; a warning is returned when unavailable.",
      +  "maximum": 7,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / mission_id / description
      Added value: +"Mission identifier inside the project."
    • addedInput schema / properties / mission_id / maxLength
      Added value: +120
    • addedInput schema / properties / mission_id / minLength
      Added value: +1
    • addedInput schema / properties / mission_id / pattern
      Added value: +"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,119}$"
    • addedInput schema / properties / mission_id / x-pattern-reason
      Added value: +"must use 1-120 letters, digits, dots, underscores or hyphens and start with a letter or digit"
    • addedInput schema / properties / models / default
      Added value: +3
    • addedInput schema / properties / models / description
      Added value: +"Reviewers to request."
    • addedInput schema / properties / project_id / default
      Added value: +"default"
    • addedInput schema / properties / project_id / description
      Added value: +"Project memory identifier. Not an authorization boundary."
    • addedInput schema / properties / project_id / maxLength
      Added value: +120
    • addedInput schema / properties / project_id / minLength
      Added value: +1
    • addedInput schema / properties / project_id / pattern
      Added value: +"^[a-zA-Z0-9][a-zA-Z0-9._-]{0,119}$"
    • addedInput schema / properties / project_id / x-pattern-reason
      Added value: +"must use 1-120 letters, digits, dots, underscores or hyphens and start with a letter or digit"
    • addedInput schema / properties / prompt / description
      Added value: +"Question or artifact to review."
    • addedInput schema / properties / prompt / maxLength
      Added value: +32000
    • addedInput schema / properties / prompt / minLength
      Added value: +1
    • addedInput schema / properties / prompt / pattern
      Added value: +"\\S"
    • addedInput schema / properties / prompt / x-pattern-reason
      Added value: +"must contain non-whitespace text"
    • addedInput schema / properties / routing_strategy
      Added value: +{
      +  "default": "round_robin",
      +  "description": "How workers are assigned to eligible targets. Effective strategy and observed diversity are reported.",
      +  "enum": [
      +    "first",
      +    "round_robin",
      +    "provider_diversity",
      +    "model_diversity",
      +    "cost_optimized",
      +    "latency_optimized"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / strict_diversity
      Added value: +{
      +  "default": false,
      +  "description": "Fail before any provider call when the requested diversity cannot be planned.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / synthesis
      Added value: +{
      +  "default": "heuristic",
      +  "description": "none, heuristic (no extra call) or model (one extra reviewer call).",
      +  "enum": [
      +    "none",
      +    "heuristic",
      +    "model"
      +  ],
      +  "type": "string"
      +}
  3. First observedv2.2.4

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses that provider credits may be consumed and that omitting project_id/mission_id silently routes results to project 'default' under a new random mission that mission_status and memory_checkpoint will not find. This is exactly the side-effect information an agent needs before invoking the tool.

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

Conciseness5/5

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

Three short sentences: core function first, cost second, and state-routing consequences third. Every sentence earns its place and there is no repetition of schema detail.

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 17-parameter tool with no output schema, the description names the expected returns (responses, observed diversity, optional synthesis) and covers the critical side effects around cost and mission/project routing. It is adequate but not exhaustive; output shape and specific failure modes are left to the schema, which is fully documented.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful cross-parameter context by instructing the agent to reuse the current task's project_id and mission_id and explaining the failure mode when they are omitted, which is not inferable from individual schema fields.

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

Purpose5/5

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

The description opens with a concrete action, 'Ask 2-5 independent reviewers', and names the deliverables: responses, observed diversity, and an optional heuristic synthesis. This distinguishes consensus from sibling tools like delegate and swarm_run by focusing on independent reviewers and diversity reporting.

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?

It gives clear operational context: when you want multiple independent reviews with diversity and optional synthesis, and it flags that provider credits may be consumed. It also gives explicit guidance to reuse the current project_id and mission_id and warns about the consequences of omitting them, though it does not explicitly contrast consensus with delegate or swarm_run.

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