{
  "artifact_links": {
    "preview": "/api/fast-builder/artifact/FB-20260728T024714Z-2A6837/preview.svg",
    "readme": "/api/fast-builder/artifact/FB-20260728T024714Z-2A6837/README.txt",
    "spec": "/api/fast-builder/artifact/FB-20260728T024714Z-2A6837/spec.json",
    "step": "/api/fast-builder/artifact/FB-20260728T024714Z-2A6837/object_draft.step",
    "stl": "/api/fast-builder/artifact/FB-20260728T024714Z-2A6837/object_draft.stl",
    "validation": "/api/fast-builder/artifact/FB-20260728T024714Z-2A6837/validation.json"
  },
  "can_start": true,
  "certification_changed": false,
  "completed_at": "2026-07-28T02:47:17.745896+00:00",
  "counted_attempt_consumed": false,
  "draft_only": true,
  "forge_permission_changed": false,
  "job_id": "FB-20260728T024714Z-2A6837",
  "message": "Real CadQuery draft completed and validated. Review it before printing.",
  "output_directory": "/SHiREVault/SHiREAcademy/FastBuilder/FB-20260728T024714Z-2A6837",
  "phase": "complete",
  "practice_state_write_allowed": false,
  "preflight": {
    "checks": [
      {
        "check": "CadQuery wrapper available",
        "observed": "/home/ray/.local/bin/shire-cadquery-python",
        "pass": true
      },
      {
        "check": "Trusted Fast Builder script installed",
        "observed": "/home/shire3d/ARMOR/apps/shire-academy/server/fast_object_builder.py",
        "pass": true
      },
      {
        "check": "Fast Builder runtime writable",
        "observed": {
          "exists": true,
          "path": "/home/shire3d/ARMOR/apps/shire-academy/runtime/fast_builder",
          "resolved": "/home/shire3d/ARMOR/apps/shire-academy/runtime/fast_builder",
          "writable": true,
          "write_probe": "passed"
        },
        "pass": true
      },
      {
        "check": "SHiREVault Academy output network-backed and writable",
        "observed": {
          "configured": "/SHiREVault/SHiREAcademy",
          "exists": true,
          "filesystem": "cifs",
          "network_verified": true,
          "readable": true,
          "resolved": "/mnt/shirevault-network/SHiREVault/SHiREAcademy",
          "source": "//192.168.1.1/volume(sda2)[/SHiREVault/SHiREAcademy]",
          "writable": true,
          "write_probe": "passed"
        },
        "pass": true
      },
      {
        "check": "Boolean canary is not running",
        "observed": "infrastructure_timeout",
        "pass": true
      }
    ],
    "generated_at": "2026-07-28T03:18:34.213738+00:00",
    "materials": {
      "PETG": {
        "minimum_wall_mm": 2.8
      },
      "PLA": {
        "minimum_wall_mm": 2.4
      },
      "TPU": {
        "minimum_wall_mm": 3.2
      }
    },
    "printer_profiles": {
      "bambu_p1s": {
        "build_volume_mm": [
          256.0,
          256.0,
          256.0
        ],
        "name": "Bambu Lab P1S"
      },
      "creality_k2_plus": {
        "build_volume_mm": [
          350.0,
          350.0,
          350.0
        ],
        "name": "Creality K2 Plus"
      },
      "snapmaker_u1": {
        "build_volume_mm": [
          270.0,
          270.0,
          270.0
        ],
        "name": "Snapmaker U1"
      }
    },
    "ready": true,
    "supported_families": {
      "auto": "Auto-detect from prompt",
      "desk_organiser": "Desk Organiser",
      "mounting_block": "Non-load-bearing Mounting Block",
      "nameplate": "Nameplate / Plaque",
      "parts_tray": "Parts Tray"
    }
  },
  "protected_skill_state_unchanged": true,
  "protected_sources_unchanged": true,
  "report": {
    "artifacts": {
      "preview": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/FastBuilder/FB-20260728T024714Z-2A6837/preview.svg",
      "preview_sha256": "a9c11995ce5dd1beb03c9f1f97bdbaaa8a5ddbaacbb606c939d9a0efa9dac191",
      "step": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/FastBuilder/FB-20260728T024714Z-2A6837/object_draft.step",
      "step_sha256": "2093735e392313aaebaebb9fdd00986466420822a77095769f6a927c9756131b",
      "stl": "/mnt/shirevault-network/SHiREVault/SHiREAcademy/FastBuilder/FB-20260728T024714Z-2A6837/object_draft.stl",
      "stl_sha256": "bb8af4ed52e64139fbeedaaca5e927b4986b65cc3839908de7508ea5c9aa417e"
    },
    "builder_version": "0.1.1-stage3b.1-validation-fix",
    "checks": {
      "dimensions_match_spec": true,
      "fits_selected_printer": true,
      "no_forge_ready_export": true,
      "one_valid_final_solid": true,
      "positive_volume": true,
      "practice_state_not_used": true,
      "safe_wall_thickness": true,
      "step_written": true,
      "stl_written": true
    },
    "classification": "FAST_BUILDER_DRAFT_PASS",
    "generated_at": "2026-07-28T02:47:17.207338+00:00",
    "job_id": "FB-20260728T024714Z-2A6837",
    "known_limitations": [
      "Schematic preview is not a photorealistic render.",
      "Text requested in labels is stored as metadata; Stage 3B creates a label recess but does not engrave arbitrary fonts.",
      "The draft requires Ray's visual review and slicer verification before printing."
    ],
    "material": {
      "minimum_wall_mm": 2.4,
      "name": "PLA"
    },
    "metrics": {
      "bounding_box_mm": {
        "x": 160.0,
        "y": 100.0,
        "z": 50.0
      },
      "solid_count": 1,
      "valid_shape": true,
      "volume_mm3": 144967.95081698732
    },
    "object_family": "desk_organiser",
    "object_name": "SHiRE Desk Organiser",
    "ok": true,
    "parameters": {
      "compartments": 3,
      "corner_radius_mm": 5.0,
      "divider_thickness_mm": 3.0,
      "floor_thickness_mm": 3.0,
      "height_mm": 50.0,
      "label_recess": true,
      "label_text_intent": "SHiRE",
      "length_mm": 160.0,
      "wall_thickness_mm": 3.0,
      "width_mm": 100.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
    },
    "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
    }
  },
  "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-28T02:47:14.295682+00:00",
    "job_id": "FB-20260728T024714Z-2A6837",
    "material": {
      "minimum_wall_mm": 2.4,
      "name": "PLA"
    },
    "object_family": "desk_organiser",
    "object_name": "SHiRE Desk Organiser",
    "parameters": {
      "compartments": 3,
      "corner_radius_mm": 5.0,
      "divider_thickness_mm": 3.0,
      "floor_thickness_mm": 3.0,
      "height_mm": 50.0,
      "label_recess": true,
      "label_text_intent": "SHiRE",
      "length_mm": 160.0,
      "wall_thickness_mm": 3.0,
      "width_mm": 100.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
    },
    "prompt": "Create a 160 x 100 x 50 mm SHiRE desk organiser with 3 compartments, rounded 5 mm corners and a label recess.",
    "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.v1",
    "warnings": [
      "Stage 3B creates a label recess and stores the intended wording as metadata; arbitrary font engraving is not enabled yet."
    ]
  },
  "started_at": "2026-07-28T02:47:14.327984+00:00",
  "status": "completed"
}