{
  "schema": "shire.safe_draft_job.v1",
  "version": "0.9.7-stage3c.7-safe-plan-actions-gothic-ui",
  "job_id": "SPB-20260729T134944Z-ABE9D8EB",
  "revision_id": "SP-20260729T134943Z-E6C44D1D-R001",
  "plan_id": "SP-20260729T134943Z-E6C44D1D",
  "specification_hash": "d35b568e11762f712da1e53354118d09ae67a664d4b57d3f8b58097a9d837c00",
  "phase": "complete",
  "status": "complete",
  "created_at": "2026-07-29T13:49:44.442+00:00",
  "started_at": "2026-07-29T13:49:44.442+00:00",
  "completed_at": "2026-07-29T13:50:02.178+00:00",
  "output_directory": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/SafePlanBuilds/SPB-20260729T134944Z-ABE9D8EB",
  "evidence_path": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/SafePlanBuilds/SPB-20260729T134944Z-ABE9D8EB",
  "artifact_links": {
    "readme": "/api/safe-plan/artifact/SPB-20260729T134944Z-ABE9D8EB/README.txt",
    "step": "/api/safe-plan/artifact/SPB-20260729T134944Z-ABE9D8EB/Stage_3C_7_Mandatory_Gothic_Proof.step",
    "stl": "/api/safe-plan/artifact/SPB-20260729T134944Z-ABE9D8EB/Stage_3C_7_Mandatory_Gothic_Proof.stl",
    "job_status": "/api/safe-plan/artifact/SPB-20260729T134944Z-ABE9D8EB/job-status.json",
    "preview": "/api/safe-plan/artifact/SPB-20260729T134944Z-ABE9D8EB/preview.svg",
    "spec": "/api/safe-plan/artifact/SPB-20260729T134944Z-ABE9D8EB/spec.json",
    "validation": "/api/safe-plan/artifact/SPB-20260729T134944Z-ABE9D8EB/validation.json"
  },
  "valid_downloadable_output": true,
  "counted_attempt_consumed": false,
  "certification_changed": false,
  "forge_permission_changed": false,
  "practice_state_write_allowed": false,
  "boolean_canary_rerun": false,
  "message": "Exact Safe Plan CadQuery draft completed and validated. Review before printing.",
  "elapsed_ms": 17497,
  "returncode": 0,
  "stdout_tail": "   \"support_wall\": \"front\",\n            \"support_y\": 3.0,\n            \"support_z\": 89.3215\n          },\n          {\n            \"flow_direction\": \"back_wall_to_inner_free_edge\",\n            \"free_inner_edge\": \"LOW\",\n            \"free_y\": 35.0,\n            \"free_z\": 115.5997,\n            \"index_from_bottom\": 2,\n            \"support_edge\": \"HIGH\",\n            \"support_wall\": \"back\",\n            \"support_y\": 85.4,\n            \"support_z\": 139.1016\n          },\n          {\n            \"flow_direction\": \"front_wall_to_inner_free_edge\",\n            \"free_inner_edge\": \"LOW\",\n            \"free_y\": 53.4,\n            \"free_z\": 165.3798,\n            \"index_from_bottom\": 3,\n            \"support_edge\": \"HIGH\",\n            \"support_wall\": \"front\",\n            \"support_y\": 3.0,\n            \"support_z\": 188.8817\n          },\n          {\n            \"flow_direction\": \"back_wall_to_inner_free_edge\",\n            \"free_inner_edge\": \"LOW\",\n            \"free_y\": 35.0,\n            \"free_z\": 215.1599,\n            \"index_from_bottom\": 4,\n            \"support_edge\": \"HIGH\",\n            \"support_wall\": \"back\",\n            \"support_y\": 85.4,\n            \"support_z\": 238.6618\n          }\n        ],\n        \"required_height_mm\": 244.8618,\n        \"required_tumble_envelope_mm\": 38.0,\n        \"structure\": \"dynamic_dice_envelope_inward_cascade_plus_separate_exit_feeder\"\n      },\n      \"exit_clearance_collision_volume_mm3\": 0.0,\n      \"solid_count\": 1,\n      \"valid_shape\": true,\n      \"volume_mm3\": 432293.8176472628\n    },\n    \"object_family\": \"dice_tower\",\n    \"object_name\": \"Gothic Dice Tower\",\n    \"ok\": true,\n    \"output_formats\": [\n      \"step\",\n      \"stl\"\n    ],\n    \"parameters\": {\n      \"base_thickness_mm\": 4.0,\n      \"cartoon_face_recess\": false,\n      \"corner_radius_mm\": 5.0,\n      \"dedicated_exit_feeder\": true,\n      \"design_theme\": \"gothic\",\n      \"dice_max_mm\": 25.0,\n      \"dice_passage_width_mm\": 32.0,\n      \"effective_ramp_angle_deg\": 25.0,\n      \"exit_chute_angle_deg\": 18.0,\n      \"exit_chute_barrier_free\": true,\n      \"exit_chute_enabled\": true,\n      \"exit_chute_inside_overlap_mm\": 15.0,\n      \"exit_chute_length_mm\": 29.952,\n      \"exit_chute_rail_height_mm\": 3.84,\n      \"exit_chute_rail_width_mm\": 3.0,\n      \"exit_chute_thickness_mm\": 3.2,\n      \"exit_chute_width_mm\": 40.0,\n      \"exit_clearance_height_mm\": 30.0,\n      \"exit_clearance_width_mm\": 32.0,\n      \"exit_feeder_angle_deg\": 12.0,\n      \"exit_height_mm\": 54.15,\n      \"exit_opening_style\": \"pointed_arch\",\n      \"exit_path_mode\": \"controlled_roll_to_tray\",\n      \"exit_threshold_step_mm\": 0.0,\n      \"exit_width_mm\": 50.0,\n      \"final_ramp_aligned_to_exit\": true,\n      \"fortress_slits\": false,\n      \"gothic_buttresses\": \"Four stepped corner buttresses with upper setback tiers\",\n      \"gothic_crown_detail\": \"Layered parapet, corner pinnacles and stepped crown\",\n      \"gothic_facade_style\": \"Layered cathedral westwork with pointed-arch framing\",\n      \"gothic_lancet_details\": \"Paired tall lancet reliefs with pointed caps\",\n      \"gothic_lancet_windows\": true,\n      \"gothic_rose_window\": \"Raised radial rose-window rings on the principal façades\",\n      \"gothic_theme_approach_id\": \"cathedral_verticality\",\n      \"gothic_theme_expansion\": \"stage3c7_external_only\",\n      \"gothic_tracery\": \"Geometric tracery panels and cross-rib divisions\",\n      \"gothic_tray_integration\": \"Tray side piers and stepped façade moulding continue from the tower\",\n      \"height_auto_adjusted\": true,\n      \"height_feasibility\": \"PASS\",\n      \"height_mm\": 246.0,\n      \"integrated_collection_tray\": true,\n      \"legacy_core_v2_squeezed_layout_allowed\": false,\n      \"legacy_wall_low_ramps_allowed\": false,\n      \"length_mm\": 110.0,\n      \"mechanical_contract\": \"shire.dice_tower.core.v3\",\n      \"novelty_theme_panel\": false,\n      \"planned_minimum_inter_ramp_clearance_mm\": 38.0,\n      \"protected_path_intrusion\": \"none\",\n      \"ramp_angle_max_deg\": 45.0,\n      \"ramp_angle_min_deg\": 38.0,\n      \"ramp_count\": 4,\n      \"ramp_structure\": \"dynamic_dice_envelope_inward_cascade\",\n      \"ramp_thickness_mm\": 3.2,\n      \"requested_height_mm\": 190.0,\n      \"required_height_mm\": 246.0,\n      \"required_tumble_envelope_mm\": 38.0,\n      \"sci_fi_panel_recess\": false,\n      \"split_required\": false,\n      \"supersedes_mechanical_contract\": \"shire.dice_tower.core.v2\",\n      \"theme_name\": \"Gothic\",\n      \"theme_variant\": \"standard\",\n      \"tower_depth_mm\": 88.4,\n      \"tray_depth_mm\": 41.6,\n      \"tray_wall_height_mm\": 24.0,\n      \"tumble_ramp_support_rule\": \"wall_high_inner_low\",\n      \"vertical_drop_exit\": false,\n      \"wall_thickness_mm\": 3.0,\n      \"width_mm\": 130.0\n    },\n    \"printer\": {\n      \"build_volume_mm\": [\n        256.0,\n        256.0,\n        256.0\n      ],\n      \"fits\": true,\n      \"name\": \"Bambu Lab P1S\",\n      \"profile_id\": \"bambu_p1s\",\n      \"usable_margin_mm\": 5.0\n    },\n    \"project_name\": \"Stage 3C.7 Mandatory Gothic Proof\",\n    \"safety\": {\n      \"arbitrary_code_executed\": false,\n      \"certification_changed\": false,\n      \"draft_only\": true,\n      \"forge_permission_changed\": false,\n      \"forge_ready_exported\": false,\n      \"non_load_bearing_only\": true,\n      \"practice_state_modified\": false,\n      \"production_release\": false,\n      \"template_whitelist_only\": true\n    },\n    \"theme_variant\": \"standard\"\n  },\n  \"artifacts\": {\n    \"step\": \"/mnt/shirevault-network/SHiREVault/SHiREAcademy/SafePlanBuilds/SPB-20260729T134944Z-ABE9D8EB/Stage_3C_7_Mandatory_Gothic_Proof.step\",\n    \"step_sha256\": \"4e1f8ce6aea7980051194a0040f2e8de585f96d31c99bcc2799f9d606261a64b\",\n    \"stl\": \"/mnt/shirevault-network/SHiREVault/SHiREAcademy/SafePlanBuilds/SPB-20260729T134944Z-ABE9D8EB/Stage_3C_7_Mandatory_Gothic_Proof.stl\",\n    \"stl_sha256\": \"55116dee5277abf889fb440d1a70c7dbca8f87e90b1a85c3df4c7486d2230144\"\n  },\n  \"elapsed_ms\": 14608,\n  \"counted_attempt_consumed\": false,\n  \"certification_changed\": false,\n  \"forge_permission_changed\": false,\n  \"practice_state_write_allowed\": false,\n  \"production_release\": false\n}\n",
  "stderr_tail": ""
}
