{
  "schema_version": 1,
  "evidence_type": "synthetic/theoretical",
  "command": "python complete_validation.py",
  "passed": true,
  "checks": [
    {
      "id": "calibrated-fit",
      "description": "Declared bend compensation interval fits the panel",
      "expected": "positive total panel clearance",
      "observed": 0.15575222039230616,
      "passed": true,
      "method": "Worst-case independent blank, flange, K and panel-width errors"
    },
    {
      "id": "uncalibrated-rejected",
      "description": "Wider K interval is rejected",
      "expected": "negative total panel clearance",
      "observed": -0.22123889803846894,
      "passed": true,
      "method": "Same stack with K +/-0.10 instead of +/-0.02"
    },
    {
      "id": "selected-assembly",
      "description": "Selected post setback removes interpenetration",
      "expected": "zero positive-volume overlaps",
      "observed": [],
      "passed": true,
      "method": "Exact boolean intersections of all 49 actual assembled solids"
    },
    {
      "id": "bend-post-rejected",
      "description": "Posts near the sheet wall intersect formed bends",
      "expected": "four shell/post intersections",
      "observed": [
        {
          "first": "u-shell",
          "second": "corner-post-1",
          "intersection_mm3": 6.234382007756377
        },
        {
          "first": "u-shell",
          "second": "corner-post-2",
          "intersection_mm3": 6.234382007756377
        },
        {
          "first": "u-shell",
          "second": "corner-post-3",
          "intersection_mm3": 6.234382007756377
        },
        {
          "first": "u-shell",
          "second": "corner-post-4",
          "intersection_mm3": 6.234382007756377
        }
      ],
      "passed": true,
      "method": "Rebuild rejected 0.5 mm side setback and intersect B-reps"
    },
    {
      "id": "tray-removal",
      "description": "Tray plus electronics clear fixed enclosure over service path",
      "expected": "max intersection < 1e-4 mm3",
      "observed": 0.0,
      "passed": true,
      "method": "Seven CAD stations with lid/top fasteners removed; fixed posts give continuous side-gap bound"
    },
    {
      "id": "driver-access",
      "description": "10 mm-diameter driver clears the reference PCB envelope",
      "expected": "four tool intersections below 1e-4 mm3",
      "observed": [
        0.0,
        0.0,
        0.0,
        0.0
      ],
      "passed": true,
      "method": "Cylindrical access envelope at tray-screw axes"
    },
    {
      "id": "oversized-tool-rejected",
      "description": "24 mm-diameter driver is rejected",
      "expected": "at least one electronics collision",
      "observed": [
        188.22360673086231,
        188.22360673086197,
        188.2236067308623,
        188.2236067308624
      ],
      "passed": true,
      "method": "Actual CAD tool/envelope intersections"
    },
    {
      "id": "selected-cable",
      "description": "Selected R25 cable envelope clears electronics",
      "expected": "positive margin including 0.8 mm stack",
      "observed": 2.7,
      "passed": true,
      "method": "Connector depth plus bend radius plus cable radius compared with rear space"
    },
    {
      "id": "larger-cable-rejected",
      "description": "R35 cable is rejected",
      "expected": "negative rear-space margin",
      "observed": -7.3,
      "passed": true,
      "method": "Same geometry with larger required bend radius"
    },
    {
      "id": "screw-axis-stack",
      "description": "Independent screw/hole position budgets fit radial clearance",
      "expected": "positive remaining radial clearance",
      "observed": 0.06999999999999995,
      "passed": true,
      "method": "Worst-case radial stack with no RSS cancellation"
    },
    {
      "id": "opposed-screws",
      "description": "Tray spacer screw tips remain separated",
      "expected": "gap >= 1 mm",
      "observed": 1.0,
      "passed": true,
      "method": "Axial length stack for two M3 x 6 screws and 10 mm spacer"
    },
    {
      "id": "tolerance-corners",
      "description": "Every signed manufacturing corner fits",
      "expected": "32 positive fit clearances",
      "observed": {
        "cases": 32,
        "minimum_mm": 0.15575222039230618
      },
      "passed": true,
      "method": "Explicit enumeration, independently compared with additive bound"
    },
    {
      "id": "bound-equality",
      "description": "Enumerated minimum equals the additive worst case",
      "expected": "absolute difference <1e-12 mm",
      "observed": 2.7755575615628914e-17,
      "passed": true,
      "method": "Independent sign enumeration"
    },
    {
      "id": "synthetic-inspection",
      "description": "Seeded synthetic observations stay inside the analytic fit interval",
      "expected": "500 positive clearances, all above worst-case lower bound",
      "observed": {
        "count": 500,
        "minimum_mm": 0.2501846326324252
      },
      "passed": true,
      "method": "Uniform bounded input sampling; not observed process capability"
    }
  ],
  "source_sha256": {
    "model.py": "698a3f0edf42233851bd9accb594f316daaf7e5a554c736358c49371be017798",
    "exports.py": "b2a42ab86a2d58ba388c003a7508d9e8b06a4351ddf6ab00bd6596bc8783031b",
    "checks.py": "ae106808b07f6267c64061ae4de98c9ee306dcc2b1e4164cf38ef9257239bbb1",
    "visuals.py": "8661f081f089a30245fa7ec419277cc4e5d69fc0f6b2c9427bb88983ad0a94f8",
    "reporting.py": "984690c7c9fe3a3c01fbb9a0c344d4422e2ec84e2e344c1cad2887236613031f",
    "run.py": "36c15a21933cc5d1667650e38e1586e232213cb8b1740facd0577506a1ae3ba7",
    "test_project.py": "515dd2dabfac5e480a33381236dafd8d8e770d397e351f222e534212a52479d7",
    "complete_validation.py": "6d98c3ef834ab4e1f8599a20c2d9fe4f13cd738424d5afbeba5ecfc04b4c625d",
    "inputs.json": "2466ca43a030cc341d230b2a1cc0ee5eeebc128237b712102a10d445420024c4",
    "requirements.txt": "c17b84a2da84877521d05ef2b928f775ce4ce869f3774cc0e41de573f7683961"
  },
  "report": "completion/report.html",
  "limitations": [
    "No physical sheet-metal fabrication, tooling trial, thread-strength test, EMC or ingress test.",
    "K factor, tolerances and uniform distributions are declared synthetic inputs.",
    "Rigid electronics envelopes do not represent flexible cable installation or measured connector parts."
  ]
}
