1 assembly and shared raw material
  KIT: quantity=10; release=4; receipt=5
  MODULE: quantity=16; release=2; receipt=4
  RAW: quantity=43; release=1; receipt=2
  RAW: quantity=10; release=3; receipt=4
2 replenishment with minimum order and safety stock
  LABEL: quantity=12; release=1; receipt=1
3 before supplier confirmation
  PART: quantity=6; release=2; receipt=3
3 after supplier confirmation
  PART: quantity=3; release=2; receipt=3
4 yield, scrap, fractional usage and unit conversion
  PAINT: quantity=25.268; release=1; receipt=1
  PANEL: quantity=8.422; release=1; receipt=1
  PAINT gross=25.268 KG
5 early release rejected under strict policy=true
5 accepted under allow-late policy
  PART: quantity=3; release=0; receipt=1; late
  incident: PART receipt=1 required_release=-1 actual_release=0
cycle rejected=true
6 phantom BOM, percent safety stock and reorder point
  FRAME: quantity=20; release=1; receipt=1
  excess: BOLT bucket=0 projected=100 max=50
  excess: BOLT bucket=1 projected=88 max=50
  excess: BOLT bucket=2 projected=88 max=50
assembly JSON
