{
  "opd": "benikigai/ec-1",
  "commit": 1,
  "opd_version": "0.4.0",
  "layer": "risk",
  "question": "What could go wrong, and how badly?",
  "data": {
    "pfmea": [
      {
        "id": "fm:stick-flux",
        "operation": "op:stick-solder",
        "failure_mode": "Flux residue wicks into stick potentiometer",
        "effect": "Stick drift in the field",
        "cause": "Too much flux, iron dwell over 3 s",
        "severity": 7,
        "occurrence": 5,
        "detection": 7,
        "evidence": [
          "src:repair-guide",
          "src:reviews"
        ]
      },
      {
        "id": "fm:stick-cold-joint",
        "operation": "op:stick-solder",
        "failure_mode": "Cold or cracked solder joint on stick pins",
        "effect": "Intermittent stick axis",
        "cause": "Iron temperature or dwell too low",
        "severity": 7,
        "occurrence": 3,
        "detection": 4,
        "evidence": [
          "src:ct-run-1"
        ]
      },
      {
        "id": "fm:pcba-boss-crack",
        "operation": "op:pcba-place",
        "failure_mode": "Board pressed onto its ledges cracks a support rib",
        "effect": "Loose PCBA, rattle",
        "cause": "Press force not controlled",
        "severity": 5,
        "occurrence": 2,
        "detection": 6,
        "evidence": [
          "src:teardown-log"
        ]
      },
      {
        "id": "fm:cell-misplace",
        "operation": "op:battery-adhere",
        "failure_mode": "Battery placed off-pocket",
        "effect": "Pinched cell at close, swelling risk",
        "cause": "No locating feature for the cell",
        "severity": 9,
        "occurrence": 2,
        "detection": 5,
        "evidence": [
          "src:ct-run-1"
        ]
      },
      {
        "id": "fm:haptic-reversed",
        "operation": "op:haptic-place",
        "failure_mode": "LRA connector mated off by one pin",
        "effect": "No haptics",
        "cause": "Unkeyed 2-pin connector",
        "severity": 5,
        "occurrence": 2,
        "detection": 3,
        "evidence": [
          "src:teardown-log"
        ]
      },
      {
        "id": "fm:battery-unseat",
        "operation": "op:battery-mate",
        "failure_mode": "Battery connector half-seated",
        "effect": "Dead unit after drop",
        "cause": "No seat check, tight z-height under the top shell",
        "severity": 8,
        "occurrence": 4,
        "detection": 6,
        "evidence": [
          "src:ct-run-1",
          "src:reviews"
        ]
      },
      {
        "id": "fm:pinched-wire",
        "operation": "op:close",
        "failure_mode": "Battery wire pinched between shells",
        "effect": "Short, field return, safety",
        "cause": "Wire routed over the boss",
        "severity": 9,
        "occurrence": 2,
        "detection": 5,
        "evidence": [
          "src:ct-run-1"
        ]
      },
      {
        "id": "fm:screw-strip",
        "operation": "op:screw",
        "failure_mode": "Screw strips the boss",
        "effect": "Loose shell, gap",
        "cause": "Torque too high or cross-threaded",
        "severity": 5,
        "occurrence": 3,
        "detection": 3,
        "evidence": [
          "src:teardown-log"
        ]
      },
      {
        "id": "fm:rf-low",
        "operation": "op:flash",
        "failure_mode": "Low radiated power",
        "effect": "Short range in the field",
        "cause": "LRA placed against the antenna keep-out",
        "severity": 6,
        "occurrence": 3,
        "detection": 2,
        "evidence": [
          "src:eol-sample"
        ]
      },
      {
        "id": "fm:stick-cal-fail",
        "operation": "op:stick-cal",
        "failure_mode": "Calibration out of range",
        "effect": "Rework or scrap",
        "cause": "Stick module centre offset beyond 4%",
        "severity": 4,
        "occurrence": 4,
        "detection": 2,
        "evidence": [
          "src:eol-sample"
        ]
      },
      {
        "id": "fm:gap-high",
        "operation": "op:cosmetic",
        "failure_mode": "Shoulder gap over 0.30 mm",
        "effect": "Cosmetic complaint, dust ingress",
        "cause": "Shell warp at the shoulder wall",
        "severity": 4,
        "occurrence": 5,
        "detection": 4,
        "evidence": [
          "src:caliper-run-1",
          "src:reviews"
        ]
      },
      {
        "id": "fm:wrong-label",
        "operation": "op:label",
        "failure_mode": "Label serial does not match the unit",
        "effect": "Traceability lost",
        "cause": "Label printed ahead of unit",
        "severity": 4,
        "occurrence": 2,
        "detection": 3,
        "evidence": [
          "src:teardown-log"
        ]
      }
    ]
  }
}