← mecheval / run / a2-l-bracket-01 / openai-direct-gpt-5-mini / 20260428T213615Z-46d8
run 20260428T213615Z-46d8
Summary
| status | PASS |
| score | 1.00 (6/6) |
| submission | self-run |
| model | openai-direct-gpt-5-mini (openai) |
| started | 2026-04-28T21:36:15.526Z |
| ended | 2026-04-28T21:36:35.338Z |
| tokens | 682 in · 1,637 out · 2,319 total |
| wallclock | 19.8s |
| tool calls | 1 |
| task hash | c8efa8964b7ad82a… |
| vcad hash | 5ed1258906f70bf4… |
Prompt
Make an L-shaped mounting bracket. The base lies in the XY plane, occupying x in [0, 50], y in [0, 30], z in [0, 4] (50mm long, 30mm wide, 4mm thick). A vertical wall stands on the +X edge: x in [46, 50], y in [0, 30], z in [4, 30] (4mm thick, 30mm wide, rising to z = 30). Two through-holes of diameter 5mm pierce the base parallel to Z, centered at (10, 15) and (35, 15) on the top face. Output a single solid.
Checks
0
valid_solidpass
params + details
params: {
"type": "valid_solid"
}
details: {
"root_count": 1,
"solids_produced": 1
}
1
bboxpass
params + details
params: {
"type": "bbox",
"min": [
0,
0,
0
],
"max": [
50,
30,
30
],
"tolerance_mm": 0.1
}
details: {
"actual_max": [
50,
30,
30
],
"actual_min": [
0,
0,
0
],
"deviation_max": [
0,
0,
0
],
"deviation_min": [
0,
0,
0
],
"max_abs_deviation_mm": 0,
"tolerance_mm": 0.1
}
2
mass_propspass
params + details
params: {
"type": "mass_props",
"volume_mm3": 8962.92,
"tolerance_pct": 0.5
}
details: {
"volume": {
"actual_mm3": 8963.927721672726,
"deviation_pct": 0.011243229580604232,
"pass": true,
"spec_mm3": 8962.92,
"tolerance_pct": 0.5
}
}
3
hole_countpass
params + details
params: {
"type": "hole_count",
"diameter_mm": 5,
"expected": 2,
"diameter_tolerance_mm": 0.05
}
details: {
"actual": 2,
"diameter_mm": 5,
"diameter_tolerance_mm": 0.05,
"expected": 2,
"found": [
[
10,
15,
5
],
[
35,
15,
5
]
]
}
4
hole_positionspass
params + details
params: {
"type": "hole_positions",
"diameter_mm": 5,
"positions": [
[
10,
15,
0
],
[
35,
15,
0
]
],
"tolerance_mm": 0.1
}
details: {
"diameter_mm": 5,
"per_expected": [
{
"distance_mm": 0,
"matched_hole": [
10,
15
],
"pass": true,
"spec_xy": [
10,
15
]
},
{
"distance_mm": 0,
"matched_hole": [
35,
15
],
"pass": true,
"spec_xy": [
35,
15
]
}
],
"tolerance_mm": 0.1,
"unmatched_extras": []
}
5
step_roundtrippass
params + details
params: {
"type": "step_roundtrip",
"tolerance_pct": 0.1
}
details: {
"per_solid": [
{
"bbox": {
"max_abs_deviation_mm": 0,
"original_max": [
50,
30,
30
],
"original_min": [
0,
0,
0
],
"pass": true,
"roundtripped_max": [
50,
30,
30
],
"roundtripped_min": [
0,
0,
0
],
"tolerance_mm": 0.06557438524302
},
"index": 0,
"pass": true,
"volume": {
"deviation_pct": 0,
"original_mm3": 8963.927721672726,
"pass": true,
"roundtripped_mm3": 8963.927721672726
}
}
],
"tolerance_pct": 0.1
}
Tool calls
0
openai.chat.completions.createok
19766ms
args
{
"model": "gpt-5-mini",
"max_tokens": 8000,
"system_chars": 1674,
"user_chars": 470
}What the model built
isometric render via vcad-render · the model's actual .vcad output, faceted at 28 segments per cylinder · download 20260428T213615Z-46d8.vcad
.vcad source
{
"version": "0.1",
"nodes": {
"1": {
"id": 1,
"name": "base",
"op": {
"type": "Cube",
"size": {
"x": 50,
"y": 30,
"z": 4
}
}
},
"2": {
"id": 2,
"name": "wall_cube",
"op": {
"type": "Cube",
"size": {
"x": 4,
"y": 30,
"z": 26
}
}
},
"3": {
"id": 3,
"name": "wall",
"op": {
"type": "Translate",
"child": 2,
"offset": {
"x": 46,
"y": 0,
"z": 4
}
}
},
"4": {
"id": 4,
"name": "body",
"op": {
"type": "Union",
"left": 1,
"right": 3
}
},
"5": {
"id": 5,
"name": "hole_cyl1",
"op": {
"type": "Cylinder",
"radius": 2.5,
"height": 40,
"segments": 32
}
},
"6": {
"id": 6,
"name": "hole1",
"op": {
"type": "Translate",
"child": 5,
"offset": {
"x": 10,
"y": 15,
"z": 0
}
}
},
"7": {
"id": 7,
"name": "hole_cyl2",
"op": {
"type": "Cylinder",
"radius": 2.5,
"height": 40,
"segments": 32
}
},
"8": {
"id": 8,
"name": "hole2",
"op": {
"type": "Translate",
"child": 7,
"offset": {
"x": 35,
"y": 15,
"z": 0
}
}
},
"9": {
"id": 9,
"name": "holes",
"op": {
"type": "Union",
"left": 6,
"right": 8
}
},
"10": {
"id": 10,
"name": "bracket",
"op": {
"type": "Difference",
"left": 4,
"right": 9
}
}
},
"materials": {},
"part_materials": {},
"roots": [
{
"root": 10,
"material": "default"
}
]
}