benikigai/plus-onePublic

Plus One

opd.yaml · 57 KB · commit #1 · Nov 1, 2026

SHA-256 4118e585fa6f501e3fcdbf4a7a6089d960c79d039ddb400e3ccac1ca30c67a4d

# Plus One: N+1 Labs' open agent puck. Prototype in design; every value is a design target.
# Generated by tools/make_plus_one_data.py.
opd_version: 0.4.0
extensions:
- id: battery
  version: 0.1.0
card:
  product: Plus One
  maker: N+1 Labs
  maker_endorsed: true
  synthetic: true
  category:
  - agent-device
  - consumer-electronics
  - battery-powered
  - wireless
  - open-hardware
  revision_examined: Plus One Core, concept rev A (prototype in design; nothing built)
  units_examined: 0
  license: CC-BY-4.0
  base_opd: null
  base_relation: null
  trust_level: draft
  visibility: public
  metrics:
    observed_share:
      value: 0.0
      badge: self-reported
    card_completeness:
      value: 1.0
      badge: self-reported
    rebuild_check:
      value: true
      badge: self-reported
    reproduction_agreement:
      value: null
      badge: self-reported
sources:
- id: src:design-brief
  kind: maker
  ref: docs/design-brief.md
  sha256: 8a224c9babe62ec9f10f90202609ce3d26eb54d7584d848a12733480d84a836a
- id: src:cad
  kind: maker
  ref: parts/geometry.json
  sha256: ea781b64a05105a17196eae4914fc79289ffc1a66996db75ad7e665f1d8c2e80
- id: src:tracker-puck-spec
  kind: maker
  ref: nplus1labs/factory docs/prototype/spec-tracker-puck.md (the line and operation models this copies)
- id: src:firmware-research
  kind: maker
  ref: nplus1labs/research docs/research/2026-11-firmware/synthesis.md
- id: src:ec-1-lessons
  kind: maker
  ref: openproduct-co/opd-spec examples/ec-1.opd/issues (synthetic lessons this design takes on)
- id: src:module-datasheet
  kind: maker
  ref: Espressif ESP32-S3-WROOM-1 datasheet (public)
parts:
- id: part:top-shell
  name: Top shell
  material:
    value: PC/ABS, graphite, soft-touch texture
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: injection-moulded, 1-cavity tool
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 6.31
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: from CAD volume at 1.15 g/cm3
  geometry:
    step: parts/top-shell.step
    usd_prim: /Product/TopShell
    fidelity: reduced
- id: part:ring-diffuser
  name: Light-ring diffuser
  material:
    value: PC, light-diffusing grade, lime tint
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: injection-moulded, heat-staked into the top shell
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 1.0
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: from CAD volume at 1.20 g/cm3
  geometry:
    step: parts/ring-diffuser.step
    usd_prim: /Product/RingDiffuser
    fidelity: reduced
- id: part:plus-button
  name: Plus button
  material:
    value: PC/ABS cap, pad-printed white plus
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: injection-moulded, pad-printed
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 3.66
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: from CAD volume at 1.15 g/cm3
  geometry:
    step: parts/plus-button.step
    usd_prim: /Product/PlusButton
    fidelity: reduced
- id: part:mic-gasket
  name: Mic gasket
  material:
    value: silicone foam, acoustic grade
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: die-cut, adhesive-backed
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 0.01
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
  geometry:
    step: parts/mic-gasket.step
    usd_prim: /Product/MicGasket_1
    fidelity: envelope
- id: part:main-pcba
  name: Main board (PCBA)
  material:
    value: FR-4, 4 layers, 1.0 mm, ENIG, round 53 mm
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought assembled from the EMS, tested before shipping
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 7.5
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
  geometry:
    step: parts/main-pcba.step
    usd_prim: /Product/MainPCBA
    fidelity: envelope
- id: part:speaker
  name: Speaker, 15 mm
  material:
    value: micro speaker, 8 ohm, 0.7 W
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought assembled
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 2.0
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
  geometry:
    step: parts/speaker.step
    usd_prim: /Product/Speaker
    fidelity: envelope
