verify_spec
Checks a built 3D solid against a design-intent spec to verify requested features and constraints match the actual geometry, returning a conformance report with PASS/FAIL/UNVERIFIED status.
Instructions
Verify the built solid against a declared design-intent spec — did you build what was requested? Checks requested features/constraints against the actual geometry and returns an evidence-tiered conformance report; unlike validate() (is the solid valid?) this answers requested-vs-built. Provide the spec as inline JSON (spec=) or a .json file path (spec_path=). Supported spec keys: envelope_mm {x/y/z:[lo,hi]} (bbox size in range), solid {count, valid}, volume_mm3 {min,max}, features:[{kind:"hole_pattern",pattern:"bolt_circle"|"linear_array",holes,bcd_mm|pitch_mm,diameter_mm} | {kind:"hole",count,diameter_mm,depth_mm,through:bool,counterbore:{diameter_mm,depth_mm}|true|false,spotface:{...}} | {kind:"boss",diameter_mm,height_mm} | {kind:"countersink",count,major_diameter_mm,drill_diameter_mm,included_angle_deg,depth_mm} | {kind:"material_at_point",point:[x,y,z],expect:"solid"|"void"} | {kind:"wall_thickness_at",point:[x,y,z],direction:[dx,dy,dz],expect_mm:[lo,hi]}] (counterbore/spotface: true=present, false=absent; a depth_mm matches the recognizer-measured depth which may differ from a drawing callout; material_at_point asks is-this-point-inside-the-solid to disambiguate add-vs-remove features the recognizers can't see; wall_thickness_at measures the local wall thickness along a line through the point and range-checks it — the thin-wall blind spot; both are measured-tier but frame-DEPENDENT: absolute coordinates tied to the part's own frame, verifying a same-session build, not portable across a repositioned part; a point in no wall reads UNVERIFIED), parameters:[{name,min,max}] (top-level numeric assignment in range), min_wall_mm (global minimum wall ≥ value, measured tier via augura), targets:[{name,verifiable:false}] (→UNVERIFIED). Returns JSON: {conformance:[{requirement, status:PASS|FAIL|UNVERIFIED, tier:measured|structural|recognised|unverified, actual/found/hint}], summary:{pass,fail,unverified,conforms}, note}. conforms = no FAILs; UNVERIFIED requirements are NOT met (out of scope), never counted as passing. Dimensions match within max(0.1mm, 1%); counts exact; an unrecognised feature kind is UNVERIFIED, not a false FAIL. Not a certification. Re-run after edits as a regression/acceptance gate. object_name: named object from show() (default: current shape).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spec | No | ||
| spec_path | No | ||
| object_name | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |