Skip to main content
Glama

edict_generate_tests

Generate structured test cases automatically from Z3-verified contracts, extracting boundary values and counterexamples to create regression tests without manual effort.

Instructions

Auto-generate structured test cases from Z3-verified contracts. For proven contracts, extracts boundary input values and expected outputs from Z3 models. For failing contracts, extracts counterexample inputs as regression tests. Returns an array of GeneratedTest objects — each with function name, input values, expected output, and source (boundary/counterexample). Use this to get free tests from formal specifications without writing them manually.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
astYesThe Edict program AST (module) — same format as edict_check
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does (generates tests from contracts) and the output format (array of GeneratedTest objects), but lacks details on permissions, rate limits, or error handling. It adds some context on source types (boundary/counterexample), but could be more comprehensive for a tool with mutation implications (generating tests).

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

Conciseness5/5

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

The description is front-loaded with the core purpose in the first sentence, followed by supporting details in a logical flow. Each sentence adds value: explaining functionality for different contract states, output structure, and use case. There is no wasted text, making it highly efficient and well-structured.

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?

Given the tool's complexity (generating tests from formal verification) and lack of annotations and output schema, the description does a good job explaining the process and output. It covers the input (AST from edict_check), behavior for proven/failing contracts, and return format. However, it could improve by detailing error cases or integration with sibling tools, leaving minor gaps in completeness.

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%, with the parameter 'ast' well-documented in the schema. The description does not add any parameter-specific details beyond what the schema provides (e.g., format or examples), so it meets the baseline of 3. Since there is only one parameter, this is adequate but not enhanced.

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 clearly states the specific action ('Auto-generate structured test cases') and resource ('from Z3-verified contracts'), distinguishing it from siblings like edict_check (verification) or edict_run (execution). It explains the dual functionality for proven vs. failing contracts, making the purpose explicit and differentiated.

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?

The description provides clear context for when to use this tool ('to get free tests from formal specifications without writing them manually') and implies usage after verification (referencing 'Z3-verified contracts'). However, it does not explicitly state when not to use it or name alternatives among siblings, such as edict_examples or edict_debug, which might offer different testing approaches.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sowiedu/Edict'

If you have feedback or need assistance with the MCP directory API, please join our Discord server