- id: part:haptic-motor
  name: Haptic motor, 8 mm coin
  material:
    value: coin LRA, 8 mm
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought assembled, adhesive-backed
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 1.0
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
  geometry:
    step: parts/haptic-motor.step
    usd_prim: /Product/HapticMotor
    fidelity: envelope
- id: part:battery
  name: Li-ion cell with protection
  material:
    value: lithium-ion polymer, 34 x 25 x 4.5 mm, with protection board and lead
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought assembled with a connector on the lead
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 7.5
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
  geometry:
    step: parts/battery.step
    usd_prim: /Product/Battery
    fidelity: envelope
- id: part:battery-foam
  name: Battery foam tape
  material:
    value: PU foam, 0.5 mm, double-sided acrylic
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: die-cut
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 0.1
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
  geometry:
    step: parts/battery-foam.step
    usd_prim: /Product/BatteryFoam
    fidelity: envelope
- id: part:base
  name: Sealed base
  material:
    value: PC/ABS, graphite
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: injection-moulded, 3 snap hooks to the top shell
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 5.49
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: from CAD volume at 1.15 g/cm3
  geometry:
    step: parts/base.step
    usd_prim: /Product/Base
    fidelity: reduced
- id: part:base-magnet
  name: Base magnet
  material:
    value: NdFeB N42, nickel-plated, 6 x 1.5 mm
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought; pressed into the base
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 0.32
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: from CAD volume at 7.5 g/cm3
  geometry:
    step: parts/base-magnet.step
    usd_prim: /Product/BaseMagnet_1
    fidelity: envelope
- id: part:pogo-pad
  name: Pogo pad
  material:
    value: brass, gold-plated, 2.4 mm
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: insert-moulded into the base
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 0.01
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
  geometry:
    step: parts/pogo-pad.step
    usd_prim: /Product/PogoPad_1
    fidelity: envelope
- id: part:board-screw
  name: Board screw, 2 mm thread-forming for plastics
  material:
    value: steel, black zinc
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 0.22
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: from CAD volume at 7.85 g/cm3
  geometry:
    step: parts/board-screw.step
    usd_prim: /Product/BoardScrew_1
    fidelity: reduced
- id: part:flat-back
  name: Flat foot back
  material:
    value: PLA or PETG, printed; ships in the box
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: 3D-printed flat on the bed, no supports; two magnets pressed in
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 5.24
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: from CAD volume at 1.24 g/cm3 and 60% infill
  geometry:
    step: parts/flat-back.step
    usd_prim: /Product/FlatBack
    fidelity: reduced
- id: part:esp32-s3-module
  name: ESP32-S3 module, 16 MB flash, 8 MB PSRAM
  material:
    value: ESP32-S3-WROOM-1 class module with PCB antenna, shielded
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    - src:module-datasheet
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:mems-mic
  name: MEMS microphone, bottom port
  material:
    value: digital PDM MEMS mic
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:audio-amp
  name: Class-D amp with a capped output
  material:
    value: mono I2S class-D amp; gain and current limited in hardware
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:haptic-driver
  name: Haptic driver
  material:
    value: LRA driver IC
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:imu
  name: 6-axis motion sensor
  material:
    value: MEMS accelerometer and gyroscope
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:fuel-gauge
  name: Fuel gauge
  material:
    value: single-cell fuel gauge IC
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:charger
  name: Charger with power path
  material:
    value: single-cell Li-ion charger IC
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:ring-led
  name: RGB LED, addressable
  material:
    value: 2 x 2 mm addressable RGB LED
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:tact-switch
  name: Tactile switch under the plus
  material:
    value: 6 x 6 mm tactile switch
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:usb-c
  name: USB-C receptacle, mid-mount
  material:
    value: 16-pin USB-C receptacle
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:boot-button
  name: BOOT button
  material:
    value: side-push tactile switch
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:power-switch
  name: Hardware power-off switch
  material:
    value: slide switch in series with the cell
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:qwiic-connector
  name: Qwiic connector
  material:
    value: 4-pin 1.0 mm JST SH
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:battery-connector
  name: Battery connector
  material:
    value: 2-pin 1.25 mm wire-to-board
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:pcb
  name: Bare board, 4 layers
  material:
    value: FR-4, Tg 150, round 53 mm
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:passives
  name: Passives
  material:
    value: MLCC, resistors, ferrites; count not fixed yet
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: purchased-component, placed by the EMS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:light-sensor
  name: Ambient light sensor (Plus One+)
  material:
    value: digital ambient light sensor
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: Plus One+ only; footprint empty on Core
  process:
    value: purchased-component
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:nfc-tag
  name: NFC tag (Plus One+)
  material:
    value: NFC Forum type 2 tag IC with PCB antenna
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: Plus One+ only; footprint empty on Core
  process:
    value: purchased-component
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:debug-jumper
  name: Power test jumper and debug pads (Plus One+)
  material:
    value: 0 ohm jumper and test pads
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: Plus One+ only; footprint empty on Core
  process:
    value: purchased-component
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
- id: part:retail-box
  name: Retail box
  material:
    value: SBS board, printed
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 30.0
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
- id: part:pulp-tray
  name: Pulp tray
  material:
    value: moulded pulp
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 8.0
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
- id: part:usb-cable
  name: USB-C cable, 0.5 m
  material:
    value: TPE jacket, copper
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 15.0
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
- id: part:quick-card
  name: Quick start card with the unit QR
  material:
    value: coated card, printed
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  process:
    value: bought
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design choice
  mass_g:
    value: 3.0
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: design target
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:plus-one
  name: Plus One, sealed core
