Skip to main content
Glama

commit_write

Commit a prepared action only after atomic context revalidation, preventing stale writes. Returns durable IDs and audit; retries are idempotent.

Instructions

Commit exactly the prepared action after atomic context revalidation. Tickets expire after 15 minutes; a review goes stale only when something it depends on changes (names in the searched scope, links at its candidates, or the collection catalog). A successful action_id is idempotent on retry, including after restart. Returns durable IDs and audit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
action_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 full behavioral disclosure and does so thoroughly: atomic context revalidation before commitment, 15-minute ticket expiry, dependency-based staleness conditions, idempotency on retry even after restart, and the return of durable IDs and audit. This is rich, non-obvious behavioral context.

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 sentences with no filler: the first states the core action, the second explains expiry and staleness, the third covers idempotency and return behavior. The most important information is front-loaded.

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 single-parameter commit tool with an output schema, the description covers commit semantics, failure conditions, idempotency, and return value. The only notable gap is not explicitly pointing to prepare_write as the source of action_id, but 'prepared action' already implies that workflow.

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?

The input schema only provides action_id as a string, so the description adds needed meaning by revealing that action_id is a ticket/prepared-action identifier that expires and is idempotent on retry. It does not explicitly state where action_id comes from, such as a prior prepare_write call, but the 'prepared action' wording gives adequate semantic grounding.

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?

States a clear verb ('Commit') and a specific object ('the prepared action') with meaningful qualifiers: 'exactly' and 'after atomic context revalidation.' The singular action_id and 'prepared action' wording distinguish it from siblings like commit_batch_write and commit_import, though no sibling is explicitly named.

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?

Provides useful operational context: tickets expire after 15 minutes and staleness depends on specific dependency changes, so an agent understands when a commit may fail. However, it does not explicitly say when to prefer this tool over commit_batch_write or commit_import, leaving usage guidance implied rather than explicit.

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