Skip to main content
Glama
a4a-network

A4A (Agent-for-Agent Network)

Official
by a4a-network

a4a_delivery_status

Reports a journaled delivery outcome and rechecks relays for a recipient's signed ACK, recording late acknowledgements after an offline receiver returns.

Instructions

Report a journaled a4a_deliver outcome and look again for a late ACK.

A recipient whose receiver was offline acknowledges when it comes back, often long
after a4a_deliver returned dead_letter. This rechecks the relays for the recipient's
own signed ACK and records it as a LATE acknowledgement.

Outcomes: acknowledged (the recipient signed a receipt), dead_letter (published, no
receipt yet), publish_failed (no relay accepted it; nothing was sent), interrupted
(published, then the delivery stopped on an error), sending (the process stopped
mid-delivery; the outcome was never learned).

Args:
    delivery_id: The 32-character delivery_id returned by a4a_deliver.

Input Schema

NameRequiredDescriptionDefault
delivery_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/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 well: it discloses the hidden side effect that this rechecks relays and *records* a LATE acknowledgement, and enumerates the four possible outcomes including the ambiguous 'sending'/'interrupted' states. It stops short of stating auth requirements, idempotency of repeated polls, or rate limits.

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?

Front-loaded with the core action, then a one-sentence rationale, then a compact outcome glossary that directly aids interpretation. No filler sentences.

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 structure needn't be explained, yet the description still supplies the outcome semantics that a bare schema would not convey. The missing piece is whether polling is safe/idempotent and whether recording a late ACK has side effects on other state.

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 coverage is 0%, so the description must compensate, and it does: delivery_id is documented as 'the 32-character delivery_id returned by a4a_deliver,' giving both the expected format and provenance. Only the single parameter exists, so the gap is minor.

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: 'Report a journaled a4a_deliver outcome and look again for a late ACK.' It ties the tool to its sibling a4a_deliver and makes clear this is a status/recheck operation rather than a send, so an agent can distinguish it immediately.

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?

Explicitly describes the triggering condition: a recipient's receiver was offline and acks later, 'often long after a4a_deliver returned dead_letter,' which is exactly when to re-invoke this. It lacks a stated when-not/alternative, though no sibling performs this recheck.

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