benikigai/ec-1Public

EC-1 Wireless Controller

study.yaml · 11 KB · commit #1 · Nov 1, 2026

SHA-256 91246d2b6498ada9eb529b954048270a72d352945174ffbb59deb363ef5b2da1

# SYNTHETIC. Same study as in opd.yaml.
objectives:
- metric: yield.rty
  direction: max
- metric: cost.cost_per_good_unit
  direction: min
- metric: throughput.cycle_time
  direction: min
constraints:
- takt 36 s (2,000 units a day over two 10-hour shifts)
- headcount at most 12
- no single new tool over 25,000 USD
baseline:
  scores:
    yield:
      fpy_by_station:
        sta:a2:
          value: 0.992
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        sta:a3:
          value: 0.996
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        sta:a4:
          value: 0.99
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        sta:t1:
          value: 0.985
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        sta:t2:
          value: 0.978
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        sta:t3:
          value: 0.983
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        sta:t4:
          value: 0.995
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
      rty:
        value: 0.922
        origin: simulated
        engine: monte-carlo
        runs: 20000
        interval:
        - 0.905
        - 0.935
        confidence: low
      top_failure_modes:
      - failure_mode: ext:controller:stick-drift
        share:
          value: 0.24
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        issue: iss:stick-drift-flux
        pfmea: fm:stick-flux
      - failure_mode: connector-unseat
        share:
          value: 0.18
          origin: simulated
          engine: mujoco
          runs: 2000
          confidence: low
        issue: iss:battery-unseat
        pfmea: fm:battery-unseat
      - failure_mode: gap-flush
        share:
          value: 0.16
          origin: simulated
          engine: monte-carlo
          runs: 20000
          confidence: low
        issue: iss:shoulder-gap
        pfmea: fm:gap-high
    throughput:
      cycle_time:
        value: 30
        unit: s
        origin: estimated
        engine: analytic
        confidence: low
        note: slowest station from time studies; needs the discrete-event simulator
      takt:
        value: 36
        unit: s
        origin: estimated
        engine: analytic
        confidence: high
      bottleneck_station: sta:t1
      headcount: 11
    cost:
      cost_per_good_unit:
        value: 1.92
        unit: USD
        origin: estimated
        engine: analytic
        confidence: low
        note: conversion cost per good unit, including scrap and rework
    experience:
      weight:
        value: 69.4
        unit: g
        origin: measured
        confidence: medium
        evidence:
        - src:caliper-run-1
      gap_flush_consistency:
        value: 0.0493
        unit: mm, 1 sigma
        origin: measured
        confidence: medium
        evidence:
        - src:caliper-run-1
      predicted_field_return_rate:
        value: 0.031
        origin: estimated
        confidence: low
      review_sentiment:
        value: 0.42
        unit: -1 to 1
        origin: measured
        engine: review-analysis
        confidence: low
        evidence:
        - src:reviews
  pareto:
    on_frontier: true
candidates:
- id: var:split-t1
  name: Second RF shield box at T1
  kind: equipment
  base: baseline
  description: Two shield boxes so flashing and RF test run in parallel
  changes:
  - action: add
    target:
    - sta:t1
    description: Second shield box and BLE tester
  generated_by:
    method: agent
    engine: analytic
    created: '2026-10-30'
  scores:
    yield:
      rty:
        value: 0.922
        origin: simulated
        engine: monte-carlo
        runs: 20000
        confidence: low
    throughput:
      cycle_time:
        value: 25
        unit: s
        origin: estimated
        engine: analytic
        confidence: low
      bottleneck_station: sta:t2
      headcount: 11
    cost:
      cost_per_good_unit:
        value: 1.98
        unit: USD
        origin: estimated
        engine: analytic
        confidence: low
      capex:
        value: 9800
        unit: USD
        origin: estimated
        engine: analytic
        confidence: medium
  pareto:
    on_frontier: true
- id: var:stick-connector
  name: FPC connector for the stick instead of hand soldering
  kind: design-change
  base: baseline
  description: Stick module ships with a flex tail; a ZIF connector replaces six hand-soldered pins
  addresses:
  - iss:stick-drift-flux
  - fm:stick-flux
  changes:
  - action: replace
    target:
    - op:stick-solder
    description: Solder step becomes a connector mate
  - action: modify
    target:
    - part:stick-module
    description: Module with flex tail, +0.12 USD
  generated_by:
    method: agent
    engine: monte-carlo
    created: '2026-10-30'
  scores:
    yield:
      rty:
        value: 0.936
        origin: simulated
        engine: monte-carlo
        runs: 20000
        interval:
        - 0.92
        - 0.95
        confidence: low
    throughput:
      cycle_time:
        value: 28
        unit: s
        origin: estimated
        engine: analytic
        confidence: low
      headcount: 11
    cost:
      cost_per_good_unit:
        value: 1.95
        unit: USD
        origin: estimated
        engine: analytic
        confidence: low
    experience:
      predicted_field_return_rate:
        value: 0.019
        origin: estimated
        confidence: low
  pareto:
    on_frontier: true
