{
  "artifacts": {
    "step": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T112559Z-parametric-hole-array-V1/parametric_hole_array_v1.step",
    "step_sha256": "6ef6ce4f1887f28cf54b350c266a1eaf63ea62b16fa92d7ebbdf20a229a64304",
    "stl": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T112559Z-parametric-hole-array-V1/parametric_hole_array_v1.stl",
    "stl_sha256": "8b2e55689e1ddd38035c48a08b3ab2239987b74cc5eb9e6968777ea671dd25d5"
  },
  "builder_version": "0.2.0-stage3c.2-speed-core",
  "checks": {
    "allowlisted_exercise_only": true,
    "draft_only": true,
    "one_valid_final_solid": true,
    "positive_volume": true,
    "safe_bounding_box": true,
    "step_written": true,
    "stl_written": true
  },
  "classification": "AUTONOMOUS_PRACTICE_PASS",
  "exercise_id": "parametric.hole-array",
  "exercise_title": "Parametric Hole Array",
  "generated_at": "2026-07-28T11:26:02.333967+00:00",
  "metrics": {
    "bounding_box_mm": {
      "x": 110.0,
      "y": 70.0,
      "z": 6.0
    },
    "solid_count": 1,
    "valid_shape": true,
    "volume_mm3": 45701.25666117693
  },
  "ok": true,
  "safety": {
    "arbitrary_code_allowed": false,
    "certification_changed": false,
    "forge_permission_changed": false,
    "non_load_bearing_only": true,
    "production_release": false,
    "protected_academy_state_modified": false,
    "uncounted_practice_only": true
  },
  "skills_practised": [
    "hole patterns",
    "spacing",
    "safe margins"
  ],
  "variant": 1
}
