{
  "opd": "benikigai/plus-one",
  "commit": 6,
  "opd_version": "0.5.0",
  "layer": "assembly",
  "question": "How does it go together, and in what order?",
  "data": {
    "assemblies": [
      {
        "id": "asm:top-sub",
        "name": "Top shell with diffuser, plus button and mic gaskets"
      },
      {
        "id": "asm:core",
        "name": "Top shell sub-assembly with board, speaker, haptic and battery"
      },
      {
        "id": "asm:base",
        "name": "Base with the magnet ring, charging coil and pads"
      },
      {
        "id": "asm:plus-one",
        "name": "Plus One, sealed, nothing attached"
      },
      {
        "id": "asm:packed",
        "name": "Packed unit with cable and card; no back ships"
      }
    ],
    "operations": [
      {
        "id": "op:diffuser-place",
        "name": "Seat the light-ring diffuser in the top shell",
        "type": "place",
        "inputs": [
          "part:top-shell",
          "part:ring-diffuser"
        ],
        "output": "asm:top-sub",
        "station": "sta:s1",
        "method": {
          "value": "by hand onto six stake posts",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "ring nest",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 5,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:diffuser-stake",
        "name": "Heat-stake the diffuser",
        "type": "heat-stake",
        "inputs": [
          "asm:top-sub"
        ],
        "output": "asm:top-sub",
        "station": "sta:s1",
        "method": {
          "value": "six-post hot-air cold-stake, timed",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "heat staker",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 9,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:button-place",
        "name": "Fit the plus button",
        "type": "place",
        "inputs": [
          "asm:top-sub",
          "part:plus-button"
        ],
        "output": "asm:top-sub",
        "station": "sta:s1",
        "method": {
          "value": "by hand, flange under the skin",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "ring nest",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 4,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:gasket-place",
        "name": "Place the two mic gaskets over the ports",
        "type": "place",
        "inputs": [
          "asm:top-sub",
          "part:mic-gasket"
        ],
        "output": "asm:top-sub",
        "station": "sta:s1",
        "method": {
          "value": "jig-located, liner peeled",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "gasket jig",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 6,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:board-place",
        "name": "Place the main board in the top shell",
        "type": "place",
        "inputs": [
          "asm:top-sub",
          "part:main-pcba"
        ],
        "output": "asm:core",
        "station": "sta:s2",
        "method": {
          "value": "by hand onto three bosses, LEDs to the ring",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "top-shell nest",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 10,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:board-screw",
        "name": "Drive three board screws",
        "type": "screw",
        "inputs": [
          "asm:core",
          "part:board-screw"
        ],
        "output": "asm:core",
        "station": "sta:s3",
        "method": {
          "value": "thread-forming, torque to angle window",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "top-shell nest",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 15,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:adhesive-dispense",
        "name": "Dispense adhesive for the speaker and haptic",
        "type": "adhesive",
        "inputs": [
          "asm:core"
        ],
        "output": "asm:core",
        "station": "sta:s4",
        "method": {
          "value": "two beads, camera-checked",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "dispense nest",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 8,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:speaker-place",
        "name": "Place the speaker",
        "type": "place",
        "inputs": [
          "asm:core",
          "part:speaker"
        ],
        "output": "asm:core",
        "station": "sta:s4",
        "method": {
          "value": "jig-located, 5 s hold",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "placement jig",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 5,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:haptic-place",
        "name": "Place the haptic motor",
        "type": "place",
        "inputs": [
          "asm:core",
          "part:haptic-motor"
        ],
        "output": "asm:core",
        "station": "sta:s4",
        "method": {
          "value": "jig-located",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "placement jig",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 5,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:battery-mate",
        "name": "Mate the battery connector",
        "type": "connector-mate",
        "inputs": [
          "asm:core",
          "part:battery"
        ],
        "output": "asm:core",
        "station": "sta:s5",
        "method": {
          "value": "seat, then a 3 N tug check",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "connector seating tool",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 8,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:battery-place",
        "name": "Place the battery on foam tape",
        "type": "place",
        "inputs": [
          "asm:core",
          "part:battery-foam"
        ],
        "output": "asm:core",
        "station": "sta:s5",
        "method": {
          "value": "locator, lead routed in its channel",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "battery locator",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 6,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:ring-bond",
        "name": "Bond the magnet ring into the base",
        "type": "adhesive",
        "inputs": [
          "part:base",
          "part:magnet-ring"
        ],
        "output": "asm:base",
        "station": "sta:s6",
        "method": {
          "value": "keyed fixture, polarity checked before the press",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "ring bonding fixture",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 8,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:coil-place",
        "name": "Place the charging coil and ferrite inside the ring",
        "type": "place",
        "inputs": [
          "asm:base",
          "part:qi-coil"
        ],
        "output": "asm:base",
        "station": "sta:s6",
        "method": {
          "value": "keyed to the base, adhesive-backed",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "ring bonding fixture",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 6,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:pad-press",
        "name": "Press the five pogo pads into the base",
        "type": "place",
        "inputs": [
          "asm:base",
          "part:pogo-pad"
        ],
        "output": "asm:base",
        "station": "sta:s6",
        "method": {
          "value": "press to a hard stop",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "pad press",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 6,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:base-close",
        "name": "Close the base onto the core",
        "type": "snap-fit",
        "inputs": [
          "asm:core",
          "asm:base"
        ],
        "output": "asm:plus-one",
        "station": "sta:s6",
        "method": {
          "value": "three snaps, force-monitored press",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "closing press",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 8,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:polarity-check",
        "name": "Check ring polarity, pad height and the key",
        "type": "inspect",
        "inputs": [
          "asm:plus-one"
        ],
        "output": "asm:plus-one",
        "station": "sta:s6",
        "method": {
          "value": "polarity gauge and height gauge",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "pad press",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 4,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:flash-provision",
        "name": "Flash firmware and provision the unit ID",
        "type": "flash",
        "inputs": [
          "asm:plus-one"
        ],
        "output": "asm:plus-one",
        "station": "sta:s7",
        "method": {
          "value": "over USB-C; unit ID written to eFuse",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "USB-C pogo fixture",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 24,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:mic-cal",
        "name": "Calibrate the two mics",
        "type": "test",
        "inputs": [
          "asm:plus-one"
        ],
        "output": "asm:plus-one",
        "station": "sta:s7",
        "method": {
          "value": "reference tone in an acoustic box",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "acoustic box",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 10,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:imu-cal",
        "name": "Calibrate the motion sensor",
        "type": "test",
        "inputs": [
          "asm:plus-one"
        ],
        "output": "asm:plus-one",
        "station": "sta:s7",
        "method": {
          "value": "six-face tilt",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "tilt table",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 6,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:functional-test",
        "name": "Functional test: button, touch, ring, haptic, IMU, wired and wireless charge, audio loopback, RF check",
        "type": "test",
        "inputs": [
          "asm:plus-one"
        ],
        "output": "asm:plus-one",
        "station": "sta:s8",
        "method": {
          "value": "scripted test over USB; RF in a shield box; a reference wireless charger",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "functional tester",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 40,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:laser-mark",
        "name": "Laser-mark the unit QR on the base rim",
        "type": "label",
        "inputs": [
          "asm:plus-one"
        ],
        "output": "asm:plus-one",
        "station": "sta:s8",
        "method": {
          "value": "fibre laser, then a read-back",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "laser marker",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 6,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      },
      {
        "id": "op:pack",
        "name": "Pack with the cable and card; no back ships",
        "type": "pack",
        "inputs": [
          "asm:plus-one",
          "part:retail-box",
          "part:pulp-tray",
          "part:usb-cable",
          "part:quick-card"
        ],
        "output": "asm:packed",
        "station": "sta:s8",
        "method": {
          "value": "by hand",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "fixture": {
          "value": "pack bench",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief"
          ],
          "note": "proposed"
        },
        "cycle_time_s": {
          "value": 10,
          "unit": "s",
          "source": "inferred",
          "confidence": "low",
          "evidence": [
            "src:design-brief",
            "src:tracker-puck-spec"
          ],
          "note": "target from time-study estimates of similar operations"
        }
      }
    ]
  }
}