Skip to main content
Glama

Gap-fill ledger stats

orangepro_stats
Read-only

Summarize local gap-fill ledger metrics—attempted, dynamic-reproven, unproven, legacy static-associated, generated-but-unverifiable, and kept rate—to reveal test coverage gaps without changing code.

Instructions

Summarize the local gap-fill ledger: attempted, dynamic-reproven, unproven, legacy static-associated, generated-but-unverifiable, and kept rate. Metadata-only.

Input Schema

NameRequiredDescriptionDefault
workspaceNoLocal workspace root. Defaults to the current directory.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Addedv0.2.59

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description does add real context beyond them: 'local' (reads a workspace-local ledger, no network), 'Metadata-only' (does not parse source bodies, so it is cheap). It says nothing about behavior on an empty/absent ledger or what the kept rate is computed against, which is the practical gap.

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

Conciseness4/5

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

One sentence, front-loaded with verb+resource, then the metric list which is dense but each item is the actual return content. No filler. The metric names are jargon-heavy but that mirrors the domain vocabulary used by siblings.

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?

There is no output schema, so enumerating the reported metrics in the description is the right compensating move and it is done. Missing only the edge cases (empty ledger, zero-denominator for the rate) and a pointer to the sibling that lists the underlying gaps individually.

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?

A single optional parameter with 100% schema description coverage, so the schema already explains that 'workspace' defaults to the current directory. The description adds no further meaning, such as how the ledger is located relative to the workspace root. Baseline 3 applies because the schema carries this burden.

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

Purpose4/5

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

States a specific verb (Summarize) and resource (local gap-fill ledger) and enumerates the exact metrics returned: attempted, dynamic-reproven, unproven, legacy static-associated, generated-but-unverifiable, kept rate. This separates it from siblings like orangepro_find_test_gaps and orangepro_rtm. It stops short of an explicit contrast with those siblings, so 5 is not warranted.

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 call this versus orangepro_find_test_gaps, orangepro_status, or orangepro_rtm, all of which an agent could plausibly pick for gap reporting. Usage is only implied by the word 'Summarize' and by the metric list; no exclusions or prerequisites are given.

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