Skip to main content
Glama

gograph_untested

Read-onlyIdempotent

Sweep the full graph in one pass to find called production functions without a static test path. Returns caller counts and test resolution status for test census.

Instructions

Sweep the full graph in one pass and return called production functions and methods without an exact transitive static path from any test. The MCP server checks freshness first. Precise direct calls and proof-backed concrete interface receivers are exact; open CHA or parser-only paths propagate possible to descendants, which remain visible with test_resolution=possible and possible_test_count. Repeatable CLI --exclude globs map to the MCP exclude string array and match repository-relative source paths lexically. This is static attribution, not runtime coverage proof. Read-only; no side effects. WHEN TO USE: During test census or pre-release hardening; it replaces N forward coverage or direct gograph_tests probes. NOT TO USE: For running tests or proving branch execution. RETURNS: JSON rows sorted by caller_count with stable_id, name, kind, file, line, caller_count, package, test_resolution, and optional possible_test_count.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pkgNoOptional package name substring to filter results (e.g. 'cli', 'search')
topNoLimit results to top N by caller count (0 = all, default)
excludeNoRepository-relative path globs to exclude; use prefix/** for all descendants

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.6.2
    • addedInput schema / properties / exclude
      Added value: +{
      +  "description": "Repository-relative path globs to exclude; use prefix/** for all descendants",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changedv1.5.6
    • changedInput schema / properties / top / type
      Previous value: -"number"New value: +"integer"
  3. Addedv1.4.78

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, and closed-world hints. The description adds significant context: it checks freshness first, explains exact vs possible test attribution (CHA/parser-only paths), notes repeatable CLI --exclude mapping, clarifies it is static attribution not runtime coverage, and explicitly states it is read-only with no side effects, which reinforces rather than contradicts annotations.

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?

The description is well-structured with clear sections (general behavior, WHEN TO USE, NOT TO USE, RETURNS). It is somewhat long but every sentence adds useful information. Front-loads the core purpose before details.

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?

Given the tool's complexity and lack of an output schema, the description is complete. It explains the return format (JSON rows sorted by caller_count with specified fields) and covers behavioral aspects like freshness check and static attribution. Nothing critical is missing for an agent to invoke it correctly.

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 coverage is 100%, so the schema already documents all three parameters. The description adds some detail about exclude globs mapping from CLI and matching repository-relative paths lexically, but does not go beyond the schema's own descriptions for pkg and top. Baseline 3 is appropriate when the schema does the heavy lifting.

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 states a specific verb and resource: 'Sweep the full graph in one pass and return called production functions and methods without an exact transitive static path from any test.' This clearly distinguishes it from siblings like gograph_tests and gograph_callers.

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

Usage Guidelines5/5

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

Explicit WHEN TO USE and NOT TO USE sections are provided. It tells the agent to use it during test census or pre-release hardening and that it replaces forward coverage or direct gograph_tests probes. It also clearly states not to use it for running tests or proving branch execution.

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