Skip to main content
Glama

drawing_gate

Validate a drawing's dimension set for manufacturing completeness, ensuring it fully and non-redundantly defines the part, and flagging missing, redundant, or conflicting dimensions.

Instructions

Manufacturing-completeness gate for a drawing page: does the placed dimension set fully and non-redundantly reconstruct the part? A green render is not a manufacturable drawing — this validates the drawing itself, the way the geometry-realizes-declaration gate validates an assembly.

Reads the real solid + the placed dimensions and accounts degrees of freedom, process-aware: a 'prismatic' (milled/plate) part must locate each hole by X/Y from a datum and size the block W×H×T; a 'turned' part is concentric, so a step needs only Ø + axial length. process='auto' infers it from the geometry.

Returns {ok, violations, slots_total, slots_covered, process, features, dimensions, enumerated_features, datum_faces, section_recommended}. section_recommended ({recommended, reasons, feature_ids}) advises whether the part has internal geometry that needs a cross-section (see add_section_view). Each violation has a code (under = a feature size/location is missing; redundant = a DOF dimensioned more than once; conflict = dimensioned twice with disagreeing values; extra = a dim that pins nothing; no_datum = a location not taken from a datum) and a human reason. ok=True (empty violations) means the drawing is manufacturing-complete.

Datum-origin discipline turns on automatically when the part has faces annotated role='datum' (annotate_face): a location dimension not measured from a datum face is then flagged no_datum. Set datums_declared=True to force the check on even without annotated datums.

require_ballooned=True additionally demands that every characteristic carries an inspection balloon (see balloon_drawing) — the requirement a release flow imposes when the drawing must ship with an inspection plan. Unballooned characteristics become not_ballooned violations and fail the gate. The ballooned ({ok, total, ballooned, missing}) summary is reported either way.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYes
processNoauto
datums_declaredNo
require_balloonedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations at all, the description carries the entire behavioral burden and does so: it enumerates the violation taxonomy (under/redundant/conflict/extra/no_datum/not_ballooned) with meanings, defines ok=True semantics, explains the DOF-accounting and process-aware ('prismatic' vs 'turned') rules, and discloses the returned payload keys plus the ballooned summary being reported even when not required. This is unusually rich disclosure for a validator.

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?

Front-loaded with the purpose and the checks it performs, then proceeds to return payload and violation codes. Dense and long, but nearly every sentence supplies non-obvious semantics; the violation-code enumeration is worth its length, though the prose could be trimmed slightly.

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?

There is no output schema, so the description must describe returns — and it lists the full response shape, explains section_recommended's sub-fields, and defines what an empty violations list means. Given the tool's complexity, an agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must supply all parameter meaning, and it does: process='auto' infers from geometry with 'prismatic'/'turned' behaviors described; datums_declared forces the datum check on without annotated datums; require_ballooned demands a balloon per characteristic and its failure mode. Only 'page' is left implicit, which is self-evident from context.

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?

States a specific verb and resource — validates the *drawing* itself by checking whether the placed dimension set fully and non-redundantly reconstructs the part — and explicitly distinguishes itself from the sibling geometry gate ('the way the geometry-realizes-declaration gate validates an assembly'). An agent can tell this apart from drawing_legibility, gdt_check, or verify_feature without opening any schema.

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?

Gives clear triggering context: IT is the gate to run when deciding whether a drawing is manufacturing-complete, and it names the conditions that activate extra checks (datum-origin discipline auto-on, datums_declared=True to force it, require_ballooned=True for release flows). It cross-references relevant siblings (add_section_view, balloon_drawing, annotate_face) but never states when to prefer it over drawing_legibility or gdt_check, so it falls short of full when/when-not routing.

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

Deploy Server

Other Tools