{
  "schema_version": 1,
  "evidence_type": "synthetic/theoretical",
  "command": "python complete_validation.py",
  "passed": true,
  "checks": [
    {
      "id": "service-clearance",
      "description": "Nominal side load retains allocated carton clearance",
      "expected": ">= 0.25 mm",
      "observed": 0.7439528857689869,
      "passed": true,
      "method": "Linear beam superposition: rail, two hangers, frame posts and shaft axial stretch"
    },
    {
      "id": "service-stress",
      "description": "Reference 304 rail stays below declared elastic screening allowable",
      "expected": "<= 136.6667 MPa",
      "observed": 15.0,
      "passed": true,
      "method": "Simply supported rail under central side load"
    },
    {
      "id": "jam-rejection",
      "description": "Large jam load is outside the clearance envelope",
      "expected": "reject 150 N",
      "observed": -0.4002355711550652,
      "passed": true,
      "method": "Same model with explicit overload"
    },
    {
      "id": "clamp-slip",
      "description": "Two clamps per rail resist nominal side load with factor 2",
      "expected": "margin >= 1",
      "observed": 5.0,
      "passed": true,
      "method": "F=T/(Kd); no credit for plungers carrying service load"
    },
    {
      "id": "shaft-vertical",
      "description": "Conservative midspan vertical shaft sag fits the existing 8 mm overhead margin",
      "expected": "< 8 mm",
      "observed": 0.04398064057807125,
      "passed": true,
      "method": "Two 25 N carriage weights conservatively combined at shaft midspan"
    },
    {
      "id": "repeatability-count",
      "description": "Three widths, three operators, two approach directions, ten cycles",
      "expected": "180 changeovers",
      "observed": 180,
      "passed": true,
      "method": "Seeded bounded synthetic setup sequence"
    },
    {
      "id": "repeatability-clearance",
      "description": "Generated loaded setup trials retain positive clearance",
      "expected": ">= 0.25 mm",
      "observed": 0.9660860900100294,
      "passed": true,
      "method": "Fixed manufacturing error plus directional pin contact and bounded reseating"
    },
    {
      "id": "wrong-setting-table",
      "description": "Every mixed or wrong-size indication is rejected by setup rule",
      "expected": "3 allowed states out of 243",
      "observed": {
        "allowed": 3,
        "total": 243
      },
      "passed": true,
      "method": "Exhaustive Cartesian enumeration; this is a written gate, not an installed interlock"
    },
    {
      "id": "wear-rejection",
      "description": "Added 0.8 mm guide error consumes loaded clearance",
      "expected": "reject worn state",
      "observed": -0.05604711423101316,
      "passed": true,
      "method": "Worst-case tolerance plus load deflection"
    },
    {
      "id": "beam-reference",
      "description": "100 mm square-section test beam hand value",
      "expected": "0.0125 mm",
      "observed": 0.0125,
      "passed": true,
      "method": "Euler-Bernoulli exact simply supported point-load formula"
    }
  ],
  "source_sha256": {
    "complete_validation.py": "549fd993e4f68b5f5ee1c74fbdfeb21e9bc16172d7ad323bd30c492af0f45d9a",
    "completion_util.py": "13ea3f7914cacfa378a684a234a33778ac10ed3b4473dbff5f0e4194419ff47d",
    "completion-inputs.json": "9cd23e7fbf1f7d04a31e7128a86df1e7fcf30151a0c7d3c28741fd2a8a3ed83b",
    "inputs.json": "ab346380665ced9386bb2df8ec29eb0bcaff4025344c5b7a7f8afc35550f2a2a",
    "model.py": "cd013cc946f6c7996c456a9da13427a67b6e59319f68d7803fe9618c84c2ca0b",
    "test_completion.py": "faeba689017d8972e019bfba844e8e52df73fa3ec221a607da4f6ba620b384ee",
    "completion-description.json": "f46e3255bfcf43bd3588c6388b4672e4ffdd721f183fd46938f07fab1030c0f7",
    "run.py": "ec50e0a0ce2bdeb0c5069a41602368bcc2fc4580e132e43a88a25d25567a9727",
    "engineering_util.py": "5405d3347ff0c4346c282e296a63ae11ccfac130bed2a417ca2dc2b6e4015169"
  },
  "report": "completion/report.html",
  "limitations": [
    "Loads, friction and material data are declared assumptions. These results do not establish carton impact, conveyor speed, measured operator repeatability or changeover-time savings.",
    "Linear beam models omit local carriage deformation, slot weakening, weld and bolt flexibility, nonlinear contact, fatigue and load dynamics. The calculated load envelope is a screening result, not a machine rating.",
    "The indicator truth table tests a written restart rule. No installed sensor or electrical interlock prevents a wrong setting in this mechanical design.",
    "The ground shaft and purchased clamps remain dimensioned reference envelopes. Procurement, retaining features and assembly details must match supplier hardware if fabricated.",
    "The synthetic trials keep fixed errors correlated across repetitions; their bounded distributions are assumed and cannot establish production capability."
  ],
  "results": {
    "synthetic_changeovers": 180,
    "indicator_states": 243,
    "service_clearance_mm": 0.7439528857689869,
    "screening_side_load_boundary_N": 81.80470571397566
  }
}