- id: asm:packed
  name: Packed unit with flat foot back, cable and card
bom:
- item: asm:packed
  parent: null
  qty: 1
- item: asm:plus-one
  parent: asm:packed
  qty: 1
- item: part:flat-back
  parent: asm:packed
  qty: 1
  supplier: sup:printer
- item: part:retail-box
  parent: asm:packed
  qty: 1
  supplier: sup:pack
- item: part:pulp-tray
  parent: asm:packed
  qty: 1
  supplier: sup:pack
- item: part:usb-cable
  parent: asm:packed
  qty: 1
  supplier: sup:pack
- item: part:quick-card
  parent: asm:packed
  qty: 1
  supplier: sup:pack
- item: asm:core
  parent: asm:plus-one
  qty: 1
- item: part:base
  parent: asm:plus-one
  qty: 1
  supplier: sup:shell-moulder
- item: part:base-magnet
  parent: asm:plus-one
  qty: 2
  supplier: sup:magnet-vendor
- item: part:pogo-pad
  parent: asm:plus-one
  qty: 5
  supplier: sup:shell-moulder
- item: asm:top-sub
  parent: asm:core
  qty: 1
- item: part:main-pcba
  parent: asm:core
  qty: 1
  supplier: sup:ems
- item: part:board-screw
  parent: asm:core
  qty: 3
  supplier: sup:fastener
- item: part:speaker
  parent: asm:core
  qty: 1
  supplier: sup:audio-vendor
- item: part:haptic-motor
  parent: asm:core
  qty: 1
  supplier: sup:haptic-vendor
- item: part:battery
  parent: asm:core
  qty: 1
  supplier: sup:cell-maker
- item: part:battery-foam
  parent: asm:core
  qty: 1
  supplier: sup:converter
- item: part:top-shell
  parent: asm:top-sub
  qty: 1
  supplier: sup:shell-moulder
- item: part:ring-diffuser
  parent: asm:top-sub
  qty: 1
  supplier: sup:shell-moulder
- item: part:plus-button
  parent: asm:top-sub
  qty: 1
  supplier: sup:shell-moulder
- item: part:mic-gasket
  parent: asm:top-sub
  qty: 2
  supplier: sup:converter
- item: part:esp32-s3-module
  parent: part:main-pcba
  qty: 1
  supplier: sup:module-vendor
- item: part:mems-mic
  parent: part:main-pcba
  qty: 2
  supplier: sup:chip-distributor
- item: part:audio-amp
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:haptic-driver
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:imu
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:fuel-gauge
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:charger
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:ring-led
  parent: part:main-pcba
  qty: 12
  supplier: sup:chip-distributor
