Skip to main content
Glama

review_verdict

DestructiveIdempotent

Record a verdict against a registered review item, replacing any prior answer. Free-text verdict with optional note, refusing unregistered names.

Instructions

Record a verdict against a review item registered by review_add.

verdict is a free string, not an enum — past review rounds answered yes/no, "loop"/"hold", or a specific choice by name, and a fixed vocabulary would misfit whichever question the next round is actually asking.

Refuses a name review_add has not registered. Calling it again for the same item replaces that item's answer rather than appending one, so a round holds one verdict per item, with the time it was recorded.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe registered item being answered. An unregistered name is refused.
noteNoAnything to record beside the verdict.
pathNoThe project directory to act on. Omit it — the usual case — when this server is bound to a project (started as `proofcut -C DIR mcp`, or inside a project; `ping` says which): it then resolves to that one bound project, a relative path resolves against it, and a path outside it is refused by name. Unbound, `path` is the whole address and omitting it refuses rather than guessing.
verdictYesThe answer, as free text rather than an enum — past rounds answered yes/no, loop/hold, or a specific choice by name, and a fixed vocabulary would misfit whichever question the next round asks.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changedv0.25.0
    • addedInput schema / properties / name / description
      Added value: +"The registered item being answered. An unregistered name is refused."
    • removedInput schema / properties / name / title
      Removed value: -"Name"
    • removedInput schema / properties / note / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / note / description
      Added value: +"Anything to record beside the verdict."
    • removedInput schema / properties / note / title
      Removed value: -"Note"
    • addedInput schema / properties / note / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / path / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / path / description
      Added value: +"The project directory to act on. Omit it — the usual case — when this server is bound to a project (started as `proofcut -C DIR mcp`, or inside a project; `ping` says which): it then resolves to that one bound project, a relative path resolves against it, and a path outside it is refused by name. Unbound, `path` is the whole address and omitting it refuses rather than guessing."
    • removedInput schema / properties / path / title
      Removed value: -"Path"
    • addedInput schema / properties / path / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedInput schema / properties / verdict / description
      Added value: +"The answer, as free text rather than an enum — past rounds answered yes/no, loop/hold, or a specific choice by name, and a fixed vocabulary would misfit whichever question the next round asks."
    • removedInput schema / properties / verdict / title
      Removed value: -"Verdict"
    • removedInput schema / title
      Removed value: -"review_verdictArguments"
  2. First observedv0.24.0

TDQS

A4.4/5.0
Behavior5/5

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

Beyond annotations, the description discloses refusal of unregistered names, replacement rather than appending, one-verdict-per-item semantics, and that the recorded time is part of the state. This gives the agent a clear picture of side effects without relying on inference.

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?

The purpose is front-loaded in the first sentence, and the rest provides important behavioral context. The free-text rationale is slightly repetitive with the verdict parameter description, but all sentences earn their place.

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

Completeness5/5

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

Given the output schema and complete input schema, the description covers the registration prerequisite, free-text semantics, replacement behavior, refusal case, and timestamp side effect. An agent has enough information to select and invoke the tool 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?

Schema coverage is 100%, and each parameter already has a detailed description, including nuanced path behavior. The description mostly reiterates the verdict free-text rationale from the schema rather than adding new parameter-level meaning, so the baseline 3 applies.

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 states a specific action ('Record a verdict') against a specific resource ('a review item registered by review_add'). This clearly distinguishes it from sibling tools like review_add (registration) and review_list (listing).

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 makes the prerequisite explicit: the verdict must be against an item already registered by review_add. It gives clear context for when this tool is appropriate, though it does not explicitly name alternatives or when-not-to-use conditions.

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