Skip to main content
Glama
Praket7

agent-interop-runtime

by Praket7

conversation_reconcile

Recover interrupted outbound sends after a crash by reclassifying stuck queued or unknown records and closing them with caller-verified provider receipts, without auto-resending messages.

Instructions

Recover interrupted outbound sends after a crash: reclassify stuck queued/unknown records and close them with caller-verified provider receipts (never auto-resends).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
conversationIdNo
observedReceiptsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.18

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only indicate readOnlyHint=false (mutation) and destructiveHint=false, so the description carries the burden of explaining the tool's side effects. It adds valuable behavior: it reclassifies state, closes records, never auto-resends, and relies on caller-verified receipts. This goes beyond the annotations, though it does not disclose edge-case behavior (e.g., what happens if a receipt does not match a record).

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?

The description is a single, front-loaded sentence. It leads with the tool's primary purpose ('Recover interrupted outbound sends after a crash'), then efficiently details the action and the key safety constraint. There is no filler or repetition; every phrase earns its place.

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?

The tool has two optional parameters (required: 0), no output schema, and no parameter descriptions. The description explains the general flow but leaves gaps: it does not clarify why both parameters are optional, what happens if receipts do not match records, or whether the operation is idempotent. An agent may still be unsure about how to correctly invoke it with the right combinations of arguments.

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 0%, so the description must compensate. It does so by linking 'caller-verified provider receipts' to the observedReceipts parameter and the notion of a conversation to conversationId. This provides semantic context for both parameters, even though it does not spell out their exact meaning or constraints. The description adds value beyond the bare JSON schema.

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 specific verb and resource: 'Recover interrupted outbound sends after a crash'. It then details the action ('reclassify stuck queued/unknown records and close them') and a critical constraint ('never auto-resends'). This clearly distinguishes it from siblings like conversation_send or work_verify by focusing on post-crash reconciliation rather than normal sending or verification.

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 provides contextual usage: it is for interrupted sends after a crash, targeting stuck queued/unknown records, and requires caller-verified provider receipts. It implies this is a recovery path, not a normal send, but it does not explicitly name alternative tools or state when not to use it. The 'never auto-resends' clause adds an exclusion for auto-send expectations, giving the agent a clear conditional context.

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