- id: var:preload-close
  name: Preload fixture and tug test for the battery connector
  kind: fixture-sequence
  base: baseline
  description: Closing fixture holds the connector down; a 2 N tug test after mating
  addresses:
  - iss:battery-unseat
  - fm:battery-unseat
  changes:
  - action: modify
    target:
    - op:close
    description: Preload pad in the closing fixture
  - action: modify
    target:
    - op:battery-mate
    description: Add tug test
  generated_by:
    method: agent
    engine: mujoco
    created: '2026-10-30'
  scores:
    yield:
      rty:
        value: 0.932
        origin: simulated
        engine: monte-carlo
        runs: 20000
        interval:
        - 0.915
        - 0.945
        confidence: low
    throughput:
      cycle_time:
        value: 31
        unit: s
        origin: estimated
        engine: analytic
        confidence: low
      headcount: 11
    cost:
      cost_per_good_unit:
        value: 1.96
        unit: USD
        origin: estimated
        engine: analytic
        confidence: low
  pareto:
    on_frontier: false
    dominated_by:
    - var:stick-connector
- id: var:gap-tight
  name: Tighten the shoulder gap to 0.10 mm
  kind: design-change
  base: baseline
  description: Industrial design asks for a tighter, more premium seam
  design_intent:
    targets:
    - characteristic: gap
      where:
      - part:top-shell
      target:
        value: 0.1
        unit: mm
        source: inferred
        confidence: low
      upper:
        value: 0.15
        unit: mm
        source: inferred
        confidence: low
      priority: should
      owner: industrial-design
  changes:
  - action: modify
    target:
    - part:top-shell
    description: Tighter tool tolerance and a cooling change on the shoulder wall
  generated_by:
    method: agent
    engine: monte-carlo
    created: '2026-10-30'
  scores:
    yield:
      rty:
        value: 0.874
        origin: simulated
        engine: monte-carlo
        runs: 20000
        interval:
        - 0.85
        - 0.895
        confidence: low
    throughput:
      cycle_time:
        value: 30
        unit: s
        origin: estimated
        engine: analytic
        confidence: low
    cost:
      cost_per_good_unit:
        value: 2.6
        unit: USD
        origin: estimated
        engine: analytic
        confidence: low
    experience:
      gap_flush_consistency:
        value: 0.03
        unit: mm, 1 sigma
        origin: simulated
        engine: monte-carlo
        runs: 20000
        confidence: low
      cosmetic_defect_rate:
        value: 0.061
        origin: simulated
        engine: monte-carlo
        runs: 20000
        confidence: low
  pareto:
    on_frontier: false
    dominated_by:
    - baseline
    - var:split-t1
    - var:stick-connector
- id: var:connector-and-preload
  name: Stick connector plus battery preload
  kind: mixed
  base: baseline
  description: Both fixes together
  addresses:
  - iss:stick-drift-flux
  - iss:battery-unseat
  changes:
  - action: replace
    target:
    - op:stick-solder
    description: As var:stick-connector
  - action: modify
    target:
    - op:close
    - op:battery-mate
    description: As var:preload-close
  generated_by:
    method: agent
    engine: monte-carlo
    created: '2026-10-31'
  scores:
    yield:
      rty:
        value: 0.947
        origin: simulated
        engine: monte-carlo
        runs: 20000
        interval:
        - 0.93
        - 0.96
        confidence: low
    throughput:
      cycle_time:
        value: 31
        unit: s
        origin: estimated
        engine: analytic
        confidence: low
      headcount: 11
    cost:
      cost_per_good_unit:
        value: 1.99
        unit: USD
        origin: estimated
        engine: analytic
        confidence: low
    ramp:
      changes_needed:
        value: 3
        origin: estimated
        confidence: medium
  pareto:
    on_frontier: true
recommended:
  variant: var:connector-and-preload
  rationale: Highest simulated yield, and it closes the two largest failure modes, which together make up 42% of fallout
  tradeoffs: 0.07 USD more per good unit and 1 s slower than baseline, still inside the 36 s takt; T1 stays the bottleneck
tradeoffs:
- id: tr:gap-tighten
  characteristic: gap
  from:
    value: 0.2
    unit: mm
    source: inferred
    confidence: low
  to:
    value: 0.1
    unit: mm
    source: inferred
    confidence: low
  variant: var:gap-tight
  against: baseline
  yield_delta:
    value: -0.048
    unit: RTY
    origin: simulated
    engine: monte-carlo
    runs: 20000
    confidence: low
  cost_per_unit_delta:
    value: 0.68
    unit: USD
    origin: estimated
    engine: analytic
    confidence: low
  other_deltas:
    experience.cosmetic_defect_rate:
      value: 0.044
      origin: simulated
      engine: monte-carlo
      runs: 20000
      confidence: low
  experience_effect: A tighter seam that reads as more premium, for about 5 points of yield and 0.68 USD a unit
  decision:
    status: rejected
    by: product (fictional)
    'on': '2026-10-31'
    note: Not worth the yield at this price point
engine_notes: Yield and failure shares come from Monte Carlo over the measured spreads and MuJoCo drop runs. Cycle time and
  line balance are estimates until the discrete-event simulator exists.