/home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:1094: elif qualifier_result.get("retryable") is True and qualifier_result.get("infrastructure_failure") is True: /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:292: "infrastructure_failures": int(source.get("infrastructure_failures") or 0), /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:658: if payload.get("retryable") is True and payload.get("infrastructure_failure") is True: /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:660: classification = "QUALIFIER_INFRASTRUCTURE_TIMEOUT" if timeout_stage else "QUALIFIER_RETRYABLE_INFRASTRUCTURE_FAILURE" /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:666: "infrastructure_failure": True, /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:685: '"infrastructure_failure": true', /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:696: "classification": "QUALIFIER_INFRASTRUCTURE_TIMEOUT", /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:699: "infrastructure_failure": True, /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:735: if classified.get("retryable") is not True or classified.get("infrastructure_failure") is not True: /home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py:759: and qualifier.get("infrastructure_failure") is True /home/shire3d/ARMOR/tools/design_academy_autopilot_certify.py:102: if classification == "infrastructure_failure": /home/shire3d/ARMOR/tools/design_academy_autopilot_certify.py:106: "infrastructure_failure": True, /home/shire3d/ARMOR/tools/design_academy_autopilot_certify.py:204: record["infrastructure_failures"] = 0 /home/shire3d/ARMOR/tools/design_academy_autopilot_certify.py:63: assert qualification["consecutive_infrastructure_failures"] == 0 /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:122: record_result(skill_id, run_dir, "infrastructure_failure", /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:135: "classification": "infrastructure_failure", /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:151: "infrastructure_failure", /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:377: "acceptance_criteria": criteria, /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:487: "consecutive_infrastructure_failures": 0, /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:496: if classification == "infrastructure_failure": /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:497: skill["consecutive_infrastructure_failures"] += 1 /home/shire3d/ARMOR/tools/design_academy_autopilot_qualify.py:501: skill["consecutive_infrastructure_failures"] = 0 /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:173: "acceptance_criteria": [ /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:221: "Strict Round 3 canonicalisation changed a valid fixture." /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:380: source_result.get("infrastructure_failure") /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:432: if int(record.get("infrastructure_failures") or 0) != 1: /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:474: "preserved_round3_infrastructure_failure", /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:533: "Repaired response changed during strict canonicalisation." /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:576: "infrastructure_failure": True, /home/shire3d/ARMOR/tools/design_academy_counted_round3_recovery.py:679: record["infrastructure_failures"] = 0 /home/shire3d/ARMOR/tools/design_academy_generic_qualify.py:115: "measurable acceptance_criteria. boundary_cases must " /home/shire3d/ARMOR/tools/design_academy_generic_qualify.py:202: "output_contract": "academy_round_json_v6", /home/shire3d/ARMOR/tools/design_academy_generic_qualify.py:279: "classification": "infrastructure_failure", /home/shire3d/ARMOR/tools/design_academy_generic_qualify.py:314: "output_contract": "academy_round_json_v6", /home/shire3d/ARMOR/tools/design_academy_generic_qualify.py:442: and error_payload.get("infrastructure_failure") is True /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:103:assert third["infrastructure_failures"] == 3 /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:107: "self._infrastructure_failure_outcome(" /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:120: "project_steps, acceptance_criteria, safe_knowledge_gate,", /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:128: 'ACADEMY_OUTPUT_CONTRACT = "academy_round_json_v6"', /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:144: "first_infrastructure_failure_attempt_rolled_back": /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:146: "third_infrastructure_failure_attempt_rolled_back": /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:154: "academy_round_json_v6_preserved": /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:28: == "_infrastructure_failure_outcome" /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:64: "_infrastructure_failure_outcome" /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:70: "infrastructure_failures": 0, /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:83:assert first["infrastructure_failures"] == 1 /home/shire3d/ARMOR/tools/design_academy_mass_learning_infrastructure_selftest.py:89: "infrastructure_failures": 2, /home/shire3d/ARMOR/tools/design_academy_observed_round1_selftest.py:41:observed = '{\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 rather than hard-coded values.",\n "Construct geometry using stable datums to drive derived features through logical relationships.",\n "Isolate calculation logic so it consumes base parameters and outputs final coordinates."\n ],\n "acceptance_criteria": [\n "Changing one named parameter updates the intended dependent dimension while unrelated geometry remains unchanged.",\n "The model remains valid when extreme values within the defined ranges are applied."\n ],\n "required_inputs": [\n "Base wall width in meters",\n "Standard door height in centimeters"\n ],\n "safe_knowledge_gate": "All relationships remain knowledge-only mathematical functions of named inputs with no tool execution or release authority.",\n "limitations": [\n "This method does not automatically optimise complex layouts requiring global search.",\n "It requires manual definition of parameter ranges and units for intricate designs."\n ],\n "forge_execution_allowed": false\n}' /home/shire3d/ARMOR/tools/design_academy_observed_round1_selftest.py:46: "acceptance_criteria", "required_inputs", "safe_knowledge_gate", /home/shire3d/ARMOR/tools/design_academy_observed_round1_selftest.py:59: raise SystemExit("STOP: Missing content was invented during canonicalisation") /home/shire3d/ARMOR/tools/design_academy_practice_selftest.py:47: "acceptance_criteria": ["all units are explicit", "all assumptions are visible"], /home/shire3d/ARMOR/tools/design_academy_practice_selftest.py:55: "acceptance_criteria": ["required fields exist", "risk is classified LOW"], /home/shire3d/ARMOR/tools/design_academy_round2_completeness_selftest.py:148: '"academy_round_json_v6"','"academy_round_specific_v5"', /home/shire3d/ARMOR/tools/design_academy_round2_completeness_selftest.py:154: '"round_specific_micro_exam_v5"','academy_round_json_v6', /home/shire3d/ARMOR/tools/design_academy_round2_completeness_selftest.py:162: "output_contract":"academy_round_json_v6", /home/shire3d/ARMOR/tools/design_academy_round3_timeout_selftest.py:114: 'if payload.get("output_contract") != "academy_round_json_v6"', /home/shire3d/ARMOR/tools/design_academy_round3_timeout_selftest.py:133: "output_contract": "academy_round_json_v6", /home/shire3d/ARMOR/tools/design_academy_round3_timeout_selftest.py:140: "structured_timeout_infrastructure_failure": True, /home/shire3d/ARMOR/tools/design_academy_round3_timeout_selftest.py:43: "ACADEMY_OUTPUT_CONTRACT": "academy_round_json_v6", /home/shire3d/ARMOR/tools/design_academy_round3_timeout_selftest.py:71: "infrastructure_failure": True, /home/shire3d/ARMOR/tools/design_academy_round3_timeout_selftest.py:72: "output_contract": "academy_round_json_v6", /home/shire3d/ARMOR/tools/design_academy_round3_timeout_selftest.py:98: 'ACADEMY_OUTPUT_CONTRACT = "academy_round_json_v6"', /home/shire3d/ARMOR/tools/design_academy_round_contract_selftest.py:124:assert ACADEMY_OUTPUT_CONTRACT == "academy_round_json_v6" /home/shire3d/ARMOR/tools/design_academy_round_contract_selftest.py:174: 'payload.get("output_contract") != "academy_round_json_v6"', /home/shire3d/ARMOR/tools/design_academy_round_contract_selftest.py:185: 'ACADEMY_OUTPUT_CONTRACT = "academy_round_json_v6"', /home/shire3d/ARMOR/tools/design_academy_round_contract_selftest.py:36: "acceptance_criteria": [ /home/shire3d/ARMOR/tools/design_academy_round_contract_selftest.py:92: "acceptance_criteria": [ /home/shire3d/ARMOR/tools/design_academy_structured_output_selftest.py:25: "acceptance_criteria": [ /home/shire3d/ARMOR/tools/design_academy_structured_output_selftest.py:41:assert ACADEMY_OUTPUT_CONTRACT == "academy_round_json_v6"