{
  "change_id": "ENG-DESIGN-ACADEMY-0002D",
  "name": "SHiRE Academy CadQuery Practice Timeout Recovery",
  "version": "0002D",
  "requires_change": "ENG-DESIGN-ACADEMY-0002A",
  "cadquery_version": "2.8.0",
  "primary_build_engine": "CadQuery",
  "blender_required": false,
  "supported_tool_evidence_skills": 28,
  "supported_skill_ids": [
    "geometry_foundations.sketch-constraints",
    "geometry_foundations.profiles-and-regions",
    "geometry_foundations.extrusion",
    "geometry_foundations.boolean-operations",
    "geometry_foundations.fillets",
    "geometry_foundations.chamfers",
    "geometry_foundations.solid-topology",
    "geometry_foundations.symmetry",
    "geometry_foundations.patterning",
    "geometry_foundations.bounding-envelopes",
    "geometry_foundations.geometric-tolerances",
    "parametric_cad.parameter-architecture",
    "parametric_cad.derived-parameters",
    "parametric_cad.cadquery-workplanes",
    "parametric_cad.cadquery-selectors",
    "parametric_cad.cadquery-solids",
    "parametric_cad.cadquery-exporters",
    "parametric_cad.constraint-driven-features",
    "parametric_cad.configuration-families",
    "parametric_cad.step-export",
    "parametric_cad.parametric-test-matrices",
    "parametric_cad.cad-script-documentation",
    "validation_and_simulation.geometry-integrity",
    "validation_and_simulation.parameter-boundaries",
    "validation_and_simulation.mass-and-volume",
    "validation_and_simulation.regression-testing",
    "validation_and_simulation.evidence-packaging",
    "validation_and_simulation.release-gates"
  ],
  "original_file_sha256": {
    "armor/services/design_academy_practice_service.py": "28b8ae26ea947ff9802255cd9c397112fd133a4e1d37a6694e1e82791597e4f8",
    "armor/tools/design_academy_practice.py": "0afe9da9da2eb825a058c4a9ba9f7fa47179de58ea5217dc2307208af3f40eb7",
    "armor/ai/brain_server.py": "b5ee20bd0c3a2965d582b686fc11ce33091cd2d72064099580412865f45546fd",
    "armor/modules/academy.py": "c5e2eb001710e8d3bd82a75fec794d8a497f0529bec5b58552e1055aa738c53b"
  },
  "new_files_expected_absent": [
    "armor/services/cadquery_engine_service.py",
    "armor/tools/cadquery_bridge_selftest.py",
    "armor/docs/ENG_DESIGN_ACADEMY_0002D.md",
    "forge/src/shireforge/forge_engine/academy_practice_adapter.py",
    "armor/tools/design_academy_timeout_recovery_selftest.py"
  ],
  "restarts_services": false,
  "initializes_practice_queue": false,
  "enables_worker": false,
  "recovery_for": "ENG-DESIGN-ACADEMY-0002C activation timeout",
  "practice_max_tokens": 600,
  "ollama_timeout_seconds": 420,
  "json_mode": true,
  "transient_failures_consume_skill_attempts": false,
  "preserves_existing_practice_state": true
}
