{
  "change_id": "ENG-DESIGN-ACADEMY-0002G",
  "version": "0002G",
  "purpose": "Three small round-specific Academy exams with raw invalid-answer audit",
  "primary_build_engine": "CadQuery",
  "cadquery_version": "2.8.0",
  "blender_required": false,
  "practice_endpoint": "/academy/practice/ask",
  "output_contract": "academy_round_json_v3",
  "round_specific_contracts": [
    1,
    2,
    3
  ],
  "practice_max_tokens": 420,
  "practice_num_ctx": 1536,
  "raw_invalid_answer_audited": true,
  "missing_content_invented": false,
  "invalid_output_retryable": true,
  "normal_ask_route_preserved": true,
  "preserves_existing_practice_state": true,
  "starts_worker": false,
  "restarts_services": false,
  "original_file_sha256": {
    "armor/ai/brain_server.py": "52d0fbcef611c4c073f7effd81705e6f44798e24e6fd9d40b8d4f6223dc16ff6",
    "armor/services/design_academy_practice_service.py": "e44c71fc82473cc25c6d82d1ffd90d851d93cccd17d759558b3db056ceb966de"
  },
  "new_files_expected_absent": [
    "armor/tools/design_academy_round_contract_selftest.py",
    "armor/docs/ENG_DESIGN_ACADEMY_0002G.md"
  ]
}
