{
  "adaptive_cooldown": true,
  "arbitrary_prompt_execution_allowed": false,
  "certification_write_allowed": false,
  "completed_runs": 83,
  "consecutive_failures": 3,
  "cooldown_seconds": 5,
  "counted_attempts_allowed": false,
  "created_at": "2026-07-28T08:03:11.653091+00:00",
  "current_lesson": null,
  "curriculum_id": "academy_speed_core_v1",
  "curriculum_lessons": [
    {
      "id": "gothic.pointed-arch-cutout",
      "skills": [
        "boolean cut",
        "symmetry",
        "named dimensions"
      ],
      "title": "Pointed Arch Cutout"
    },
    {
      "id": "gothic.lancet-pair",
      "skills": [
        "repetition",
        "spacing",
        "boolean cut"
      ],
      "title": "Paired Lancet Windows"
    },
    {
      "id": "gothic.quatrefoil-recess",
      "skills": [
        "circle composition",
        "shallow recess",
        "boolean union"
      ],
      "title": "Quatrefoil Recess"
    },
    {
      "id": "gothic.trefoil-recess",
      "skills": [
        "radial composition",
        "shallow recess",
        "boolean union"
      ],
      "title": "Trefoil Recess"
    },
    {
      "id": "gothic.rose-window",
      "skills": [
        "radial pattern",
        "through holes",
        "safe margins"
      ],
      "title": "Rose Window Pattern"
    },
    {
      "id": "gothic.ribbed-panel",
      "skills": [
        "additive ribs",
        "alignment",
        "fillets"
      ],
      "title": "Ribbed Gothic Panel"
    },
    {
      "id": "gothic.tracery-panel",
      "skills": [
        "compound motifs",
        "boolean cuts",
        "pattern layout"
      ],
      "title": "Simple Tracery Panel"
    },
    {
      "id": "gothic.organiser-facade",
      "skills": [
        "container shell",
        "decorative recess",
        "parameter variation"
      ],
      "title": "Gothic Organiser Facade"
    },
    {
      "id": "parametric.rounded-shell",
      "skills": [
        "shelling",
        "wall thickness",
        "fillets"
      ],
      "title": "Rounded Parametric Shell"
    },
    {
      "id": "parametric.hole-array",
      "skills": [
        "hole patterns",
        "spacing",
        "safe margins"
      ],
      "title": "Parametric Hole Array"
    },
    {
      "id": "parametric.recessed-nameplate",
      "skills": [
        "recess depth",
        "mounting holes",
        "named dimensions"
      ],
      "title": "Recessed Nameplate"
    },
    {
      "id": "parametric.mounting-block",
      "skills": [
        "through holes",
        "pockets",
        "parameter variation"
      ],
      "title": "Non-load-bearing Mounting Block"
    },
    {
      "id": "parametric.organiser-layout",
      "skills": [
        "container shell",
        "divider spacing",
        "floor thickness"
      ],
      "title": "Compartment Layout"
    },
    {
      "id": "parametric.fillet-matrix",
      "skills": [
        "edge selection",
        "fillet limits",
        "robust fallback"
      ],
      "title": "Fillet Matrix"
    },
    {
      "id": "parametric.pattern-grid",
      "skills": [
        "rectangular patterns",
        "shallow pockets",
        "repeatability"
      ],
      "title": "Pocket Pattern Grid"
    },
    {
      "id": "parametric.fit-gauge",
      "skills": [
        "stepped dimensions",
        "clearance intent",
        "validation"
      ],
      "title": "Parametric Fit Gauge"
    },
    {
      "id": "dice-tower.hollow-shell",
      "skills": [
        "hollow shell",
        "open top",
        "wall thickness"
      ],
      "title": "Dice Tower Hollow Shell"
    },
    {
      "id": "dice-tower.angled-ramp",
      "skills": [
        "sloped prism",
        "ramp thickness",
        "side-wall connection"
      ],
      "title": "Dice Tower Angled Ramp"
    },
    {
      "id": "dice-tower.ramp-clearance",
      "skills": [
        "minimum passage",
        "dice envelope",
        "parameter matrix"
      ],
      "title": "Dice Passage Clearance Gauge"
    },
    {
      "id": "dice-tower.exit-arch",
      "skills": [
        "pointed arch",
        "front-wall cut",
        "safe margin"
      ],
      "title": "Gothic Dice Exit Arch"
    },
    {
      "id": "dice-tower.side-lancets",
      "skills": [
        "side-wall openings",
        "paired repetition",
        "symmetry"
      ],
      "title": "Dice Tower Side Lancets"
    },
    {
      "id": "dice-tower.rose-window",
      "skills": [
        "radial recess",
        "front-wall depth",
        "original ornament"
      ],
      "title": "Dice Tower Rose Window Recess"
    },
    {
      "id": "dice-tower.collection-tray",
      "skills": [
        "open tray",
        "raised edge",
        "tower overlap"
      ],
      "title": "Integrated Dice Collection Tray"
    },
    {
      "id": "dice-tower.integrated-draft",
      "skills": [
        "tower assembly",
        "alternating ramps",
        "collection tray",
        "printer fit"
      ],
      "title": "Integrated Gothic Dice Tower Draft"
    },
    {
      "id": "dice-tower.exit-chute",
      "skills": [
        "sloped exit chute",
        "side rails",
        "tray overlap",
        "controlled roll"
      ],
      "title": "Controlled Dice Exit Chute"
    },
    {
      "id": "dice-tower.final-ramp-alignment",
      "skills": [
        "final ramp alignment",
        "door transition",
        "no vertical drop",
        "continuous path"
      ],
      "title": "Final Ramp to Door Alignment"
    },
    {
      "id": "dice-tower.core-contract",
      "skills": [
        "family architecture",
        "theme separation",
        "shared mechanics",
        "named parameters"
      ],
      "title": "Reusable Dice Tower Mechanical Contract"
    },
    {
      "id": "dice-tower.barrier-free-exit",
      "skills": [
        "clearance probe",
        "flush threshold",
        "obstruction removal",
        "controlled roll"
      ],
      "title": "Barrier-Free Exit Corridor"
    },
    {
      "id": "dice-tower.theme-gothic",
      "skills": [
        "theme isolation",
        "pointed openings",
        "recessed ornament",
        "protected dice path"
      ],
      "title": "Gothic Theme Layer"
    },
    {
      "id": "dice-tower.theme-cartoon",
      "skills": [
        "theme isolation",
        "rounded openings",
        "playful recesses",
        "protected dice path"
      ],
      "title": "Cartoon Theme Layer"
    }
  ],
  "curriculum_title": "Parametric + Core Dice Tower + Theme Layer Foundations",
  "enabled": true,
  "evidence_root": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore",
  "external_network_research_allowed": false,
  "failed_runs": 6,
  "forge_permission_write_allowed": false,
  "foundation_target_reached": true,
  "history": [
    {
      "completed_at": "2026-07-28T08:52:03.163997+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085159Z-gothic-lancet-pair-V3",
      "lesson_id": "gothic.lancet-pair",
      "ok": true,
      "run_id": "20260728T085159Z-gothic-lancet-pair-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:52:14.129849+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085210Z-gothic-quatrefoil-recess-V3",
      "lesson_id": "gothic.quatrefoil-recess",
      "ok": true,
      "run_id": "20260728T085210Z-gothic-quatrefoil-recess-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:52:25.345157+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085221Z-gothic-trefoil-recess-V3",
      "lesson_id": "gothic.trefoil-recess",
      "ok": true,
      "run_id": "20260728T085221Z-gothic-trefoil-recess-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:52:36.690063+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085232Z-gothic-rose-window-V3",
      "lesson_id": "gothic.rose-window",
      "ok": true,
      "run_id": "20260728T085232Z-gothic-rose-window-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:52:48.670702+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085243Z-gothic-ribbed-panel-V3",
      "lesson_id": "gothic.ribbed-panel",
      "ok": true,
      "run_id": "20260728T085243Z-gothic-ribbed-panel-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:52:59.670488+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085255Z-gothic-tracery-panel-V3",
      "lesson_id": "gothic.tracery-panel",
      "ok": true,
      "run_id": "20260728T085255Z-gothic-tracery-panel-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:53:11.505264+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085307Z-gothic-organiser-facade-V3",
      "lesson_id": "gothic.organiser-facade",
      "ok": true,
      "run_id": "20260728T085307Z-gothic-organiser-facade-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:53:22.515674+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085318Z-parametric-rounded-shell-V3",
      "lesson_id": "parametric.rounded-shell",
      "ok": true,
      "run_id": "20260728T085318Z-parametric-rounded-shell-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:53:33.885074+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085329Z-parametric-hole-array-V3",
      "lesson_id": "parametric.hole-array",
      "ok": true,
      "run_id": "20260728T085329Z-parametric-hole-array-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:53:44.971779+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085341Z-parametric-recessed-nameplate-V3",
      "lesson_id": "parametric.recessed-nameplate",
      "ok": true,
      "run_id": "20260728T085341Z-parametric-recessed-nameplate-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:54:02.239777+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085352Z-parametric-mounting-block-V3",
      "lesson_id": "parametric.mounting-block",
      "ok": true,
      "run_id": "20260728T085352Z-parametric-mounting-block-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:54:16.871888+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085409Z-parametric-organiser-layout-V3",
      "lesson_id": "parametric.organiser-layout",
      "ok": true,
      "run_id": "20260728T085409Z-parametric-organiser-layout-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:54:32.574438+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085425Z-parametric-fillet-matrix-V3",
      "lesson_id": "parametric.fillet-matrix",
      "ok": true,
      "run_id": "20260728T085425Z-parametric-fillet-matrix-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:54:46.580506+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085440Z-parametric-pattern-grid-V3",
      "lesson_id": "parametric.pattern-grid",
      "ok": true,
      "run_id": "20260728T085440Z-parametric-pattern-grid-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T08:55:00.528171+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T085454Z-parametric-fit-gauge-V3",
      "lesson_id": "parametric.fit-gauge",
      "ok": true,
      "run_id": "20260728T085454Z-parametric-fit-gauge-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T09:10:06.611411+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T091002Z-gothic-pointed-arch-cutout-V1",
      "lesson_id": "gothic.pointed-arch-cutout",
      "ok": true,
      "run_id": "20260728T091002Z-gothic-pointed-arch-cutout-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T09:25:12.733725+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T092508Z-gothic-lancet-pair-V1",
      "lesson_id": "gothic.lancet-pair",
      "ok": true,
      "run_id": "20260728T092508Z-gothic-lancet-pair-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T09:40:19.011247+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T094015Z-gothic-quatrefoil-recess-V1",
      "lesson_id": "gothic.quatrefoil-recess",
      "ok": true,
      "run_id": "20260728T094015Z-gothic-quatrefoil-recess-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T09:55:25.066480+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T095521Z-gothic-trefoil-recess-V1",
      "lesson_id": "gothic.trefoil-recess",
      "ok": true,
      "run_id": "20260728T095521Z-gothic-trefoil-recess-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T10:10:31.552826+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T101027Z-gothic-rose-window-V1",
      "lesson_id": "gothic.rose-window",
      "ok": true,
      "run_id": "20260728T101027Z-gothic-rose-window-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T10:25:37.675457+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T102533Z-gothic-ribbed-panel-V1",
      "lesson_id": "gothic.ribbed-panel",
      "ok": true,
      "run_id": "20260728T102533Z-gothic-ribbed-panel-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T10:40:44.672172+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T104039Z-gothic-tracery-panel-V1",
      "lesson_id": "gothic.tracery-panel",
      "ok": true,
      "run_id": "20260728T104039Z-gothic-tracery-panel-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T10:55:51.095048+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T105546Z-gothic-organiser-facade-V1",
      "lesson_id": "gothic.organiser-facade",
      "ok": true,
      "run_id": "20260728T105546Z-gothic-organiser-facade-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T11:10:57.050217+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T111053Z-parametric-rounded-shell-V1",
      "lesson_id": "parametric.rounded-shell",
      "ok": true,
      "run_id": "20260728T111053Z-parametric-rounded-shell-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T11:26:03.189482+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T112559Z-parametric-hole-array-V1",
      "lesson_id": "parametric.hole-array",
      "ok": true,
      "run_id": "20260728T112559Z-parametric-hole-array-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T11:41:08.633745+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T114105Z-parametric-recessed-nameplate-V1",
      "lesson_id": "parametric.recessed-nameplate",
      "ok": true,
      "run_id": "20260728T114105Z-parametric-recessed-nameplate-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T11:56:15.033522+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T115610Z-parametric-mounting-block-V1",
      "lesson_id": "parametric.mounting-block",
      "ok": true,
      "run_id": "20260728T115610Z-parametric-mounting-block-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T12:11:20.618071+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T121117Z-parametric-organiser-layout-V1",
      "lesson_id": "parametric.organiser-layout",
      "ok": true,
      "run_id": "20260728T121117Z-parametric-organiser-layout-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T12:26:26.804250+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T122622Z-parametric-fillet-matrix-V1",
      "lesson_id": "parametric.fillet-matrix",
      "ok": true,
      "run_id": "20260728T122622Z-parametric-fillet-matrix-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T12:41:33.473546+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T124129Z-parametric-pattern-grid-V1",
      "lesson_id": "parametric.pattern-grid",
      "ok": true,
      "run_id": "20260728T124129Z-parametric-pattern-grid-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T12:56:40.549233+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T125634Z-parametric-fit-gauge-V1",
      "lesson_id": "parametric.fit-gauge",
      "ok": true,
      "run_id": "20260728T125634Z-parametric-fit-gauge-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-28T13:07:28.818987+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T130723Z-dice-tower-hollow-shell-V3",
      "lesson_id": "dice-tower.hollow-shell",
      "ok": true,
      "run_id": "20260728T130723Z-dice-tower-hollow-shell-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T13:07:45.445376+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T130741Z-dice-tower-angled-ramp-V3",
      "lesson_id": "dice-tower.angled-ramp",
      "ok": true,
      "run_id": "20260728T130741Z-dice-tower-angled-ramp-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T13:08:03.698627+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T130757Z-dice-tower-ramp-clearance-V3",
      "lesson_id": "dice-tower.ramp-clearance",
      "ok": true,
      "run_id": "20260728T130757Z-dice-tower-ramp-clearance-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T13:08:21.049930+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T130815Z-dice-tower-exit-arch-V3",
      "lesson_id": "dice-tower.exit-arch",
      "ok": false,
      "run_id": "20260728T130815Z-dice-tower-exit-arch-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T13:09:27.605889+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T130923Z-dice-tower-exit-arch-V3",
      "lesson_id": "dice-tower.exit-arch",
      "ok": false,
      "run_id": "20260728T130923Z-dice-tower-exit-arch-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-28T13:10:34.885098+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260728T131029Z-dice-tower-exit-arch-V3",
      "lesson_id": "dice-tower.exit-arch",
      "ok": false,
      "run_id": "20260728T131029Z-dice-tower-exit-arch-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:15:50.351512+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041545Z-dice-tower-exit-chute-V1",
      "lesson_id": "dice-tower.exit-chute",
      "ok": true,
      "run_id": "20260729T041545Z-dice-tower-exit-chute-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-29T04:16:10.740868+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041603Z-dice-tower-final-ramp-alignment-V1",
      "lesson_id": "dice-tower.final-ramp-alignment",
      "ok": true,
      "run_id": "20260729T041603Z-dice-tower-final-ramp-alignment-V1",
      "variant": 1
    },
    {
      "completed_at": "2026-07-29T04:16:27.128626+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041622Z-dice-tower-exit-chute-V2",
      "lesson_id": "dice-tower.exit-chute",
      "ok": true,
      "run_id": "20260729T041622Z-dice-tower-exit-chute-V2",
      "variant": 2
    },
    {
      "completed_at": "2026-07-29T04:16:46.833211+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041639Z-dice-tower-final-ramp-alignment-V2",
      "lesson_id": "dice-tower.final-ramp-alignment",
      "ok": true,
      "run_id": "20260729T041639Z-dice-tower-final-ramp-alignment-V2",
      "variant": 2
    },
    {
      "completed_at": "2026-07-29T04:17:03.187133+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041658Z-dice-tower-exit-chute-V3",
      "lesson_id": "dice-tower.exit-chute",
      "ok": true,
      "run_id": "20260729T041658Z-dice-tower-exit-chute-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:17:17.469316+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041710Z-dice-tower-final-ramp-alignment-V3",
      "lesson_id": "dice-tower.final-ramp-alignment",
      "ok": true,
      "run_id": "20260729T041710Z-dice-tower-final-ramp-alignment-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:17:28.807925+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041724Z-parametric-fit-gauge-V3",
      "lesson_id": "parametric.fit-gauge",
      "ok": true,
      "run_id": "20260729T041724Z-parametric-fit-gauge-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:17:39.447493+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041736Z-dice-tower-hollow-shell-V3",
      "lesson_id": "dice-tower.hollow-shell",
      "ok": true,
      "run_id": "20260729T041736Z-dice-tower-hollow-shell-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:17:50.694745+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041746Z-dice-tower-angled-ramp-V3",
      "lesson_id": "dice-tower.angled-ramp",
      "ok": true,
      "run_id": "20260729T041746Z-dice-tower-angled-ramp-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:18:02.074670+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041757Z-dice-tower-ramp-clearance-V3",
      "lesson_id": "dice-tower.ramp-clearance",
      "ok": true,
      "run_id": "20260729T041757Z-dice-tower-ramp-clearance-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:18:13.691700+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041809Z-dice-tower-exit-arch-V3",
      "lesson_id": "dice-tower.exit-arch",
      "ok": false,
      "run_id": "20260729T041809Z-dice-tower-exit-arch-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:19:20.585435+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T041915Z-dice-tower-exit-arch-V3",
      "lesson_id": "dice-tower.exit-arch",
      "ok": false,
      "run_id": "20260729T041915Z-dice-tower-exit-arch-V3",
      "variant": 3
    },
    {
      "completed_at": "2026-07-29T04:20:31.988761+00:00",
      "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T042027Z-dice-tower-exit-arch-V3",
      "lesson_id": "dice-tower.exit-arch",
      "ok": false,
      "run_id": "20260729T042027Z-dice-tower-exit-arch-V3",
      "variant": 3
    }
  ],
  "last_adaptive_delay_seconds": 60,
  "latest_evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T042027Z-dice-tower-exit-arch-V3",
  "latest_result": {
    "certification_changed": false,
    "completed_at": "2026-07-29T04:20:31.988761+00:00",
    "counted_attempt_consumed": false,
    "elapsed_seconds": 3.969,
    "evidence": "/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T042027Z-dice-tower-exit-arch-V3",
    "forge_permission_changed": false,
    "lesson_id": "dice-tower.exit-arch",
    "lesson_title": "Gothic Dice Exit Arch",
    "network": {
      "filesystem": "cifs",
      "network_verified": true,
      "source": "//192.168.1.1/volume(sda2)[/SHiREVault/SHiREAcademy/AutonomousPractice]",
      "writable": true
    },
    "ok": false,
    "protected_academy_state_unchanged": true,
    "returncode": 2,
    "run_id": "20260729T042027Z-dice-tower-exit-arch-V3",
    "validation": {
      "artifacts": {
        "step": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T042027Z-dice-tower-exit-arch-V3/dice_tower_exit_arch_v3.step",
        "step_sha256": "0e700c6d057e204003dbb73b8deac1a386b9d7a140e4de01360f495ba01fe1ab",
        "stl": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/AutonomousPractice/SpeedCore/Runs/20260729T042027Z-dice-tower-exit-arch-V3/dice_tower_exit_arch_v3.stl",
        "stl_sha256": "9a71b81f3e9aa59d4c210fb06fb75c6a936c07d80dcfd229d6f38d7384dc2620"
      },
      "builder_version": "0.4.0-stage3c.3.3-exit-chute-curriculum",
      "checks": {
        "allowlisted_exercise_only": true,
        "draft_only": true,
        "one_valid_final_solid": true,
        "positive_volume": true,
        "safe_bounding_box": false,
        "step_written": true,
        "stl_written": true
      },
      "classification": "AUTONOMOUS_PRACTICE_FAILED",
      "exercise_id": "dice-tower.exit-arch",
      "exercise_title": "Gothic Dice Exit Arch",
      "generated_at": "2026-07-29T04:20:31.198535+00:00",
      "metrics": {
        "bounding_box_mm": {
          "x": 90.0,
          "y": 7.0,
          "z": 90.0
        },
        "solid_count": 1,
        "valid_shape": true,
        "volume_mm3": 35494.19999999999
      },
      "ok": false,
      "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": [
        "pointed arch",
        "front-wall cut",
        "safe margin"
      ],
      "variant": 3
    },
    "variant": 3
  },
  "maintenance_cooldown_seconds": 900,
  "maintenance_mode": true,
  "mode": "uncounted_deterministic_practice_only",
  "network": {
    "filesystem": "cifs",
    "network_verified": true,
    "source": "//192.168.1.1/volume(sda2)",
    "writable": true
  },
  "next_index": 71,
  "next_run_at": "2026-07-29T05:33:04.219014+00:00",
  "paused": false,
  "priority_practice_queue": [
    {
      "lesson_id": "dice-tower.barrier-free-exit",
      "variant": 1
    },
    {
      "lesson_id": "dice-tower.core-contract",
      "variant": 1
    },
    {
      "lesson_id": "dice-tower.theme-cartoon",
      "variant": 1
    },
    {
      "lesson_id": "dice-tower.theme-gothic",
      "variant": 1
    },
    {
      "lesson_id": "dice-tower.barrier-free-exit",
      "variant": 2
    },
    {
      "lesson_id": "dice-tower.core-contract",
      "variant": 2
    },
    {
      "lesson_id": "dice-tower.theme-cartoon",
      "variant": 2
    },
    {
      "lesson_id": "dice-tower.theme-gothic",
      "variant": 2
    },
    {
      "lesson_id": "dice-tower.barrier-free-exit",
      "variant": 3
    },
    {
      "lesson_id": "dice-tower.core-contract",
      "variant": 3
    },
    {
      "lesson_id": "dice-tower.theme-cartoon",
      "variant": 3
    },
    {
      "lesson_id": "dice-tower.theme-gothic",
      "variant": 3
    }
  ],
  "protected_academy_state_write_allowed": false,
  "protected_hashes_at_initialisation": {
    "academy_index": "eae867ef70f81b62ef9e4361d82038749f422d2c1c905bcaa910b9c77cf949f5",
    "autopilot_state": "7953680b29ee3a208d5077aabcd371f2610851109982fab557855b35d23993c2",
    "commercial_sprint": "fefea1c665f0f43d8a51e92c65c4211176c9acc2a5f1b17c058b921b27e6d5ed",
    "practice_state": "3433913389b91d81b379262e660cda6d2aae1caf31be66c938413db36075763a"
  },
  "protected_hashes_latest": {
    "academy_index": "eae867ef70f81b62ef9e4361d82038749f422d2c1c905bcaa910b9c77cf949f5",
    "autopilot_state": "7953680b29ee3a208d5077aabcd371f2610851109982fab557855b35d23993c2",
    "commercial_sprint": "fefea1c665f0f43d8a51e92c65c4211176c9acc2a5f1b17c058b921b27e6d5ed",
    "practice_state": "3433913389b91d81b379262e660cda6d2aae1caf31be66c938413db36075763a"
  },
  "review_required": false,
  "run_requested": true,
  "safety_stop": false,
  "safety_stop_reason": null,
  "service_status": "active",
  "skills_practised": {
    "additive ribs": 5,
    "alignment": 5,
    "boolean cut": 10,
    "boolean cuts": 5,
    "boolean union": 10,
    "circle composition": 5,
    "clearance intent": 4,
    "compound motifs": 5,
    "container shell": 8,
    "continuous path": 3,
    "controlled roll": 3,
    "decorative recess": 5,
    "dice envelope": 2,
    "divider spacing": 3,
    "door transition": 3,
    "edge selection": 3,
    "fillet limits": 3,
    "fillets": 8,
    "final ramp alignment": 3,
    "floor thickness": 3,
    "hole patterns": 3,
    "hollow shell": 2,
    "minimum passage": 2,
    "mounting holes": 3,
    "named dimensions": 8,
    "no vertical drop": 3,
    "open top": 2,
    "parameter matrix": 2,
    "parameter variation": 8,
    "pattern layout": 5,
    "pockets": 3,
    "radial composition": 5,
    "radial pattern": 5,
    "ramp thickness": 2,
    "recess depth": 3,
    "rectangular patterns": 3,
    "repeatability": 3,
    "repetition": 5,
    "robust fallback": 3,
    "safe margins": 8,
    "shallow pockets": 3,
    "shallow recess": 10,
    "shelling": 3,
    "side rails": 3,
    "side-wall connection": 2,
    "sloped exit chute": 3,
    "sloped prism": 2,
    "spacing": 8,
    "stepped dimensions": 4,
    "symmetry": 5,
    "through holes": 8,
    "tray overlap": 3,
    "validation": 4,
    "wall thickness": 5
  },
  "status": "scheduled",
  "successful_runs": 77,
  "target_successful_runs": 90,
  "updated_at": "2026-07-29T05:33:04.256675+00:00",
  "version": "0.5.0-stage3c.4-core-dice-tower-theme-layer-curriculum",
  "yield_to_fast_builder": true
}