{
  "ok": false,
  "error": "Academy structured output invalid after round-specific canonicalisation",
  "retryable": true,
  "infrastructure_failure": true,
  "output_contract": "academy_round_json_v3",
  "exam_round": 1,
  "raw_answer": "{\n  \"skill_id\": \"parametric_cad.parameter-architecture\",\n  \"name\": \"Parameter architecture\",\n  \"domain\": \"parametric_cad\",\n  \"risk\": \"low\",\n  \"lane\": \"tool_evidence\",\n  \"professional_review\": false,\n  \"round\": 1,\n  \"focus\": \"fundamentals and repeatable method\",\n  \"principles\": [\n    \"Name parameters by meaning and include units, ranges and dependencies.\",\n    \"Build from stable datums instead of fragile generated edges.\",\n    \"Separate user parameters from derived calculations.\"\n  ],\n  \"repeatable_method_steps\": [\n    \"Define base dimensions as named inputs with explicit units (e.g., 'wall_width_m', range: 2-10, unit: meters) rather than hard-coded values.\",\n    \"Construct geometry using these stable datums to drive derived features like window placement or door heights based on logical relationships.\",\n    \"Isolate all calculation logic in a separate script block that consumes the base parameters and outputs final coordinates without modifying input definitions.\"\n  ],\n  \"acceptance_criteria\": [\n    \"Changing any single named parameter updates exactly one dependent dimension while leaving unrelated geometry unchanged.\",\n    \"The model remains valid when extreme values within defined ranges are applied, proving no circular dependencies exist.\"\n  ],\n  \"required_inputs\": [\n    \"Base wall width in meters\",\n    \"Standard door height in centimeters\"\n  ],\n  \"safe_knowledge_gate\": \"All geometric relationships must be expressed as mathematical functions of named inputs without referencing fixed pixel coordinates or absolute screen positions.\",\n  \"limitations\": [\n    \"This method cannot automatically optimize complex layouts requiring iterative global search algorithms beyond simple linear dependencies.\",\n    \"It requires manual definition of all parameter ranges and units, which is time-consuming for highly intricate designs with hundreds of variables.\"\n  ],\n  \"forge_execution_allowed\": false\n}",
  "raw_answer_sha256": "1f6ecc3457eda1bfc34af286176b3ca5914088e5004e447ef0e1db7911ac8663",
  "raw_answer_audited": true
}