- item: part:tact-switch
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:usb-c
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:boot-button
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:power-switch
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:qwiic-connector
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:battery-connector
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
- item: part:pcb
  parent: part:main-pcba
  qty: 1
  supplier: sup:ems
- item: part:passives
  parent: part:main-pcba
  qty: 1
  supplier: sup:chip-distributor
suppliers:
- id: sup:shell-moulder
  name:
    value: 'To be sourced: shell moulder'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:ems
  name:
    value: 'To be sourced: EMS for the main board'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:module-vendor
  name:
    value: Espressif or an authorised distributor
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:chip-distributor
  name:
    value: 'To be sourced: component distributor'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:audio-vendor
  name:
    value: 'To be sourced: micro speaker maker'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:haptic-vendor
  name:
    value: 'To be sourced: LRA maker'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:cell-maker
  name:
    value: 'To be sourced: Li-ion cell maker'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:converter
  name:
    value: 'To be sourced: die-cut converter'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:magnet-vendor
  name:
    value: 'To be sourced: magnet maker'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:fastener
  name:
    value: 'To be sourced: fastener maker'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:printer
  name:
    value: N+1 Labs, printed in house
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
- id: sup:pack
  name:
    value: 'To be sourced: packaging maker'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: not sourced yet
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 2 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:base-close
  name: Close the sealed base
  type: snap-fit
  inputs:
  - asm:core
  - part:base
  - part:base-magnet
  - part:pogo-pad
  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 magnet polarity and pogo pad height
  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: magnet gauge
    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, 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
    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: 34
    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 flat foot back, cable and card
  type: pack
  inputs:
  - asm:plus-one
  - part:flat-back
  - 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: 12
    unit: s
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    - src:tracker-puck-spec
    note: target from time-study estimates of similar operations
stations:
- id: sta:s1
  name: Top shell sub-assembly
  type: assembly
  equipment:
  - value: heat staker with a ring nest
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: mic gasket placement jig
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S1
  isa95_work_center: PlusOne-Line/S1
  data_interface: unknown
- id: sta:s2
  name: Place main board
  type: assembly
  equipment:
  - value: top-shell nest, face down
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S2
  isa95_work_center: PlusOne-Line/S2
  data_interface: unknown
- id: sta:s3
  name: Drive board screws
  type: assembly
  equipment:
  - value: electric screwdriver with torque and angle monitoring
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S3
  isa95_work_center: PlusOne-Line/S3
  data_interface: unknown
- id: sta:s4
  name: Speaker and haptic
  type: assembly
  equipment:
  - value: bench dispenser with a bead camera
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: placement jig
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S4
  isa95_work_center: PlusOne-Line/S4
  data_interface: unknown
- id: sta:s5
  name: Battery
  type: assembly
  equipment:
  - value: connector seating tool with a tug check
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: battery locator
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S5
  isa95_work_center: PlusOne-Line/S5
  data_interface: unknown
- id: sta:s6
  name: Close the sealed base
  type: assembly
  equipment:
  - value: closing press with force monitoring
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: magnet polarity gauge
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S6
  isa95_work_center: PlusOne-Line/S6
  data_interface: unknown
- id: sta:s7
  name: Flash, provision, calibrate
  type: test
  equipment:
  - value: USB-C pogo fixture
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: flashing PC
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: acoustic box for mic calibration
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: tilt table for IMU calibration
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S7
  isa95_work_center: PlusOne-Line/S7
  data_interface: unknown
- id: sta:s8
  name: Functional test, mark, pack
  type: test
  equipment:
  - value: functional tester with an RF shield box
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: laser marker
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  - value: pack bench
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  operators:
    value: 1
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  layout_usd_prim: /Line/S8
  isa95_work_center: PlusOne-Line/S8
  data_interface: unknown
