Skip to main content
Glama

aiworkhub_task_recover_blocked_rework

Recover one exact blocked task through the canonical transaction.

Instructions

Recover one exact blocked task through the canonical transaction.

scope_rejection_resolved is the manager's explicit, audited clean-root resolution of a scope_rejected card; it requires feedback_reason. A feedback_reason over 8000 UTF-8 bytes is refused with feedback_reason_too_large:<bytes>><cap>; it is never truncated.

When the core result's stdout parses to a card dict the reply is the shared _lifecycle_receipt projection (aiworkhub.recover_blocked_rework_receipt.v1, include_card="none"): task_id/status/worker_status plus card_sha256/card_bytes from the canonical _card_identity (the same basis as aiworkhub_task_show), the card's runner/recovery_epoch/recovery_predecessor when present, a detail_request for aiworkhub_task_show, and every extra top-level key the core call attached -- never the whole recovered card (NF-2026-01566). command is never echoed: its argv carries feedback_reason (up to 8000 bytes). A not-ok or card-less result is returned unchanged minus the argv echo, so error text is never hidden.

Input Schema

NameRequiredDescriptionDefault
task_idYes
feedback_reasonNo
validation_amendmentNo
validation_only_replayNo
scope_rejection_resolvedNo
clean_root_if_predecessor_missingNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full load. It does valuable work on the response contract and on refusal behavior (oversized feedback_reason is refused, never truncated; argv containing the reason is never echoed — a real leak-prevention detail). But for a recovery/mutation transaction it says nothing about eligibility preconditions, what state transition occurs, whether the action is idempotent or reversible, or whether it re-launches a worker.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is correctly front-loaded and no sentence is pure filler, but the bulk of the paragraph is devoted to the receipt projection and stdout-parsing behavior. Since the tool already has an output schema, that length is largely misallocated relative to the unaddressed parameters.

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

Completeness2/5

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

An output schema exists, so explaining the _lifecycle_receipt shape is optional; meanwhile the gaps that matter — when this tool applies, what it changes, and four undocumented parameters — are unfilled. For a 6-parameter manager-level transaction tool with no annotations, the description is not sufficient to call it correctly.

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% across 6 parameters, so the description must compensate and it covers only two: feedback_reason (8000-byte UTF-8 cap, required when scope_rejection_resolved is set) and scope_rejection_resolved. validation_amendment, validation_only_replay, and clean_root_if_predecessor_missing are left entirely undefined, including the last one which appears to be a significant safety switch.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb and scope ("Recover one exact blocked task") which is better than a restated name, but "blocked rework" and "the canonical transaction" are internal jargon. Critically, the sibling list contains many adjacent recovery/retry tools (aiworkhub_task_stale_recovery_recommend, aiworkhub_task_retry_terminal, aiworkhub_manager_reconcile_dead_processing, aiworkhub_agent_retry_finalization) and the description draws no boundary against any of them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to reach for this tool versus a retry, a stale-recovery recommendation, or a reconcile. The only precondition-like content is that scope_rejection_resolved is the manager's audited resolution of a scope_rejected card and requires feedback_reason, which is parameter semantics rather than routing guidance.

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

Deploy Server

Other Tools