Skip to main content
Glama

Mark Human Approved

mark_human_approved

Close the escalation loop by recording a human approve/reject decision on a review and returning the updated summary.

Instructions

Record a human approval decision on a needs_human REVIEW file.

Closes the escalation loop opened by write_review(decision='needs_human'). Writes human_approval sub-structure into the REVIEW frontmatter and returns the updated review summary (per ADR-0026).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
channelNoChannel through which the approval was submitted. One of ``mobile`` / ``cli`` / ``web`` / ``manual_file_edit``. Default: ``cli``.cli
commentNoOptional free-text comment from the approver.
approverYesRole code of the human approver. MUST be an agent with ``layer: admin`` (e.g. ``ADMIN``).
decisionYesHuman's binary decision: ``approve`` or ``reject``.
review_idYesThe stable review ID — filename stem without ``.md`` (e.g. ``REVIEW-20260510-001-ADMIN-on-some-task``).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.2.4

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure. It discloses the write effect on the REVIEW frontmatter and mentions the returned update. However, it does not state permissions, state prerequisites beyond 'needs_human', or behavior on reject vs approve.

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?

Two tightly scoped sentences: first states the action and target, second explains lifecycle context and the returned result. No filler; front-loaded with purpose.

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?

The description explains when this tool fits in the workflow (closing the write_review escalation loop) and what it returns. It omits some stateful details like whether the review must currently be in needs_human status, but the output schema exists and the reference to ADR-0026 provides context.

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

Parameters3/5

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

Schema covers 100% of parameters with descriptions, so baseline 3 applies. The description adds no extra parameter meaning beyond the schema, but none is needed.

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 uses a specific verb ('Record') and resource ('needs_human REVIEW file'), and explicitly distinguishes itself by naming the escalation loop opened by write_review(decision='needs_human'), separating it from sibling tools like write_review and approve_task.

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?

It clearly states the trigger: a review needs human approval after write_review(decision='needs_human'). It does not explicitly list alternatives or exclusions, but the lifecycle reference gives enough context for an agent to know when to invoke it.

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