{
  "artifacts": {
    "step": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085329Z-parametric-hole-array-V3/parametric_hole_array_v3.step",
    "step_sha256": "d024165594b5f1cdddfe37ac0c97cf424f8b52f6c0d4d7356f7fb0edbb761eee",
    "stl": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085329Z-parametric-hole-array-V3/parametric_hole_array_v3.stl",
    "stl_sha256": "c168bc0d56b5336dd8f46117ca172a8e8ec362352015c3b423ae70e88f63ae59"
  },
  "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-28T08:53:33.148190+00:00",
  "metrics": {
    "bounding_box_mm": {
      "x": 150.0,
      "y": 94.0,
      "z": 8.0
    },
    "solid_count": 1,
    "valid_shape": true,
    "volume_mm3": 111381.02664470766
  },
  "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": 3
}
