Skip to main content
Glama

prufgate_test_audit

Read-onlyIdempotent

Detect zero-assertion tests, tautologies, self-mocked units, and weakened assertions to uncover ineffective test cases.

Instructions

Engine 2: zero-assertion tests, tautologies, self-mocked units and weakened assertions.

Input Schema

NameRequiredDescriptionDefault
base_refNoBase git ref to diff against, e.g. origin/main
changed_onlyNoScan only changed files
workspace_pathNoPath to the repository to scan.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the detection categories, which hints at what findings come back, but says nothing about result volume, whether it executes tests, or how findings are reported.

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?

One short fragment, so there is no waste, but it is not front-loaded with the most important information: 'Engine 2' leads while the actual subject (scanning test integrity in a repository) is never stated. Brevity here reflects under-specification rather than disciplined editing.

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?

This is a parametrized scanner with no output schema, so the description should explain what a run returns (findings list? score? file locations?). It also leaves ambiguous the default behavior when no base_ref is supplied. Given a 3-parameter tool in a family of nine, this is thin.

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% with all three parameters fully described (base_ref, changed_only, workspace_path), so the schema carries the load. The description adds no semantics about how these parameters interact with the engine, e.g. that base_ref only matters when changed_only is used.

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 description names the specific defect classes the engine detects (zero-assertion tests, tautologies, self-mocked units, weakened assertions), which does separate it from sibling engines like prufgate_bola_check or prufgate_contract_check. However, it never states the action: there is no verb indicating it scans/audits a repository's test suite, and 'Engine 2' is opaque without outside context.

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?

No guidance on when to run this engine versus the eight sibling prufgate tools, no prerequisites, and no mention of whether it should follow prufgate_fast_scan or feed into prufgate_review. The agent must infer the workflow entirely.

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