inspection_plans:
- id: insp:shell-iqc
  station: sta:s1
  stage: iqc
  item: part:top-shell
  characteristic: Diameter, ring slot width, cosmetic grade A
  method:
    value: caliper, pin gauge, light booth
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  sampling:
    standard: ANSI/ASQ Z1.4
    inspection_level: II
    aql: 1.0
    lot_size_range:
    - 1201
    - 3200
    sample_size: 125
    basis:
      value: proposed plan; set at the pilot build
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
- id: insp:pcba-iqc
  station: sta:s2
  stage: iqc
  item: part:main-pcba
  characteristic: EMS test record present; boots and enumerates over USB
  method:
    value: sample power-on
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  sampling:
    standard: ANSI/ASQ Z1.4
    inspection_level: S-3
    aql: 0.65
    lot_size_range:
    - 1201
    - 3200
    sample_size: 32
    basis:
      value: proposed plan; set at the pilot build
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
- id: insp:cell-iqc
  station: sta:s5
  stage: iqc
  item: part:battery
  characteristic: Open-circuit voltage 3.7 to 3.9 V; no swelling
  method:
    value: OCV meter, thickness gauge
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  sampling:
    standard: ANSI/ASQ Z1.4
    inspection_level: II
    aql: 0.4
    lot_size_range:
    - 501
    - 1200
    sample_size: 80
    basis:
      value: proposed plan; set at the pilot build
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
- id: insp:stake-ipqc
  station: sta:s1
  stage: ipqc
  item: part:ring-diffuser
  characteristic: Stake pull-off force
  method:
    value: push-out test, first five each shift
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  sampling:
    standard: other
    sample_size: 5
    basis:
      value: proposed plan; set at the pilot build
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
- id: insp:oqc-audit
  station: sta:s8
  stage: oqc
  item: asm:packed
  characteristic: Packed unit complete; boots; QR reads
  method:
    value: audit
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed
  sampling:
    standard: ANSI/ASQ Z1.4
    inspection_level: II
    aql: 0.65
    lot_size_range:
    - 1201
    - 3200
    sample_size: 125
    basis:
      value: proposed plan; set at the pilot build
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
tests:
- id: test:flash-verify
  station: sta:s7
  name: Firmware image flashed and verified
  measures: image hash
- id: test:unit-id
  station: sta:s7
  name: Unit ID provisioned once
  measures: eFuse read-back
- id: test:mic-sensitivity
  station: sta:s7
  name: Mic sensitivity after calibration
  measures: dBFS at 94 dB SPL, 1 kHz
  lower:
    value: -28
    unit: dBFS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
  upper:
    value: -24
    unit: dBFS
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:imu-bias
  station: sta:s7
  name: Motion sensor bias after calibration
  measures: accelerometer bias
  upper:
    value: 0.05
    unit: g
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:button
  station: sta:s8
  name: Plus button actuation
  measures: switch closes, debounced
- id: test:touch-ring
  station: sta:s8
  name: Touch ring delta
  measures: touch counts on a reference finger
  lower:
    value: 30
    unit: '%'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:ring-leds
  station: sta:s8
  name: Light ring colours
  measures: camera colour check per LED
- id: test:haptic
  station: sta:s8
  name: Haptic drive current
  measures: mA at rated drive
  lower:
    value: 40
    unit: mA
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
  upper:
    value: 90
    unit: mA
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:charge
  station: sta:s8
  name: Charge current
  measures: mA from USB at 5 V
  lower:
    value: 200
    unit: mA
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
  upper:
    value: 450
    unit: mA
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:audio-loopback
  station: sta:s8
  name: Audio loopback
  measures: speaker to mics, level and THD
  upper:
    value: 3
    unit: '%'
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:rf-check
  station: sta:s8
  name: Radio check
  measures: Wi-Fi and BLE RSSI against a golden radio in the shield box
  lower:
    value: -60
    unit: dBm
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:power-off
  station: sta:s8
  name: Hardware power-off current
  measures: cell current with the switch off
  upper:
    value: 1
    unit: uA
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:pogo-limit
  station: sta:s8
  name: Pogo pad current limit
  measures: short-circuit current at the pads
  upper:
    value: 300
    unit: mA
    source: inferred
    confidence: low
    evidence:
    - src:design-brief
    note: proposed limit
- id: test:qr-read
  station: sta:s8
  name: QR reads back
  measures: scanner read
pfmea:
- id: fm:stake-weak
  operation: op:diffuser-stake
  failure_mode: Stake under-melted; diffuser loose
  effect: Ring rattles; light leaks at the seam
  cause: Stake time or temperature low
  severity: 5
  occurrence: 4
  detection: 4
  evidence:
  - src:tracker-puck-spec
