Skip to main content
Glama

Show ratchet status

ratchet_status
Idempotent

Check ratchet job state and progress, including counts, current parent, recent accept/reject decisions with reasons, and job details.

Instructions

Show the state of a ratchet: counts, the current parent, the last records with the reasons, and the job.

root: the ratchet folder (default: the folder of the last ratchet that this server started). last: how many of the last records to show (each: id, decision ACCEPT or REJECT, the rules that failed, the reasons, promoted, owner_approval). The whole log is ratchet.jsonl in the root: one JSON line for each record. States: starting, running (the job process is alive; file_state holds the state of the file when it is a final one that waits for the process to end), finished (every candidate was judged, or max_candidates was reached), waiting_for_owner (the opt-in gate: pending lists the accepted candidates, ratchet_approve decides), baseline_failed (the start part could not be judged), stopped_after_approval (ratchet_approve ended the job after an approval), failed (the last process ended with an error, for example a refused start: last_error has the exit code and the text; or it stopped with no exit code and no final state, for example killed: log_tail has its last output) and none (no ratchet in the folder). The final states show only after the process has ended, so the next call (ratchet_approve or ratchet_run) is not refused as busy. Nothing calls you back when the job ends: call it again in this turn until the state is finished, waiting_for_owner, baseline_failed, stopped_after_approval or failed, or process_alive is false, or end the turn and tell the user what to ask for the result. A promise of a later report cannot be kept. Also: job (the facts of the job: state, exit code, wall time, peak memory), process_alive, pid, mesh_size_mm (one size for the whole ratchet), baseline (its failed rules and facts), log_facts (a skipped partial line).

Input Schema

NameRequiredDescriptionDefault
lastNo
rootNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that final states appear only after the process ends, that the next call is therefore not refused as busy, that nothing calls back at job end so polling in the current turn is mandatory, and that a promise of a later report cannot be kept. It also explains failure diagnostics (last_error exit code, log_tail for killed processes) and the skipped partial line in log_facts. This is a rich behavioral contract that annotations alone could not convey.

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?

Front-loaded with the purpose, but the body is one dense block where the state enumeration, polling loop, and return-field list are interleaved, and the trailing 'Also:' sentence lists return fields after the behavioral advice. The content mostly earns its place, but the run-on state definitions and lack of grouping make it harder to scan than it needs to be.

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

Completeness5/5

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

With no output schema, the description takes full responsibility for return values and does so completely: every state name, the job facts, process_alive, pid, mesh_size_mm, baseline, and log_facts. An agent has everything needed to call it and interpret the result without further documentation.

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

Parameters5/5

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

Schema coverage is 0%, so the description must carry both parameters, and it does: 'root' is defined as the ratchet folder with its default (the folder of the last ratchet this server started), and 'last' is defined as how many trailing records to show, with each record's fields spelled out (id, decision, failed rules, reasons, promoted, owner_approval). It even points to ratchet.jsonl as the underlying log.

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 ('Show the state of a ratchet') and immediately enumerates what is shown: counts, current parent, last records with reasons, and the job. This clearly separates it from ratchet_run (which starts a job) and ratchet_approve (which decides), even though neither sibling is named as the explicit contrast.

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?

Gives explicit operating instructions: 'call it again in this turn until the state is finished, waiting_for_owner, baseline_failed, stopped_after_approval or failed, or process_alive is false', and names ratchet_approve/ratchet_run as the next calls to make. What's missing is a plain statement of when to prefer this over case_status or run_status, but within the ratchet family the routing is unambiguous.

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