Skip to main content
Glama

rules

Evaluate project architecture assertions against a codebase and report each violation with its witness and derivation.

Instructions

The project's architecture rules judged (ce.rules-report schema): every assert in the rules file with its violations, each carrying its witness and derivation. The CLI exits on counts.violations; here it is a report.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whyNocarry every answer's derivation
fileNoa rules file (path relative to the root; default `[rules] file`, else ce.rules)
pathNosubpath (default: project root)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It usefully discloses that this variant does NOT exit/fail on violations (unlike the CLI) and that output includes witnesses and derivations, but it never states permissions, read-only nature, or whether the rules file is modified.

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?

Two compact sentences with no filler, and the behavioral contrast with the CLI is front-loaded. It is dense with internal terminology, which slightly reduces readability, but nothing is wasted.

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, and the description compensates by describing the report's contents (asserts, violations, witnesses, derivations). For a low-complexity, all-optional-parameter read tool this is largely sufficient, with only usage/alternative guidance missing.

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 description coverage is 100%, so the schema already documents why, file, and path, making 3 the baseline. The description touches the rules-file concept and the derivation output that corresponds to the `why` flag, but adds no format or syntax detail beyond the schema.

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?

The description states a specific resource (the project's architecture rules) and what it returns (every assert with its violations, witness, and derivation), which lets an agent infer this is a static-analysis/report tool. It is understandable but phrased in dense internal jargon ("judged", "ce.rules-report schema") and never names or contrasts any sibling like check, architecture, or doctor.

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?

The only usage hint is the CLI contrast ("The CLI exits on counts.violations; here it is a report"), implying this is the non-failing reporting variant. It gives no explicit when-to-use, when-not-to-use, or alternative tool to prefer, leaving the agent to infer placement relative to the many sibling analysis tools.

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