- id: fm:screw-strip
  operation: op:board-screw
  failure_mode: Screw strips the boss
  effect: Board loose; button feel mushy
  cause: Torque high or pilot hole oversize
  severity: 6
  occurrence: 3
  detection: 3
  evidence:
  - src:tracker-puck-spec
- id: fm:adhesive-on-cone
  operation: op:adhesive-dispense
  failure_mode: Adhesive bead touches the speaker cone
  effect: Buzz or low output
  cause: Bead placement drift
  severity: 6
  occurrence: 3
  detection: 4
  evidence:
  - src:design-brief
- id: fm:battery-unseat
  operation: op:battery-mate
  failure_mode: Battery connector half-seated
  effect: Dead unit or resets after a drop
  cause: Mate force low; no tug check
  severity: 8
  occurrence: 4
  detection: 3
  evidence:
  - src:ec-1-lessons
- id: fm:wire-pinch
  operation: op:base-close
  failure_mode: Battery lead pinched when the base closes
  effect: Short; heat in the worst case
  cause: Lead outside its channel
  severity: 9
  occurrence: 2
  detection: 4
  evidence:
  - src:ec-1-lessons
- id: fm:magnet-flip
  operation: op:base-close
  failure_mode: Magnet missing or polarity reversed
  effect: Back won't hold or flips
  cause: Wrong-way press-in
  severity: 5
  occurrence: 3
  detection: 2
  evidence:
  - src:design-brief
- id: fm:gasket-shift
  operation: op:gasket-place
  failure_mode: Mic gasket off its port
  effect: Low mic sensitivity; poor wake word
  cause: Gasket lifts with the liner
  severity: 6
  occurrence: 4
  detection: 3
  evidence:
  - src:design-brief
- id: fm:id-twice
  operation: op:flash-provision
  failure_mode: Unit ID provisioned twice or not at all
  effect: Twin and QR point at the wrong unit
  cause: Retry after a failed flash
  severity: 6
  occurrence: 2
  detection: 2
  evidence:
  - src:design-brief
- id: fm:rf-detune
  operation: op:functional-test
  failure_mode: Radio check passes a detuned antenna
  effect: Short range in the field
  cause: Module antenna near the ring LEDs or the cell
  severity: 6
  occurrence: 3
  detection: 5
  evidence:
  - src:ec-1-lessons
  - src:module-datasheet
- id: fm:qr-unreadable
  operation: op:laser-mark
  failure_mode: QR unreadable
  effect: Unit can't open its twin
  cause: Laser focus or power drift
  severity: 3
  occurrence: 3
  detection: 2
  evidence:
  - src:design-brief
ext:
  battery:
    cells:
    - part: part:battery
      chemistry:
        value: Li-ion polymer
        source: inferred
        confidence: low
        evidence:
        - src:design-brief
        note: design choice
      form: pouch
      nominal_voltage_v:
        value: 3.7
        unit: V
        source: inferred
        confidence: low
        evidence:
        - src:design-brief
        note: design choice
      capacity_mah:
        value: 350
        unit: mAh
        source: inferred
        confidence: low
        evidence:
        - src:design-brief
        note: design target for a 34 x 25 x 4.5 mm cell
      protection_circuit:
        value: single-cell protection board on the tab, plus the charger's limits and a hardware power-off switch
        source: inferred
        confidence: low
        evidence:
        - src:design-brief
        note: design choice
