{
  "artifact_links": {
    "preview": "/api/fast-builder/artifact/FB-20260729T080613Z-4D5EFB/preview.svg",
    "readme": "/api/fast-builder/artifact/FB-20260729T080613Z-4D5EFB/README.txt",
    "spec": "/api/fast-builder/artifact/FB-20260729T080613Z-4D5EFB/spec.json",
    "step": "/api/fast-builder/artifact/FB-20260729T080613Z-4D5EFB/Cathedral_of_the_Abyss_Dice_Tower_V4_Core_v2.step",
    "stl": "/api/fast-builder/artifact/FB-20260729T080613Z-4D5EFB/Cathedral_of_the_Abyss_Dice_Tower_V4_Core_v2.stl",
    "validation": "/api/fast-builder/artifact/FB-20260729T080613Z-4D5EFB/validation.json"
  },
  "certification_changed": false,
  "completed_at": "2026-07-29T08:06:18.084440+00:00",
  "counted_attempt_consumed": false,
  "draft_only": true,
  "engine_route": "persistent_cadquery_unix_socket",
  "forge_permission_changed": false,
  "generation_elapsed_ms": 3833,
  "job_id": "FB-20260729T080613Z-4D5EFB",
  "message": "Real CadQuery draft completed and validated. Review it before printing.",
  "output_directory": "/SHiREVault/SHiREAcademy/FastBuilder/FB-20260729T080613Z-4D5EFB",
  "phase": "complete",
  "practice_state_write_allowed": false,
  "protected_skill_state_unchanged": true,
  "protected_sources_unchanged": true,
  "report": {
    "artifacts": {
      "file_stem": "Cathedral_of_the_Abyss_Dice_Tower_V4_Core_v2",
      "preview": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/FastBuilder/FB-20260729T080613Z-4D5EFB/preview.svg",
      "preview_sha256": "6150a7e42c1cc6632be910213ea45994d4c7d3e9201dea61435d0dd24087b3fc",
      "requested_formats": [
        "step",
        "stl"
      ],
      "step": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/FastBuilder/FB-20260729T080613Z-4D5EFB/Cathedral_of_the_Abyss_Dice_Tower_V4_Core_v2.step",
      "step_sha256": "dadb310d225d2fc4dfe03be7343ed83296779b0e96d937e54e319e0bf4e23969",
      "stl": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/FastBuilder/FB-20260729T080613Z-4D5EFB/Cathedral_of_the_Abyss_Dice_Tower_V4_Core_v2.stl",
      "stl_sha256": "30fba483e4f48260a862de47713cd2ea28d4422d5d148d4e5a9c9c0d2ca5895d"
    },
    "builder_version": "0.7.0-stage3c.5-cascade-core-replacement",
    "checks": {
      "all_tumble_ramps_wall_high_inner_low": true,
      "alternating_support_walls": true,
      "catch_overlap_safe": true,
      "controlled_roll_exit_path": true,
      "core_dice_tower_contract": true,
      "dedicated_exit_feeder_present": true,
      "dice_clearance_safe": true,
      "dimensions_match_spec": true,
      "drop_zone_safe": true,
      "exit_chute_angle_safe": true,
      "exit_chute_barrier_free": true,
      "exit_chute_present": true,
      "exit_chute_width_safe": true,
      "final_ramp_aligned_to_exit": true,
      "fits_selected_printer": true,
      "flush_ramp_chute_transition": true,
      "integrated_collection_tray": true,
      "internal_ramps_present": true,
      "no_forge_ready_export": true,
      "one_valid_final_solid": true,
      "only_requested_formats_written": true,
      "positive_volume": true,
      "practice_state_not_used": true,
      "replacement_cascade_structure": true,
      "safe_wall_thickness": true,
      "step_written": true,
      "stl_written": true,
      "theme_layer_separate": true
    },
    "classification": "FAST_BUILDER_DRAFT_PASS",
    "design_theme": "gothic",
    "file_stem": "Cathedral_of_the_Abyss_Dice_Tower_V4_Core_v2",
    "generated_at": "2026-07-29T08:06:17.953802+00:00",
    "job_id": "FB-20260729T080613Z-4D5EFB",
    "known_limitations": [
      "Schematic preview is not a photorealistic render.",
      "The draft requires Ray's visual review and slicer verification before printing.",
      "The replacement inward-flow cascade, separate exit feeder, barrier-free chute and dice-envelope corridor are validated digitally, but tumble reliability requires a physical test print.",
      "The controlled exit path must still be inspected in section view and slicer preview for local bridging or support needs.",
      "The integrated draft is non-load-bearing and not production-approved; inspect supports, bridging and orientation in the slicer."
    ],
    "material": {
      "minimum_wall_mm": 2.4,
      "name": "PLA"
    },
    "metrics": {
      "bounding_box_mm": {
        "x": 110.0,
        "y": 130.0,
        "z": 190.0
      },
      "cascade_layout": {
        "all_tumble_ramps_wall_high_inner_low": true,
        "alternating_support_walls": true,
        "catch_overlap_mm": 18.4,
        "dedicated_exit_feeder": true,
        "drop_gap_mm": 15.0276,
        "drop_zone_mm": 32.0,
        "effective_ramp_angle_deg": 22.3796,
        "exit_feeder": {
          "angle_deg": 18.0,
          "exit_edge": "LOW",
          "exit_y": 3.0,
          "exit_z": 13.9068,
          "flow_direction": "rear_interior_to_front_exit_chute",
          "support_edge": "HIGH",
          "support_wall": "back",
          "support_y": 85.4,
          "support_z": 40.6801
        },
        "mechanical_contract": "shire.dice_tower.core.v2",
        "minimum_catch_overlap_mm": 12.5,
        "ramp_run_mm": 50.4,
        "ramps": [
          {
            "drop_gap_mm": 15.0276,
            "flow_direction": "front_wall_to_inner_free_edge",
            "free_inner_edge": "LOW",
            "free_y": 53.4,
            "free_z": 45.3103,
            "index_from_bottom": 1,
            "support_edge": "HIGH",
            "support_wall": "front",
            "support_y": 3.0,
            "support_z": 66.0627
          },
          {
            "drop_gap_mm": 15.0276,
            "flow_direction": "back_wall_to_inner_free_edge",
            "free_inner_edge": "LOW",
            "free_y": 35.0,
            "free_z": 67.9142,
            "index_from_bottom": 2,
            "support_edge": "HIGH",
            "support_wall": "back",
            "support_y": 85.4,
            "support_z": 88.6665
          },
          {
            "drop_gap_mm": 15.0276,
            "flow_direction": "front_wall_to_inner_free_edge",
            "free_inner_edge": "LOW",
            "free_y": 53.4,
            "free_z": 90.518,
            "index_from_bottom": 3,
            "support_edge": "HIGH",
            "support_wall": "front",
            "support_y": 3.0,
            "support_z": 111.2704
          },
          {
            "drop_gap_mm": 15.0276,
            "flow_direction": "back_wall_to_inner_free_edge",
            "free_inner_edge": "LOW",
            "free_y": 35.0,
            "free_z": 113.1219,
            "index_from_bottom": 4,
            "support_edge": "HIGH",
            "support_wall": "back",
            "support_y": 85.4,
            "support_z": 133.8742
          }
        ],
        "structure": "alternating_inward_cascade_plus_separate_exit_feeder"
      },
      "exit_clearance_collision_volume_mm3": 0.0,
      "solid_count": 1,
      "valid_shape": true,
      "volume_mm3": 365154.6603090437
    },
    "object_family": "dice_tower",
    "object_name": "Gothic Dice Tower",
    "ok": true,
    "output_formats": [
      "step",
      "stl"
    ],
    "parameters": {
      "base_thickness_mm": 4.0,
      "cartoon_face_recess": false,
      "corner_radius_mm": 5.0,
      "dedicated_exit_feeder": true,
      "design_theme": "gothic",
      "dice_max_mm": 25.0,
      "dice_passage_width_mm": 32.0,
      "exit_chute_angle_deg": 18.0,
      "exit_chute_barrier_free": true,
      "exit_chute_enabled": true,
      "exit_chute_inside_overlap_mm": 15.0,
      "exit_chute_length_mm": 29.952,
      "exit_chute_rail_height_mm": 3.84,
      "exit_chute_rail_width_mm": 3.0,
      "exit_chute_thickness_mm": 3.2,
      "exit_chute_width_mm": 40.0,
      "exit_clearance_height_mm": 30.0,
      "exit_clearance_width_mm": 32.0,
      "exit_height_mm": 54.15,
      "exit_opening_style": "pointed_arch",
      "exit_path_mode": "controlled_roll_to_tray",
      "exit_threshold_step_mm": 0.0,
      "exit_width_mm": 50.0,
      "final_ramp_aligned_to_exit": true,
      "fortress_slits": false,
      "gothic_lancet_windows": true,
      "gothic_rose_window": true,
      "height_mm": 190.0,
      "integrated_collection_tray": true,
      "legacy_wall_low_ramps_allowed": false,
      "length_mm": 110.0,
      "mechanical_contract": "shire.dice_tower.core.v2",
      "novelty_theme_panel": false,
      "ramp_angle_max_deg": 45.0,
      "ramp_angle_min_deg": 38.0,
      "ramp_count": 4,
      "ramp_structure": "alternating_inward_cascade",
      "ramp_thickness_mm": 3.2,
      "sci_fi_panel_recess": false,
      "split_required": false,
      "supersedes_mechanical_contract": "shire.dice_tower.core.v1",
      "theme_name": "Gothic",
      "theme_variant": "standard",
      "tower_depth_mm": 88.4,
      "tray_depth_mm": 41.6,
      "tray_wall_height_mm": 19.95,
      "tumble_ramp_support_rule": "wall_high_inner_low",
      "vertical_drop_exit": false,
      "wall_thickness_mm": 3.0,
      "width_mm": 130.0
    },
    "printer": {
      "build_volume_mm": [
        256.0,
        256.0,
        256.0
      ],
      "fits": true,
      "name": "Bambu Lab P1S",
      "profile_id": "bambu_p1s",
      "usable_margin_mm": 5.0
    },
    "project_name": "Cathedral of the Abyss Dice Tower V4 Core v2",
    "safety": {
      "arbitrary_code_executed": false,
      "certification_changed": false,
      "draft_only": true,
      "forge_permission_changed": false,
      "forge_ready_exported": false,
      "non_load_bearing_only": true,
      "practice_state_modified": false,
      "production_release": false,
      "template_whitelist_only": true
    },
    "theme_variant": "standard"
  },
  "returncode": 0,
  "source_hashes_after": {
    "academy_index": "eae867ef70f81b62ef9e4361d82038749f422d2c1c905bcaa910b9c77cf949f5",
    "autopilot_state": "7953680b29ee3a208d5077aabcd371f2610851109982fab557855b35d23993c2",
    "commercial_design_sprint": "fefea1c665f0f43d8a51e92c65c4211176c9acc2a5f1b17c058b921b27e6d5ed",
    "practice_state": "3433913389b91d81b379262e660cda6d2aae1caf31be66c938413db36075763a"
  },
  "source_hashes_before": {
    "academy_index": "eae867ef70f81b62ef9e4361d82038749f422d2c1c905bcaa910b9c77cf949f5",
    "autopilot_state": "7953680b29ee3a208d5077aabcd371f2610851109982fab557855b35d23993c2",
    "commercial_design_sprint": "fefea1c665f0f43d8a51e92c65c4211176c9acc2a5f1b17c058b921b27e6d5ed",
    "practice_state": "3433913389b91d81b379262e660cda6d2aae1caf31be66c938413db36075763a"
  },
  "spec": {
    "created_at": "2026-07-29T08:06:13.821876+00:00",
    "design_theme": "gothic",
    "file_stem": "Cathedral_of_the_Abyss_Dice_Tower_V4_Core_v2",
    "job_id": "FB-20260729T080613Z-4D5EFB",
    "material": {
      "minimum_wall_mm": 2.4,
      "name": "PLA"
    },
    "object_family": "dice_tower",
    "object_name": "Gothic Dice Tower",
    "output_formats": [
      "step",
      "stl"
    ],
    "parameters": {
      "base_thickness_mm": 4.0,
      "cartoon_face_recess": false,
      "corner_radius_mm": 5.0,
      "dedicated_exit_feeder": true,
      "design_theme": "gothic",
      "dice_max_mm": 25.0,
      "dice_passage_width_mm": 32.0,
      "exit_chute_angle_deg": 18.0,
      "exit_chute_barrier_free": true,
      "exit_chute_enabled": true,
      "exit_chute_inside_overlap_mm": 15.0,
      "exit_chute_length_mm": 29.952,
      "exit_chute_rail_height_mm": 3.84,
      "exit_chute_rail_width_mm": 3.0,
      "exit_chute_thickness_mm": 3.2,
      "exit_chute_width_mm": 40.0,
      "exit_clearance_height_mm": 30.0,
      "exit_clearance_width_mm": 32.0,
      "exit_height_mm": 54.15,
      "exit_opening_style": "pointed_arch",
      "exit_path_mode": "controlled_roll_to_tray",
      "exit_threshold_step_mm": 0.0,
      "exit_width_mm": 50.0,
      "final_ramp_aligned_to_exit": true,
      "fortress_slits": false,
      "gothic_lancet_windows": true,
      "gothic_rose_window": true,
      "height_mm": 190.0,
      "integrated_collection_tray": true,
      "legacy_wall_low_ramps_allowed": false,
      "length_mm": 110.0,
      "mechanical_contract": "shire.dice_tower.core.v2",
      "novelty_theme_panel": false,
      "ramp_angle_max_deg": 45.0,
      "ramp_angle_min_deg": 38.0,
      "ramp_count": 4,
      "ramp_structure": "alternating_inward_cascade",
      "ramp_thickness_mm": 3.2,
      "sci_fi_panel_recess": false,
      "split_required": false,
      "supersedes_mechanical_contract": "shire.dice_tower.core.v1",
      "theme_name": "Gothic",
      "theme_variant": "standard",
      "tower_depth_mm": 88.4,
      "tray_depth_mm": 41.6,
      "tray_wall_height_mm": 19.95,
      "tumble_ramp_support_rule": "wall_high_inner_low",
      "vertical_drop_exit": false,
      "wall_thickness_mm": 3.0,
      "width_mm": 130.0
    },
    "printer": {
      "build_volume_mm": [
        256.0,
        256.0,
        256.0
      ],
      "fits": true,
      "name": "Bambu Lab P1S",
      "profile_id": "bambu_p1s",
      "usable_margin_mm": 5.0
    },
    "project_name": "Cathedral of the Abyss Dice Tower V4 Core v2",
    "prompt": "Create a 190 mm tall Dice Tower, 110 mm wide and 130 mm deep, for dice up to 25 mm. Use four alternating tumble ramps with each wall-supported edge high and each free inner edge low, creating inward drop zones onto the opposing ramp below. Add a separate rear-high to front-low exit feeder leading through a barrier-free chute into an integrated tray. Apply a Gothic theme while keeping decoration outside every protected dice path.",
    "safety": {
      "arbitrary_code_allowed": false,
      "certification_write_allowed": false,
      "draft_only": true,
      "forge_permission_write_allowed": false,
      "non_load_bearing_only": true,
      "practice_state_write_allowed": false,
      "production_release": false,
      "shell_access_allowed": false,
      "template_whitelist_only": true
    },
    "schema": "shire.fast_object_spec.v2",
    "theme_variant": "standard",
    "warnings": [
      "Core Dice Tower v2: every tumble ramp is high at its wall support and low at its free inner edge.",
      "A separate rear-high/front-low exit feeder catches the final inward drop and carries it to the chute.",
      "The previous wall-low ramp structure is superseded and must not be generated.",
      "The door threshold and exit chute use a mandatory flush, barrier-free controlled-roll corridor.",
      "The draft digitally checks the free chute corridor, but real tumble behaviour still requires slicer inspection and a physical dice test.",
      "Theme layer: Gothic. Decorative geometry may not enter the protected dice path."
    ]
  },
  "started_at": "2026-07-29T08:06:14.121553+00:00",
  "status": "completed"
}
