Skip to main content
Glama

confirm_resolution

Confirm a peer's resolution to stop a resolved obligation from resurfacing in channel_status(). Use after verifying the resolution; resolvers cannot confirm their own.

Instructions

Confirm a resolution you verified — the closing half of the debt loop. A resolved obligation keeps surfacing in channel_status().resolved_for_you of the participant who did NOT resolve it, until that participant either confirms (this tool) or reopens. The resolver cannot confirm their own resolution. Idempotent per resolution (a reopen + re-resolve requires a fresh confirmation); logged to message_history as 'resolution_confirmed'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
message_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/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 so well: it states the actor constraint (resolver cannot self-confirm), idempotency semantics (a reopen + re-resolve requires a fresh confirmation), and the concrete side effect (logged to message_history as 'resolution_confirmed'). These are exactly the state and safety facts an agent needs.

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?

Front-loaded with the core purpose, then layered mechanics with no filler sentences. The em-dash framing and parenthetical are dense but each sentence adds distinct information; slightly long for the payload.

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?

An output schema exists, so return values need not be described, and the workflow, actor restriction, and side effects are well covered for this complexity. The notable gap is parameter meaning, which is left entirely to the (undocumented) schema.

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

Parameters2/5

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

Schema description coverage is 0% and the description never explains what message_id or the optional note mean or accept. 'Idempotent per resolution' hints that message_id identifies the resolution, but neither parameter's semantics or format are clarified anywhere.

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?

States a specific verb and resource ('Confirm a resolution') and frames its role precisely as 'the closing half of the debt loop.' It clearly distinguishes itself from the resolver-side siblings (resolve_message, reopen_message) by naming the confirmation step and who performs it.

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?

Gives concrete when-to-use context ('keeps surfacing in channel_status().resolved_for_you... until that participant either confirms or reopens') and a clear precondition ('The resolver cannot confirm their own resolution'). It implies the alternative (reopen) but doesn't explicitly name reopen_message as a sibling to prefer under different conditions.

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