design_intent:
  targets:
  - characteristic: size
    where:
    - part:top-shell
    target:
      value: 58.0
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    lower:
      value: 57.8
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    upper:
      value: 58.2
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    priority: must
    owner: industrial-design
    rationale: Diameter 58 mm. Fits a palm and a desk; the back template keys off it
  - characteristic: thickness
    where:
    - part:top-shell
    - part:base
    target:
      value: 19.0
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    upper:
      value: 20.0
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    priority: should
    owner: industrial-design
    rationale: Height 19 mm without a back. Low and pebble-like
  - characteristic: weight
    where:
    - part:base
    target:
      value: 40.0
      unit: g
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    upper:
      value: 45.0
      unit: g
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    priority: should
    owner: product
    rationale: Core without a back
  - characteristic: button-travel
    where:
    - part:plus-button
    target:
      value: 0.3
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    lower:
      value: 0.2
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    upper:
      value: 0.4
      unit: mm
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    priority: must
    owner: product
    rationale: Short, firm click you can find without looking
  - characteristic: other
    where:
    - part:base-magnet
    target:
      value: 8.0
      unit: N
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    lower:
      value: 6.0
      unit: N
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    priority: must
    owner: product
    rationale: Back hold force. A back stays on when the puck is lifted by its back
  - characteristic: other
    where:
    - part:pogo-pad
    target:
      value: 300.0
      unit: mA
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    upper:
      value: 300.0
      unit: mA
      source: inferred
      confidence: low
      evidence:
      - src:design-brief
      note: design target
    priority: must
    owner: electrical
    rationale: Pogo pad current limit. A shorted back trips safely
variants:
  objectives:
  - metric: throughput.cycle_time
    direction: min
  - metric: cost.cost_per_good_unit
    direction: min
  constraints:
  - takt 60 s (design target)
  - headcount at most 9
  - no new station type beyond the brief
  baseline:
    scores:
      throughput:
        cycle_time:
          value: 52
          unit: s
          origin: estimated
          engine: expert-estimate
          confidence: low
          note: slowest station from target cycle times; nothing built
        takt:
          value: 60
          unit: s
          origin: estimated
          engine: expert-estimate
          confidence: medium
          note: design target, about 480 units an 8-hour shift
        bottleneck_station: sta:s8
        headcount: 8
  candidates:
  - id: var:split-s8
    name: 'Split S8: test in one station, mark and pack in another'
    kind: station-layout
    base: baseline
    description: A ninth bench takes the laser mark and pack off S8, leaving S7 the bottleneck.
    changes:
    - action: add
      target:
      - sta:s8
      description: mark and pack move to a new bench after S8
    generated_by:
      method: agent
      engine: expert-estimate
      created: '2026-11-01'
    scores:
      throughput:
        cycle_time:
          value: 40
          unit: s
          origin: estimated
          engine: expert-estimate
          confidence: low
        bottleneck_station: sta:s7
        headcount: 9
  - id: var:plus-one-plus
    name: Plus One+ (coming next)
    kind: design-change
    base: baseline
    description: 'Coming next. The same board with more parts fitted: light sensor, NFC tag, debug jumper; a clear shell option.
      No new station: a board-variant BOM at S2 and extra checks at S8.'
    changes:
    - action: add
      target:
      - part:light-sensor
      - part:nfc-tag
      - part:debug-jumper
      description: fit the empty footprints
    - action: modify
      target:
      - sta:s8
      description: add NFC and light-sensor checks
    generated_by:
      method: manual
      engine: expert-estimate
      created: '2026-11-01'
    scores:
      throughput:
        cycle_time:
          value: 58
          unit: s
          origin: estimated
          engine: expert-estimate
          confidence: low
          note: S8 gains about 6 s of checks
        bottleneck_station: sta:s8
        headcount: 8
  - id: var:plus-one-plus-plus
    name: Plus One++ (coming next)
    kind: routing
    base: var:plus-one-plus
    description: Coming next. Plus One+ boxed with a set of backs. Adds S9 after S8, kitting the backs into the box.
    changes:
    - action: add
      target:
      - sta:s8
      description: a new S9 after S8 kits the backs into a bigger box
    generated_by:
      method: manual
      engine: expert-estimate
      created: '2026-11-01'
    scores:
      throughput:
        cycle_time:
          value: 58
          unit: s
          origin: estimated
          engine: expert-estimate
          confidence: low
          note: S9 kitting runs in parallel; S8 stays the bottleneck
        bottleneck_station: sta:s8
        headcount: 9
  recommended:
    variant: var:split-s8
    rationale: Leaves headroom at S8 for the Plus One+ checks before that edition ships
    tradeoffs: one more bench and operator; S7 becomes the bottleneck
  engine_notes: Every score here is an expert estimate for a line that doesn't exist yet. The yield model (vb) has not been
    run on Plus One.