{
  "revision": 8,
  "date": "2026-10-17",
  "scope": "One pilot cell; conceptual pneumatic feeder, not fabrication CAD",
  "summary": {
    "date": "2026-10-17",
    "scope": "One pilot Cell 1",
    "buy_lines": 168,
    "priced_lines": 165,
    "catalog_items": 164,
    "package_lines": 4,
    "unpriced_lines": 3,
    "supplier_orders": 22,
    "catalog_suppliers": 21,
    "catalog_total": 17285.5,
    "package_reference": 14500,
    "make_total": 975,
    "known_purchase_subtotal": 31785.5,
    "known_build_total": 32760.5,
    "pneumatic_feeder_total": 1251.59,
    "feeder_estimated_portion": 400
  },
  "rows": [
    {
      "id": "R01",
      "name": "Complete used robot system",
      "model": "LR Mate 200iD/7L • stock 104826",
      "vendor": "R.A.B. Industries",
      "qty": 1,
      "unit": "each",
      "price": 14500,
      "url": "https://www.rabindustries.com/listings/3317752-used-fanuc-lr-mate-200id-7l-robot-r30ib-control-used-2019",
      "date": "2026-10-16",
      "group": "Robot",
      "basis": "Listed price",
      "check": "Robot model selected. Obtain a complete written package: matched controller/pendant/cables, tested/mastered condition, exact installed licenses, backup, power requirements, delivered price and payment route. The $14,500 listing alone does not establish that package."
    },
    {
      "id": "R03",
      "name": "Robot communication / software option",
      "model": "HandlingTool + KAREL R632 + User Socket Messaging R648 + ROBOGUIDE/HandlingPRO development seat",
      "vendor": "FANUC / robot seller",
      "qty": 1,
      "unit": "each",
      "price": null,
      "url": "https://www.fanucamerica.com/products/robots",
      "date": "2026-10-16",
      "group": "Robot",
      "basis": "Not priced",
      "check": "Explicit software route selected. Installed controller options, eligible transfer/registration and compatible KAREL compiler seat must be quoted by the seller/FANUC. No additional FANUC camera or proprietary feeder-vision license is assumed."
    },
    {
      "id": "R04",
      "name": "Wrist air and sensor cable routing",
      "model": "Wrist services / IO breakout / serial-specific flange interface",
      "vendor": "Robot seller / igus",
      "qty": 1,
      "unit": "each",
      "price": null,
      "url": "https://www.igus.com/robotic-cable-management",
      "date": "2026-10-16",
      "group": "Robot",
      "basis": "Not priced",
      "check": "Confirm wrist air/sensor harness and IO breakout with robot package. Serial-specific flange drawing, pilot dimensions and threaded-hole depth are needed to finish MR13 and its bolt/spacer selection; adapter may be made in-house. RAB has not agreed to supply a custom adapter. MR02 outer45 mm square is our intermediate pattern, not a claimed FANUC flange."
    },
    {
      "id": "DB01",
      "name": "Parallel gripper with catalog dust cover",
      "model": "MHZJ2-16D",
      "vendor": "Orange Coast Pneumatics",
      "qty": 1,
      "unit": "each",
      "price": 227.6,
      "url": "https://ocpneumatics.com/smc-mhzj2-16d-gripper-parallel-w-dust-cover-mhz2-gripper-parallel/",
      "date": "2026-10-16",
      "group": "Grip",
      "basis": "Listed price",
      "check": "30 N per finger is a catalog reference, not verified rolling capacity. Test force at actual finger reach, slip, marking and complete wrap clearance."
    },
    {
      "id": "DB02",
      "name": "Gripper position switch, PNP, 3 m lead",
      "model": "D-M9PL",
      "vendor": "SMC Pneumatics / Orange Coast",
      "qty": 2,
      "unit": "each",
      "price": 43.59,
      "url": "https://www.smcpneumatics.com/D-M9PL.html",
      "date": "2026-10-16",
      "group": "Grip",
      "basis": "Listed price",
      "check": "Switch position does not alone prove one part is present. Verify flexible wrist cable routing."
    },
    {
      "id": "GR03",
      "name": "Hard rubber pad stock",
      "model": "KPS0606 • 6×6 in • 1/8 in • 95A red",
      "vendor": "Acrotech",
      "qty": 1,
      "unit": "sheet",
      "price": 29.02,
      "url": "https://www.acrotechinc.com/product/urethane-sheets-6-x-6/",
      "date": "2026-10-16",
      "group": "Grip",
      "basis": "Listed price",
      "check": "Select 1/8-inch thickness and 95A. Verify compression, friction and bond durability on actual oily / brushed blanks."
    },
    {
      "id": "DB09",
      "name": "Pad bonding adhesive",
      "model": "LOCTITE 480 • 20 g • 48040",
      "vendor": "Motion",
      "qty": 1,
      "unit": "each",
      "price": 36.36,
      "url": "https://www.motion.com/products/sku/01136476",
      "date": "2026-10-16",
      "group": "Grip",
      "basis": "Listed price",
      "check": "Same LOCTITE 48040 20 g, Motion item 01136476. $36.36 listing. Preserve this exact adhesive choice; stock/dispatch is not established by the conflicting listing."
    },
    {
      "id": "GR05",
      "name": "Jaw fixing screws",
      "model": "13336 • M3×0.5×10 • 12.9 button head",
      "vendor": "Bolt Depot",
      "qty": 8,
      "unit": "each",
      "price": 0.13,
      "url": "https://boltdepot.com/Product-Details?product=13336",
      "date": "2026-10-15",
      "group": "Grip",
      "basis": "Prior listed price",
      "check": "Four M3x10 used through 5 mm finger bars into 5 mm stock finger; four spares. Verify no tip protrusion and opposing head clearance. Support fingers during tightening; use SMC attachment torque limit."
    },
    {
      "id": "DB37",
      "name": "M4 x 12 gripper body mounting screws",
      "model": "6394",
      "vendor": "Bolt Depot",
      "qty": 4,
      "unit": "each",
      "price": 0.09,
      "url": "https://boltdepot.com/Product-Details?product=6394",
      "date": "2026-10-15",
      "group": "Grip",
      "basis": "Prior listed price",
      "check": "Two M4x12 used on MR02 axial rear mounting, two spares. Nominal 6 mm engagement into catalog 8 mm threads. Do NOT use these on the separate 4.5 mm deep side mount."
    },
    {
      "id": "DBM01",
      "name": "Bench motor + speed control + handpiece",
      "model": "K.8307 • 115 V • H.44T",
      "vendor": "Foredom",
      "qty": 2,
      "unit": "each",
      "price": 486.62,
      "url": "https://www.foredom.net/product/k-8307-bench-motor-with-built-in-control-h-44t-handpiece/",
      "date": "2026-10-16",
      "group": "Deburr",
      "basis": "Listed price",
      "check": "Confirm continuous automation duty, stop/start integration, flex-shaft bend radius and cutting results. Cheaper than K.5300 because carving accessories are omitted."
    },
    {
      "id": "DB06",
      "name": "Catalog handpiece holder, rod and bench clamp",
      "model": "MAHH-30",
      "vendor": "Foredom",
      "qty": 2,
      "unit": "each",
      "price": 77.46,
      "url": "https://www.foredom.net/product/mahh-30-handpiece-holder/",
      "date": "2026-10-16",
      "group": "Deburr",
      "basis": "Listed price",
      "check": "Verify clamp rigidity at brush contact load and upright orientation."
    },
    {
      "id": "DBM03",
      "name": "Abrasive nylon end brushes",
      "model": "BNS6AY180AO • Zoro G1726082 • 3/4 in • 180 AO",
      "vendor": "Zoro",
      "qty": 4,
      "unit": "each",
      "price": 13.19,
      "url": "https://www.zoro.com/brush-research-bns6ay180ao-abrasive-end-brush-0750-brush-diameter-250-oal-180-grit-aluminum-oxide-ao-bns6ay180ao/i/G1726082/",
      "date": "2026-10-16",
      "group": "Deburr",
      "basis": "Listed price",
      "check": "Verify actual stock, allowable speed, burr removal, part marking and bristle life. Manufacturer direct is sold out at $16.72."
    },
    {
      "id": "K01P",
      "name": "Kick press actuator",
      "model": "A32040DD • 2 in bore × 4 in stroke",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 124,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/pneumatic_components/pneumatic_air_cylinders/imperial_non-repairable/a32040dd",
      "date": "2026-10-16",
      "group": "Kick",
      "basis": "Listed price",
      "check": "Chosen initial actuator: 2-inch bore, 4-inch stroke, 1/2-20 rod thread and 1/4 NPT ports. About 251 lbf ideal extension at 80 psi. Use an adjustable lever attachment and positive tool stop. Force/travel and safe retraction are commissioning checks; no longer a purchasing hold."
    },
    {
      "id": "K03P",
      "name": "Kick up/down position sensors",
      "model": "AM1-AP-3A • PNP NO • M12 • 4 mm • 2 m lead",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 29.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/sensors_-z-_encoders/inductive_proximity_sensors/12mm_tubular/am1-ap-3a",
      "date": "2026-10-16",
      "group": "Kick",
      "basis": "Listed price",
      "check": "Two sensors sense steel flags on the kick mechanism. Check actual gap, sensor reach and 24 V input wiring; these are ordinary process sensors, not safety position monitors."
    },
    {
      "id": "DB10",
      "name": "Gripper directional valve",
      "model": "100818015324002",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 31.0,
      "url": "https://www.automationdirect.com/pn/100818015324002",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Listed price",
      "check": "One 1/8 NPT valve serves the gripper. Kick has its own larger valve A16."
    },
    {
      "id": "DB12",
      "name": "Solenoid cable with suppression and LED",
      "model": "SC9-LS24-3",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 17.5,
      "url": "https://www.automationdirect.com/pn/SC9-LS24-3",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "9.4 mm connector for the gripper valve. Kick uses SC11-LS24-3."
    },
    {
      "id": "DB11",
      "name": "M5 meter-out speed controllers, pack of two",
      "model": "FVS4M-M5",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 2",
      "price": 13.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/pneumatic_components/special_purpose_fittings/fvs4m-m5",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "M5 thread / 4 mm tubing; not large enough for a fast 2-inch kick cylinder."
    },
    {
      "id": "DB13",
      "name": "Gripper pressure regulator",
      "model": "5U11R141",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 30.0,
      "url": "https://www.automationdirect.com/pn/5U11R141",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "1/8 NPT regulator for grip circuit; separate 1/4 NPT kick regulator below."
    },
    {
      "id": "DB14",
      "name": "Regulator panel brackets",
      "model": "88257E1",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 4.0,
      "url": "https://www.automationdirect.com/pn/88257E1",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "Matching bracket for chosen regulator family."
    },
    {
      "id": "DB15",
      "name": "Regulator pressure gauges",
      "model": "9700110",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 8.75,
      "url": "https://www.automationdirect.com/pn/9700110",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "Verify port thread and readable orientation."
    },
    {
      "id": "DB16",
      "name": "Grip pressure-ready switch with display",
      "model": "QPSH-AP-42",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 115.0,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/process_control_-a-_measurement/pressure_sensors/digital_pressure_switches_-z-_transmitters/qpsh-ap-42",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "Pressure feedback does not measure grip load or prove retention."
    },
    {
      "id": "DB17",
      "name": "1/8 NPT to 4 mm male straight fittings, pack of five",
      "model": "MS532-18N",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 5",
      "price": 6.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/pneumatic_components/fittings/push-to-connect/ms532-18n",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "These are NPT; do not fit directly into G-thread components."
    },
    {
      "id": "DB18",
      "name": "4 mm union tee fittings, pack of five",
      "model": "UT532-B",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 21.0,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/pneumatic_components/fittings/push-to-connect/ut532-b",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "4 mm tube; pack quantity includes spares."
    },
    {
      "id": "DB19",
      "name": "1/8 NPT female to 4 mm fitting, pack of five",
      "model": "FS532-18N",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 12.5,
      "url": "https://www.automationdirect.com/pn/FS532-18N",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "Check sensor and gauge connection schedule."
    },
    {
      "id": "DB20",
      "name": "Valve exhaust silencers, pack of two",
      "model": "SBC-18N",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 2",
      "price": 3.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/pneumatic_components/exhaust_silencers/bronze_exhaust_silencers/sbc-18n",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "Do not substitute these for the Festo safety valve exhaust silencer."
    },
    {
      "id": "DB21",
      "name": "4 mm black polyurethane air tubing, 100 ft",
      "model": "PU532BLK100",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "100 ft roll",
      "price": 21.5,
      "url": "https://www.automationdirect.com/pn/PU532BLK100",
      "date": "2026-10-15",
      "group": "Air",
      "basis": "Prior listed price",
      "check": "Final moving segment must meet robot flex requirements."
    },
    {
      "id": "A14",
      "name": "Monitored soft-start / safety exhaust",
      "model": "MS6-SV-1/2-E-10V24-SO-AG-MP1 • 8190258",
      "vendor": "Motion World",
      "qty": 1,
      "unit": "each",
      "price": 1255.22,
      "url": "https://www.motionworld.com/products/160275/festo-8190258-ms6-sv-12-e-10v24-so-ag-mp1-soft-startquick-exhaust-valve",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Listed price",
      "check": "Supplied MP1 accepts clocked positive enable signals. Wire MI8O2 OSSD pair 2 directly to EN1/EN2 with cross-circuit monitoring; keep Festo 24 V supply continuously powered from DC3. Festo ignores test pulses <3 ms exhausted / <12 ms pressurized; MOSAIC pulses are <0.12 ms. Bond the preassembled earth strap by a short, low-impedance connection to bonded station metal. Final response-time and fault-insertion tests remain commissioning."
    },
    {
      "id": "G01",
      "name": "Sequence PLC",
      "model": "C2-01CPU",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 110,
      "url": "https://www.automationdirect.com/pn/C2-01CPU",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Listed price",
      "check": "Retain C2-01CPU. Native Ethernet 10/100 and RS-232 RJ12; no RS-485 on this CPU. C2-14D2 uses its option slot. PC connects to CLICK by Modbus TCP; two PLC outputs operate the pneumatic tray valves. No feeder serial adapter."
    },
    {
      "id": "C02",
      "name": "PLC slot I/O",
      "model": "C2-14D2 • 8 inputs / 6 sourcing outputs",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 66,
      "url": "https://www.automationdirect.com/pn/C2-14D2",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Listed price",
      "check": "8 DI / 6 sourcing DO. Outputs are 0.1 A per point. Use interface relays for coils; never connect the 0.5 A gate coil directly."
    },
    {
      "id": "G02",
      "name": "16-point input module",
      "model": "C0-16ND3",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 69,
      "url": "https://www.automationdirect.com/pn/C0-16ND3",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Retain 16 DI expansion for 24 standard inputs total. Pressure, station position and robot handshake use these; safety inputs use MOSAIC."
    },
    {
      "id": "G03",
      "name": "16-point sourcing output module",
      "model": "C0-16TD2",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 69,
      "url": "https://www.automationdirect.com/pn/C0-16TD2",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "16 sourcing outputs, 0.1 A per point; 22 standard outputs total. Interface relays serve both pneumatic solenoids and the unlock-request signal. MOSAIC/MR2 switches the gate release. Robot I/O type remains dealer-dependent."
    },
    {
      "id": "G04",
      "name": "Safety controller",
      "model": "MOSAIC-M1",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 472,
      "url": "https://www.automationdirect.com/pn/MOSAIC-M1",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Listed price",
      "check": "Retain M1 and MR4; add MI8O2, master MSC-C connector and MR2 for safe gate release. M1 alone cannot cover the required input/output allocation. Final risk assessment and PL/SIL validation remain engineering work."
    },
    {
      "id": "G05",
      "name": "Monitored safety contactor",
      "model": "CWBS9-33-30C03",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 108,
      "url": "https://www.automationdirect.com/pn/CWBS9-33-30C03",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Listed price",
      "check": "24 VDC coils draw 5.8 W each, about 0.242 A, exceeding CLICK output rating. MR4 drives them independently; use positively linked NC feedback. WEG DIB suppression can increase opening time sixfold, so do not add generic flyback diodes to these coils. Third main poles remain spare; Festo enables use MI8O2 solid-state safety outputs."
    },
    {
      "id": "G14",
      "name": "24 VDC control power supply",
      "model": "PSA-24-240",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 60,
      "url": "https://www.automationdirect.com/pn/PSA-24-240",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Listed price",
      "check": "24 V / 10 A supply for controls and safety, excluding robot and former feeder (now pneumatic tray). Input 2.5 A typical at 115 VAC full load; C6 AC branch. Set 24.0 V. Keep 40 mm above / 20 mm below and apply derating above 40 C at 115 VAC."
    },
    {
      "id": "G15",
      "name": "Steel control cabinet",
      "model": "SCE-24EL2408LPLG",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 395,
      "url": "https://www.automationdirect.com/pn/SCE-24EL2408LPLG",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Listed price",
      "check": "Retain cabinet and SCE-24P24 panel. Add filtered ventilation; assembled target indoor NEMA 12. Separate mains and DC ducts and preserve PSU clearances. Final layout and heat-rise checks precede cutting."
    },
    {
      "id": "G16",
      "name": "Emergency stop button",
      "model": "AR22VQL-12E3R",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 52,
      "url": "https://www.automationdirect.com/pn/AR22VQL-12E3R",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Final position and dual-channel wiring reviewed with robot and press safety interfaces."
    },
    {
      "id": "G17",
      "name": "Guard lock with inside escape release",
      "model": "UGB2-525002",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 623,
      "url": "https://www.automationdirect.com/pn/UGB2-525002",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Fit UGB2-527001 catalog slide handle/mounting plate, GB-210005 inside handle and GB-210006 catch. Retain factory-matched tongue/RFID actuator and rear release; do not buy 140107. Start/reset remain the selected shallow IDEM 522341/522334. Flat clamp adapters retain the inside release opening. Final safety circuit and stopping-time validation are installation work."
    },
    {
      "id": "G19",
      "name": "Gate start pushbutton",
      "model": "522341",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 29.5,
      "url": "https://www.automationdirect.com/pn/522341",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "IDEM shallow 22 mm operator explicitly recommended for UGB gate boxes. Reset and start remain distinct actions; reset must not initiate motion."
    },
    {
      "id": "SC-08",
      "name": "Gate reset pushbutton",
      "model": "522334",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 29.5,
      "url": "https://www.automationdirect.com/pn/522334",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "IDEM shallow 22 mm operator explicitly recommended for UGB gate boxes. Reset and start remain distinct actions; reset must not initiate motion."
    },
    {
      "id": "SC-01",
      "name": "Pre-cut steel DIN rail",
      "model": "DN-R35S-500-4",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 4",
      "price": 12,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/enclosures_-a-_racks/din_rails/dn-r35s-500-4",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Eight 500 mm rails provide main rows, terminal rails and trim stock. Use dedicated PE bonding rather than relying on painted fasteners."
    },
    {
      "id": "SC-02",
      "name": "Screw feedthrough terminal blocks",
      "model": "DN-T12-A",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 100",
      "price": 75,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/wire_-a-_cable_termination/terminal_blocks/single-level_feedthrough_terminal_blocks/dn-t12-a",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "100 blocks, 24–12 AWG, 20 A. Plan about 80 installed and 20 spare. Component SCCR does not establish the completed panel SCCR."
    },
    {
      "id": "SC-03",
      "name": "Terminal end covers",
      "model": "DN-EC1210MN",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 25",
      "price": 17.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/wire_-a-_cable_termination/terminal_blocks/end_covers/dn-ec1210mn",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "25 compatible end covers; cover each exposed terminal end."
    },
    {
      "id": "SC-04",
      "name": "Screw-down rail end brackets",
      "model": "DN-EB35-A-10",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 10",
      "price": 13.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/wire_-a-_cable_termination/terminal_blocks/end_brackets/dn-eb35-a-10",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "20 end brackets for eight rails and terminal groups."
    },
    {
      "id": "SC-05",
      "name": "24 V interposing relay",
      "model": "782-2C-24D",
      "vendor": "AutomationDirect",
      "qty": 4,
      "unit": "each",
      "price": 7.25,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/relays_-z-_timers/electro-mechanical_relays/782-2c-24d",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Four ordinary relays: gripper coil, kick coil, unlock-request interface and spare. 1.15 W / about 48 mA coils fit CLICK outputs. KR3 only requests unlock; MOSAIC and MR2 actually switch the 0.5 A lock release. Never leave manual test buttons latched."
    },
    {
      "id": "SC-06",
      "name": "Matched relay socket with holding clip",
      "model": "782-2C-SKT",
      "vendor": "AutomationDirect",
      "qty": 4,
      "unit": "each",
      "price": 5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/relays_-z-_timers/relay_-a-_timer_sockets/782-2c-skt",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Four matched sockets with holding clips included. Terminals accept 12–20 AWG; use specified torque."
    },
    {
      "id": "SC-07",
      "name": "Plug-in relay suppression diode",
      "model": "AD-BSMD-250",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 10.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/relays_-z-_timers/relay_-a-_timer_accessories/ad-bsmd-250",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "One pack of five covers the four ordinary relay coils and spare. Observe diode polarity. Do not use these modules on safety contactor coils."
    },
    {
      "id": "SC-11",
      "name": "UL98 30 A main disconnect body",
      "model": "22013003",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 75,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/circuit_protection_-z-_fuses_-z-_disconnects/disconnects_-a-_switches/non-fused_disconnects/22013003",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Auxiliary isolator for dedicated 120 VAC / 15 A supply; robot power is separate. Use the manufacturer's permitted single-phase pole arrangement. PE is never switched; any neutral switching must be simultaneous. Q0 supplies 15 A overcurrent protection."
    },
    {
      "id": "SC-12",
      "name": "External locking main-disconnect handle",
      "model": "147E1111",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 27,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/circuit_protection_-z-_fuses_-z-_disconnects/disconnects_-a-_switches/disconnect_external_handles_-a-_components/147e1111",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Matched locking handle for disconnect. Verify door interlock and shaft fit during assembly."
    },
    {
      "id": "SC-13",
      "name": "Stock main-disconnect shaft",
      "model": "14070515",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 7,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/circuit_protection_-z-_fuses_-z-_disconnects/disconnects_-a-_switches/disconnect_external_handles_-a-_components/14070515",
      "date": "2026-10-15",
      "group": "Controls",
      "basis": "Prior listed price",
      "check": "Cut the selected shaft only after mounting in the 8-inch-deep cabinet."
    },
    {
      "id": "C26",
      "name": "Industrial Ethernet switch",
      "model": "STRIDE SE-SW5U • five 10/100 ports",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 145,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/communications/industrial_ethernet_switches/unmanaged_switches/se-sw5u",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Listed price",
      "check": "For robot/PLC communication and PC network. Do not route a GigE camera through this 100 Mbps switch. Cable lengths remain in the panel completion schedule."
    },
    {
      "id": "V01",
      "name": "Budget camera + lens + USB cable",
      "model": "Arducam B0641 • IMX296 mono • 1.58 MP global shutter",
      "vendor": "Arducam",
      "qty": 1,
      "unit": "each",
      "price": 219.99,
      "url": "https://www.arducam.com/arducam-1-58mp-imx296-mono-global-shutter-usb-3-0-camera-module.html",
      "date": "2026-10-16",
      "group": "Feed & vision",
      "basis": "Advertised price",
      "check": "B0641 USB global-shutter camera kit is selected. Replace its default lens with V10 for documented close focus. One camera, two lights. Classification, pose calibration and image quality are commissioning work."
    },
    {
      "id": "V05",
      "name": "Angled white bar lights",
      "model": "Lumher FD04PD5CY • 360 mm",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 382,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/barcode_-z-_rfid_-z-_vision/vision_lighting/bar_lights/fd04pd5cy",
      "date": "2026-10-16",
      "group": "Feed & vision",
      "basis": "Listed price",
      "check": "This is an optical trial pair. Set angle/intensity to avoid glare; backlighting alone does not prove burr-side orientation."
    },
    {
      "id": "V06",
      "name": "Light power cables",
      "model": "CD12L-0B-020-A0 • 2 m",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 12.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/cables_%28terminated%29/circular_connection_cables/cd12l-0b-020-a0",
      "date": "2026-10-16",
      "group": "Feed & vision",
      "basis": "Listed price",
      "check": "Two matching M12 A-coded 4-pin female leads. Pin 1 brown +24 V; pin 3 blue 0 V. Isolate white and black unused cores. Locate cabinet/station terminals within the supplied 2 m reach."
    },
    {
      "id": "V07",
      "name": "Lighting 24 V supply — 91.92 W",
      "model": "PSA-24-100 • 24 VDC / 3.83 A / 91.92 W",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 42.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/power_products_%28electrical%29/dc_power_supplies/din_rail_mount/psa-24-100",
      "date": "2026-10-16",
      "group": "Feed & vision",
      "basis": "Listed price",
      "check": "Actual output 3.83 A / 91.92 W. Budget 0.67 A per lamp because manufacturer documents disagree; protect the lamp pair with 2 A electronic protection."
    },
    {
      "id": "V08",
      "name": "Vision computer",
      "model": "Protectli V1410 • N5105 • 8 GB / 32 GB eMMC",
      "vendor": "Protectli",
      "qty": 1,
      "unit": "each",
      "price": 449,
      "url": "https://protectli.com/product/v1410/",
      "date": "2026-10-16",
      "group": "Feed & vision",
      "basis": "Listed price",
      "check": "Includes power adapter. Linux base assumed; Windows license is not included. Storage/CPU and SDK throughput must be tested. Optional 500 GB NVMe shown at $140 is not included in base subtotal."
    },
    {
      "id": "K02A",
      "name": "Cylinder rod clevis and jam nut",
      "model": "ARC-12-20",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 8.75,
      "url": "https://www.automationdirect.com/pn/ARC-12-20",
      "date": "2026-10-16",
      "group": "Kick",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "K02B",
      "name": "Cylinder body pivot bracket with pin",
      "model": "APBP-5",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 20.5,
      "url": "https://www.automationdirect.com/pn/APBP-5",
      "date": "2026-10-16",
      "group": "Kick",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A16",
      "name": "Kick 5/2 spring-return valve",
      "model": "100222015324006",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 31.0,
      "url": "https://www.automationdirect.com/pn/100222015324006",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Spring-return spool selected. On total air loss the cylinder is not guaranteed to retract; retain the existing press return spring and validate gravity/motion before operation."
    },
    {
      "id": "A17",
      "name": "Kick valve electrical lead",
      "model": "SC11-LS24-3",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 17.5,
      "url": "https://www.automationdirect.com/pn/SC11-LS24-3",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A18",
      "name": "Kick pressure regulator",
      "model": "5U12R142",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 30.0,
      "url": "https://www.automationdirect.com/pn/5U12R142",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A19",
      "name": "Kick cylinder flow controls",
      "model": "FVS38-14N",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 2",
      "price": 24.0,
      "url": "https://www.automationdirect.com/pn/FVS38-14N",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A20",
      "name": "1/4 NPT to 3/8 tube fittings",
      "model": "MS38-14N",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 5",
      "price": 11.0,
      "url": "https://www.automationdirect.com/pn/MS38-14N",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A21",
      "name": "G1/2 to 3/8 tube fittings",
      "model": "MS38-12G-B",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 20.5,
      "url": "https://www.automationdirect.com/pn/MS38-12G-B",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A22",
      "name": "Kick and main air tubing",
      "model": "PU38BLK100",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "100 ft roll",
      "price": 69.0,
      "url": "https://www.automationdirect.com/pn/PU38BLK100",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A23",
      "name": "Main-air branch tees",
      "model": "UT38",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 15.5,
      "url": "https://www.automationdirect.com/pn/UT38",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A24",
      "name": "3/8 NPT to tube fittings",
      "model": "MS38-38N",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 11.0,
      "url": "https://www.automationdirect.com/pn/MS38-38N",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A25",
      "name": "Shop-air filter with drain",
      "model": "5U13F203",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 25.0,
      "url": "https://www.automationdirect.com/pn/5U13F203",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A26",
      "name": "Manual air shutoff and exhaust",
      "model": "5U13V103",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 39.0,
      "url": "https://www.automationdirect.com/pn/5U13V103",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A27",
      "name": "Air-prep mounting brackets",
      "model": "88257E3",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 13.0,
      "url": "https://www.automationdirect.com/pn/88257E3",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "A28",
      "name": "Air-prep module connector nipple",
      "model": "88257E5",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 2.5,
      "url": "https://www.automationdirect.com/pn/88257E5",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "88257E5 joins Syntesi modules; it is NOT the shop-air quick disconnect. MT12-MT15 establish the shop-air supply connection."
    },
    {
      "id": "S11",
      "name": "720 mm structural members",
      "model": "ST-EXT-001-0720",
      "vendor": "Vention",
      "qty": 29,
      "unit": "each",
      "price": 30.65,
      "url": "https://vention.com/parts/45x45mm-720mm-aluminum-extrusion-24",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Two benches each: four 720 mm legs, four top rails, four lower rails, one top center crossrail. Remaining three 720 mm members are camera portal posts/crossbar. Frame outside footprint 810 x 810 mm. Existing kick and roll stay on their own supports."
    },
    {
      "id": "S12",
      "name": "45 mm assembly gussets",
      "model": "ST-HP-003-0001",
      "vendor": "Vention",
      "qty": 42,
      "unit": "each",
      "price": 10.76,
      "url": "https://vention.com/parts/45mm-x-45mm-aluminum-gusset-with-locators-61",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "36 table gussets (18 each including center crossrail) plus six camera portal connections: two at each upright base on rear bench rail and one at each crossbar end. Manufacturer includes two M8x18 screws and two T-nuts with each gusset; do not duplicate these in accessory count."
    },
    {
      "id": "S13",
      "name": "External corner reinforcement plates",
      "model": "ST-GP-001-0005",
      "vendor": "Vention",
      "qty": 8,
      "unit": "each",
      "price": 22.96,
      "url": "https://vention.com/parts/l-shaped-aluminum-assembly-plate-for-45-x-45mm-extrusions-132",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Bolt-together pilot structure. Adjust station positions and camera height on the extrusion slots."
    },
    {
      "id": "S14",
      "name": "Leveling feet with anchor holes",
      "model": "HW-LF-001-0002",
      "vendor": "Vention",
      "qty": 8,
      "unit": "each",
      "price": 19.18,
      "url": "https://vention.com/parts/m8-x-40mm-leveling-foot-with-80mm-diameter-pad-180",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Direct M8x1.25 mounting into eight leg ends. Stock extrusions are not claimed pre-tapped. Use Vention documented standard-bolt thread-forming procedure with a 6 mm guide plate and M8 screw; establish at least 12 mm sound engagement for foot stud. Lock foot adjustment with its jam nut. Foot has two 9 mm floor holes; use selected 1/4-inch anchors and fender washers. Keep projection small and verify stability."
    },
    {
      "id": "S15",
      "name": "Accessory T-nuts",
      "model": "HW-FN-002-0001",
      "vendor": "Vention",
      "qty": 60,
      "unit": "each",
      "price": 0.89,
      "url": "https://vention.com/parts/m8-drop-in-spring-loaded-t-nut-265",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Additional accessory stock: 20 deck fixings, four ledge fixings, camera/sensor plates and adjustment spares. Gusset/plate included hardware accounted separately."
    },
    {
      "id": "S21",
      "name": "Wide single-height guard panels",
      "model": "X09466",
      "vendor": "AutomationDirect",
      "qty": 7,
      "unit": "each",
      "price": 227.0,
      "url": "https://www.automationdirect.com/pn/X09466",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Supplier price list",
      "check": "Use factory-welded panel hooks and preinstalled lower chalice fasteners. No separate post clips or stack clips required for the selected 6 ft system. Hand-tighten lower fasteners; no power-tool overtightening."
    },
    {
      "id": "S23",
      "name": "Front single-height guard panel",
      "model": "X04666",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 140.0,
      "url": "https://www.automationdirect.com/pn/X04666",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Supplier price list",
      "check": "Use factory-welded panel hooks and preinstalled lower chalice fasteners. No cut-panel clips or stack clips needed."
    },
    {
      "id": "S25",
      "name": "Guard line/corner posts",
      "model": "XG5506",
      "vendor": "AutomationDirect",
      "qty": 7,
      "unit": "each",
      "price": 89,
      "url": "https://www.automationdirect.com/pn/XG5506",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Public product listing and supplier price list",
      "check": "Each post includes two 1/2 × 4-3/4-inch wedge anchors, two 20-gauge shims, top cap and square-hole plug. Seven posts therefore supply 14 anchors and 14 shims. Anchor suitability for the actual slab is an installation verification."
    },
    {
      "id": "S26",
      "name": "48-inch access gate",
      "model": "XGC220466-091",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 581,
      "url": "https://www.automationdirect.com/pn/XGC220466-091",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Public product listing and supplier price list",
      "check": "Gate kit includes both posts, 8 floor anchors, 4 shims, 8 carriage bolts/serrated nuts, handle and latch hardware. Nominal 48-inch door requires 46.25-inch between-post opening per Husky; drawing shows 51.25 inches outside the two posts. Use UGB guard lock/handle assembly and keep inside escape accessible. Do not add a separate latch arrangement that traps occupants."
    },
    {
      "id": "C31",
      "name": "18 AWG blue control wire",
      "model": "MTW18BL",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "500 ft spool",
      "price": 49.0,
      "url": "https://www.automationdirect.com/pn/MTW18BL",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "18 AWG blue for positive 24 V circuits. Protect circuits according to their smallest downstream field conductor."
    },
    {
      "id": "C33",
      "name": "14 AWG black power wire",
      "model": "MTW14BK",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "500 ft spool",
      "price": 104.0,
      "url": "https://www.automationdirect.com/pn/MTW14BK",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "14 AWG black for 120 VAC line. Verify the wire's 105 C marking at PSU terminals against PSA instructions."
    },
    {
      "id": "C34",
      "name": "14 AWG white power wire",
      "model": "MTW14WH",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "500 ft spool",
      "price": 104.0,
      "url": "https://www.automationdirect.com/pn/MTW14WH",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "14 AWG white for AC neutral only. Neutral remains isolated from PE inside the cell."
    },
    {
      "id": "C35",
      "name": "14 AWG green bonding wire",
      "model": "MTW14GN",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "500 ft spool",
      "price": 104.0,
      "url": "https://www.automationdirect.com/pn/MTW14GN",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "14 AWG green bonding for cabinet, backpanel, door service loop, rails and exposed station metal. Green/yellow field cores are PE only."
    },
    {
      "id": "C36",
      "name": "Slotted panel wire duct with covers",
      "model": "T1-1015G-1",
      "vendor": "AutomationDirect",
      "qty": 3,
      "unit": "2 m length",
      "price": 23.5,
      "url": "https://www.automationdirect.com/pn/T1-1015G-1",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "C37",
      "name": "Grounding terminals",
      "model": "DN-G10-10",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 10",
      "price": 46.0,
      "url": "https://www.automationdirect.com/pn/DN-G10-10",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Twenty PE terminals, 24–10 AWG, accept both 14 AWG bonding and 20 AWG field PE. Bond each PE rail directly to the cabinet PE stud."
    },
    {
      "id": "C38",
      "name": "18 AWG ferrules",
      "model": "V30AE000009",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 500",
      "price": 10.5,
      "url": "https://www.automationdirect.com/pn/V30AE000009",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "18 AWG / 8 mm ferrules retained. Add separate 20 AWG ferrules for field cable."
    },
    {
      "id": "C39",
      "name": "14 AWG ferrules",
      "model": "V30AE000052",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 500",
      "price": 13.0,
      "url": "https://www.automationdirect.com/pn/V30AE000052",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "14 AWG / 8 mm ferrules retained for compatible terminals."
    },
    {
      "id": "C40",
      "name": "M16 cable glands",
      "model": "BM-ENX-11-W",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 5",
      "price": 3.25,
      "url": "https://www.automationdirect.com/pn/BM-ENX-11-W",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Ten M16 glands, 4–8 mm cable range, for small leads. Verify actual cable OD before making holes."
    },
    {
      "id": "C41",
      "name": "M20 cable glands",
      "model": "BM-ENX-12-W",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 5",
      "price": 4.5,
      "url": "https://www.automationdirect.com/pn/BM-ENX-12-W",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Ten M20 glands, 6–12 mm cable range, for stationary H62024 and the separate 16/3 gate-PE cord. Gate signal cable uses BMSPX-13-W; 14/3 mains SOOW uses M25 glands."
    },
    {
      "id": "C43",
      "name": "Ethernet patch cables",
      "model": "C6A-CMRSTPBL-S10",
      "vendor": "AutomationDirect",
      "qty": 4,
      "unit": "each",
      "price": 19.5,
      "url": "https://www.automationdirect.com/pn/C6A-CMRSTPBL-S10",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Four 10 ft Ethernet leads: PLC, PC, reserved robot interface, and commissioning spare. USB camera connects directly to PC."
    },
    {
      "id": "C44",
      "name": "Stationary field control cable",
      "model": "H62024-1",
      "vendor": "AutomationDirect",
      "qty": 100,
      "unit": "ft",
      "price": 1.79,
      "url": "https://www.automationdirect.com/pn/H62024-1",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "100 ft, seven conductors INCLUDING PE, therefore six functional cores. Allocate 25 ft to each E-stop, 25 ft to Festo and 25 ft station reserve. No moving robot wrist use."
    },
    {
      "id": "C45",
      "name": "Safety relay interface module",
      "model": "MOSAIC-MR4",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 267.0,
      "url": "https://www.automationdirect.com/pn/MOSAIC-MR4",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "MR4 zone 1 drives K1/K2 independently. Zone 2 supplies two isolated robot safety contacts. Four 4 A fast fuses serve MR4; one additional 4 A fuse serves the series MR2 gate-release contacts. EL06/EL07 include all five plus spares. MR4 minimum switching current is 20 mA; exact robot interface remains package-dependent."
    },
    {
      "id": "A29",
      "name": "Gripper branch transition fittings",
      "model": "MS38-18N",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 10.5,
      "url": "https://www.automationdirect.com/pn/MS38-18N",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "C46",
      "name": "Cabinet mounting subpanel",
      "model": "SCE-24P24",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 87.0,
      "url": "https://www.automationdirect.com/pn/SCE-24P24",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Selected for the initial build. Set up and verify during commissioning."
    },
    {
      "id": "C47",
      "name": "Auxiliary incoming circuit breaker",
      "model": "FAZ-C15-1-NA-L-SP",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 29.0,
      "url": "https://www.automationdirect.com/pn/FAZ-C15-1-NA-L-SP",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Q0 incoming auxiliary protection, 120 VAC / 15 A. Design continuous load no greater than 12 A. Robot supply remains separate."
    },
    {
      "id": "C48",
      "name": "Auxiliary branch breakers",
      "model": "FAZ-C6-1-NA-L-SP",
      "vendor": "AutomationDirect",
      "qty": 4,
      "unit": "each",
      "price": 29.0,
      "url": "https://www.automationdirect.com/pn/FAZ-C6-1-NA-L-SP",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Four C6 branches: brush 1, brush 2, main control PSU and reserved former feeder (now pneumatic tray) AC supply. UL489 branch breakers; actual motor overload/inrush verification remains commissioning."
    },
    {
      "id": "C49",
      "name": "Small auxiliary branch breakers",
      "model": "FAZ-C2-1-NA-L-SP",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 29.0,
      "url": "https://www.automationdirect.com/pn/FAZ-C2-1-NA-L-SP",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Supplier price list",
      "check": "Two C2 branches: lighting PSU, and PC adapter plus cabinet fan. Neutral is not fused. Check received adapter nameplates and cold-start inrush."
    },
    {
      "id": "S16",
      "name": "Accessory M8 × 18 mm screws",
      "model": "HW-FN-003-0018",
      "vendor": "Vention",
      "qty": 60,
      "unit": "each",
      "price": 0.58,
      "url": "https://vention.com/parts/m8-x-18mm-screw-278",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "M8x18 into Vention T-nuts through single 6 mm plate. Use M8x25 for 12 mm ledge/deck stack. Do not use longer through-bolts into shallow extrusion slots."
    },
    {
      "id": "V10",
      "name": "Close-focus camera lens",
      "model": "Arducam LN037 / CS2006ZM06 • 6 mm CS",
      "vendor": "DLS Corp",
      "qty": 1,
      "unit": "each",
      "price": 26.99,
      "url": "https://dlscorp.com/shop/arducam-cs2006zm06-1-2-3-6-0-mm-cs-mount-lens/",
      "date": "2026-10-16",
      "group": "Feed & vision",
      "basis": "Listed price",
      "check": "CS mount matches B0641. Start approximately 500 mm above the tray and focus manually; expected field about 414 × 309 mm. Calibrate distortion, lighting and actual tray coverage after assembly."
    },
    {
      "id": "R05",
      "name": "Matched robot pedestal and mounting hardware",
      "model": "LR Mate 200iD/7L pedestal • dealer package",
      "vendor": "R.A.B. Industries",
      "qty": 1,
      "unit": "package",
      "price": null,
      "url": "https://www.rabindustries.com/listings/3317752-used-fanuc-lr-mate-200id-7l-robot-r30ib-control-used-2019",
      "date": "2026-10-16",
      "group": "Robot",
      "basis": "Not priced",
      "check": "Dealer to identify exact pedestal and included anchors/fasteners. The unverified Vention alternative is not counted as the selected purchase."
    },
    {
      "id": "EL02",
      "name": "Additional safety inputs and output pairs",
      "model": "MOSAIC-MI8O2",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 358,
      "url": "https://www.automationdirect.com/pn/MOSAIC-MI8O2",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Includes its expansion bus connector; buy MSC-C for M1. Pair 1 drives MR2 for the 0.5 A gate unlock; pair 2 directly drives Festo EN1/EN2 with cross-circuit monitoring. Configure both explicitly in Mosaic Safety Designer."
    },
    {
      "id": "EL03",
      "name": "Master safety bus connector",
      "model": "MOSAIC-MSC-C",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 20,
      "url": "https://www.automationdirect.com/pn/MOSAIC-MSC-C",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "M1 box does not include this connector; MI8O2 includes its own. MR4 and MR2 are hardwired to OSSD outputs and do not use the bus."
    },
    {
      "id": "EL04",
      "name": "Safety controller programming cable",
      "model": "MOSAIC-CSU",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 35,
      "url": "https://www.automationdirect.com/pn/MOSAIC-CSU",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Use Mosaic Safety Designer on a supported commissioning computer; no paid runtime license selected."
    },
    {
      "id": "EL05",
      "name": "24 V electronic branch protectors",
      "model": "787-3861/004-020",
      "vendor": "AutomationDirect",
      "qty": 6,
      "unit": "each",
      "price": 37.5,
      "url": "https://www.automationdirect.com/adc/shopping/catalog/circuit_protection_-z-_fuses_-z-_disconnects/circuit_breakers_-a-_circuit_protectors/electronic_circuit_protection/787-3861-z-004-020",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "24 VDC, adjustable 0.5–4 A. Five installed plus one spare. Wire individual inputs from protected distribution; do not assume thermal AC breakers will clear on a current-limited PSU."
    },
    {
      "id": "EL06",
      "name": "Safety contact fuse terminals",
      "model": "DN-F6MN",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 7",
      "price": 49,
      "url": "https://www.automationdirect.com/pn/DN-F6MN",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Accepts ABC 6.3 x 32 mm fuses; 20–6 AWG. Four circuits for MR4 plus one for the series MR2 gate contacts. MOSAIC specifies fast-acting 4 A output-line protection."
    },
    {
      "id": "EL07",
      "name": "4 A fast DC-rated safety contact fuses",
      "model": "ABC4",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 5",
      "price": 13.5,
      "url": "https://www.automationdirect.com/pn/ABC4",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Actual Eaton ABC-4-R rated 125 VDC / 10 kA interrupting at 125 VAC/DC. These protect relay contacts; not a substitute for mains branch breakers."
    },
    {
      "id": "EL08",
      "name": "Terminal distribution jumpers",
      "model": "DN-24J2Y",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 33,
      "url": "https://www.automationdirect.com/pn/DN-24J2Y",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Compatible DN-T12-A. Cut with suitable insulated-jumper cutting method; never bridge unlike supplies or distinct safety channels."
    },
    {
      "id": "EL09",
      "name": "Terminal separation barriers",
      "model": "DN-S1210MN",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 25",
      "price": 19,
      "url": "https://www.automationdirect.com/pn/DN-S1210MN",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Matches DN-T12-A. Maintain separate wire ducts for mains and low-voltage signal wiring."
    },
    {
      "id": "EL10",
      "name": "Numbered terminal markers",
      "model": "DN-LA100",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 500",
      "price": 66,
      "url": "https://www.automationdirect.com/pn/DN-LA100",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Numbers 1–100, five of each. Apply terminal and wire schedule labels at both ends."
    },
    {
      "id": "EL11",
      "name": "18 AWG white/blue DC return wire",
      "model": "MTW18WB",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "500 ft spool",
      "price": 55,
      "url": "https://www.automationdirect.com/pn/MTW18WB",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Use for DC return wiring only. Existing 18 AWG black spool may be omitted if not required for AC control wiring."
    },
    {
      "id": "EL12",
      "name": "20 AWG field-wire ferrules",
      "model": "V30AE000006",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 500",
      "price": 10.5,
      "url": "https://www.automationdirect.com/pn/V30AE000006",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "20 AWG, 8 mm tube. Existing 18 AWG ferrules do not fit these conductors correctly."
    },
    {
      "id": "EL13",
      "name": "14 AWG M5 bonding ring terminals",
      "model": "V70RK004012",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 100",
      "price": 21,
      "url": "https://www.automationdirect.com/pn/V70RK004012",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "M5 ring size suits approximately #10 studs; verify the actual provided studs before crimping. Use dedicated clean metal bonding points and listed hardware."
    },
    {
      "id": "EL14",
      "name": "14/3 SOOW auxiliary power cord",
      "model": "H11161403-1",
      "vendor": "AutomationDirect",
      "qty": 75,
      "unit": "ft",
      "price": 1.6,
      "url": "https://www.automationdirect.com/pn/H11161403-1",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "14 AWG three-conductor including PE; OD 13.34 mm nominal, published ampacity 18 A. Protect with 15 A main; use M25 11–17 mm glands, not existing 6–12 mm glands."
    },
    {
      "id": "EL15",
      "name": "15 A grounded auxiliary supply plug",
      "model": "Leviton 5266-C",
      "vendor": "B&H",
      "qty": 1,
      "unit": "each",
      "price": 8.1,
      "url": "https://www.bhphotovideo.com/c/product/1821438-REG/leviton_5266_c_ac_plug_cable_end.html",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Public product price read 2026-10-16",
      "check": "NEMA 5-15P 15 A / 125 V; cord diameter 0.23–0.685 in covers the selected 0.525 in SOOW."
    },
    {
      "id": "EL16",
      "name": "Grounded dedicated equipment outlets",
      "model": "Leviton 5269-C",
      "vendor": "Lighting Supply",
      "qty": 4,
      "unit": "each",
      "price": 9.84,
      "url": "https://lightingsupply.com/products/leviton-5269-c",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Public sale price read 2026-10-16",
      "check": "NEMA 5-15R cord connectors. Secure tails to frame; put connectors outside chip fall and liquid splash. Label brush outlets safety switched and each branch limit; factory equipment cords remain intact."
    },
    {
      "id": "EL17",
      "name": "M25 power-cord glands",
      "model": "BM-ENX-13-W",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 5.75,
      "url": "https://www.automationdirect.com/pn/BM-ENX-13-W",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "M25 x1.5, 11–17 mm clamp range fits selected SOOW including normal diameter tolerance. Mounting hardware included."
    },
    {
      "id": "EL18",
      "name": "Twelve-core stationary gate cable",
      "model": "H62026-1",
      "vendor": "AutomationDirect",
      "qty": 50,
      "unit": "ft",
      "price": 2.46,
      "url": "https://www.automationdirect.com/pn/H62026-1",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "12 conductors including a 20 AWG PE core; use its 11 functional cores, with no signal spare. Do not land that 20 AWG PE core on the gate earth terminal: IDEM specifies 16–12 AWG there. A separate selected 16 AWG green conductor in H11161603-1 bonds the gate. H62026 OD 11.10 mm; use 10–14 mm BMSPX-13-W glands."
    },
    {
      "id": "EL19",
      "name": "Gate cable strain-relief glands",
      "model": "BMSPX-13-W",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 11.5,
      "url": "https://www.automationdirect.com/pn/BMSPX-13-W",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "M20 x1.5, 10–14 mm accepts H62026 diameter tolerance; includes hardware. Existing BM-ENX-12-W 6–12 mm is marginal for +10% cable tolerance."
    },
    {
      "id": "EL20",
      "name": "Gate unused-entry blanking plugs",
      "model": "Phoenix Contact 1424519",
      "vendor": "DigiKey",
      "qty": 1,
      "unit": "each",
      "price": 0.3,
      "url": "https://www.digikey.com/en/products/detail/phoenix-contact/1424519/7559043",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "DigiKey public USD price 2026-10-16",
      "check": "A-INSP-M20-68N-P-LG; M20x1.5 PA screw plug with O-ring, IP68 component rating."
    },
    {
      "id": "EL21",
      "name": "E-stop station enclosures",
      "model": "SCE-1PBXI",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 77,
      "url": "https://www.automationdirect.com/pn/SCE-1PBXI",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "4 x4 x5 in steel, one22mm hole. Bond each box; use M20 gland for H62024. Check complete operator depth before cutting entry."
    },
    {
      "id": "EL22",
      "name": "Cabinet filtered intake fan",
      "model": "FF12A115UF",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 90,
      "url": "https://www.automationdirect.com/pn/FF12A115UF",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "29 CFM, 115 VAC, NEMA12; pair with FF12U. Install low on clean side, away from brush plume. Resulting enclosure target is indoor NEMA12, not NEMA4."
    },
    {
      "id": "EL23",
      "name": "Cabinet exhaust grille",
      "model": "FF12U",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 26,
      "url": "https://www.automationdirect.com/pn/FF12U",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "4.88 x4.88 in cutout; filtered NEMA12. Verify clearance from internal devices."
    },
    {
      "id": "EL24",
      "name": "Cabinet fan thermostat",
      "model": "011610-02",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 18.5,
      "url": "https://www.automationdirect.com/pn/011610-02",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Normally open closes on rise at35C; wire on protected PC/fan AC branch. Heat-rise validation remains commissioning."
    },
    {
      "id": "EL25",
      "name": "Dedicated safety gate-unlock relay interface",
      "model": "MOSAIC-MR2",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 183,
      "url": "https://www.automationdirect.com/pn/MOSAIC-MR2",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "Drive with one MI8O2 OSSD pair; series both NO contacts in the fused 24 V gate-unlock line. Feed back MR2 status to safety controller. Validate standstill/delay and robot safe feedback before releasing the lock."
    },
    {
      "id": "EL26",
      "name": "Separate gate protective-earth cable",
      "model": "H11161603-1",
      "vendor": "AutomationDirect",
      "qty": 50,
      "unit": "ft",
      "price": 0.98,
      "url": "https://www.automationdirect.com/pn/H11161603-1",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "16/3 SOOW, 0.39 in / 9.91 mm OD. Use only green as PE, cap black/white individually at both ends. Existing BM-ENX-12-W M20 6–12 mm glands fit. Run beside the fixed signal cable, through the second gate entry; panel PE terminal to gate earth terminal."
    },
    {
      "id": "EL27",
      "name": "16 AWG gate-earth ferrules",
      "model": "V30AE000016",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 500",
      "price": 10.5,
      "url": "https://www.automationdirect.com/pn/V30AE000016",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "16 AWG, 8 mm ferrules for terminals permitting ferrules. Use the gate earth-terminal preparation and torque specified by IDEM."
    },
    {
      "id": "EL28",
      "name": "20 AWG field-earth ring terminals",
      "model": "V70RK004005",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 100",
      "price": 17.5,
      "url": "https://www.automationdirect.com/pn/V70RK004005",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "AutomationDirect price list 2026-10-16",
      "check": "20–18 AWG, M5 stud. Existing V70RK004012 rings are 16–14 AWG and must not be crimped on 20 AWG wire. Use clean dedicated bonding studs and matching crimp die."
    },
    {
      "id": "MT01",
      "name": "Machine clamp kits",
      "model": "T25250 - 5/16-18, 58 pieces",
      "vendor": "Grizzly",
      "qty": 2,
      "unit": "kit",
      "price": 79.95,
      "url": "https://www.grizzly.com/products/grizzly-58-pc.-clamping-kit-for-5-16-18-3-8-t-slot/t25250",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Use through studs, wide washers and underside nuts on laser plates. Kit 3/8-inch T-slot nuts are NOT compatible with Vention slots; leave them unused."
    },
    {
      "id": "MT02",
      "name": "M8x25 through/stack screws",
      "model": "6562",
      "vendor": "Bolt Depot",
      "qty": 24,
      "unit": "each",
      "price": 0.32,
      "url": "https://boltdepot.com/Product-Details?product=6562",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT03",
      "name": "M8x30 through screws",
      "model": "6563",
      "vendor": "Bolt Depot",
      "qty": 24,
      "unit": "each",
      "price": 0.33,
      "url": "https://boltdepot.com/Product-Details?product=6563",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT04",
      "name": "M8 steel flat washers",
      "model": "4529",
      "vendor": "Bolt Depot",
      "qty": 80,
      "unit": "each",
      "price": 0.05,
      "url": "https://boltdepot.com/Product-Details?product=4529",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT05",
      "name": "M8 class 8 nuts",
      "model": "4788",
      "vendor": "Bolt Depot",
      "qty": 48,
      "unit": "each",
      "price": 0.06,
      "url": "https://boltdepot.com/Product-Details?product=4788",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT06",
      "name": "M6x25 pivot/bracket screws",
      "model": "6541",
      "vendor": "Bolt Depot",
      "qty": 24,
      "unit": "each",
      "price": 0.18,
      "url": "https://boltdepot.com/Product-Details?product=6541",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT07",
      "name": "M6 steel flat washers",
      "model": "4527",
      "vendor": "Bolt Depot",
      "qty": 80,
      "unit": "each",
      "price": 0.05,
      "url": "https://boltdepot.com/Product-Details?product=4527",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT08",
      "name": "5/16-18 grade 8 backing nuts",
      "model": "2583",
      "vendor": "Bolt Depot",
      "qty": 32,
      "unit": "each",
      "price": 0.08,
      "url": "https://boltdepot.com/Product-Details?product=2583",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT09",
      "name": "5/16 grade 8 USS washers",
      "model": "3061",
      "vendor": "Bolt Depot",
      "qty": 48,
      "unit": "each",
      "price": 0.14,
      "url": "https://boltdepot.com/Product-Details?product=3061",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT10",
      "name": "Floor-foot load-spreading washers",
      "model": "2965",
      "vendor": "Bolt Depot",
      "qty": 20,
      "unit": "each",
      "price": 0.12,
      "url": "https://boltdepot.com/Product-Details?product=2965",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Verify engagement, clearance and no bottoming during assembly. Torque to the weakest connected component specification, not a generic bolt maximum."
    },
    {
      "id": "MT11",
      "name": "Bench concrete anchors",
      "model": "THDB25234H - 1/4 x 2-3/4 in - box 50",
      "vendor": "Fasteners Plus / Simpson Strong-Tie",
      "qty": 1,
      "unit": "box of 50",
      "price": 45.99,
      "url": "https://www.fastenersplus.com/products/1-4-x-2-1-4-strong-tie-titen-hd-screw-anchor-zinc-pkg-50",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Baseline indoor sound concrete. Installer confirms slab thickness, edge distances, embedment, utilities/rebar and allowable load against Simpson instructions. Anchor choice is fixed for procurement; actual floor has not been inspected. Bench anchors do not certify robot pedestal anchorage. Product title/SKU confirms 2-3/4 despite legacy URL wording."
    },
    {
      "id": "MT12",
      "name": "Shop-air source quick coupler",
      "model": "HC14-14M-A",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 8.75,
      "url": "https://www.automationdirect.com/pn/HC14-14M-A",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Both quick-disconnect halves are supplied. Facility installer provides the defined 1/4 NPT female branch point upstream of isolation; no assumption about existing shop quick-coupler style. Verify clean air flow and working pressure."
    },
    {
      "id": "MT13",
      "name": "Hose mating industrial plug",
      "model": "HCP14-14F-J",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 1.75,
      "url": "https://www.automationdirect.com/pn/HCP14-14F-J",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Both quick-disconnect halves are supplied. Facility installer provides the defined 1/4 NPT female branch point upstream of isolation; no assumption about existing shop quick-coupler style. Verify clean air flow and working pressure."
    },
    {
      "id": "MT14",
      "name": "25 ft supply air hose",
      "model": "HBP38-25CBL2",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 44.5,
      "url": "https://www.automationdirect.com/pn/HBP38-25CBL2",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Both quick-disconnect halves are supplied. Facility installer provides the defined 1/4 NPT female branch point upstream of isolation; no assumption about existing shop quick-coupler style. Verify clean air flow and working pressure."
    },
    {
      "id": "MT15",
      "name": "Supply inlet reducing bushing",
      "model": "BFHB-38N-14N",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 10,
      "url": "https://www.automationdirect.com/pn/BFHB-38N-14N",
      "date": "2026-10-16",
      "group": "Air",
      "basis": "Supplier price list",
      "check": "Both quick-disconnect halves are supplied. Facility installer provides the defined 1/4 NPT female branch point upstream of isolation; no assumption about existing shop quick-coupler style. Verify clean air flow and working pressure."
    },
    {
      "id": "MT16",
      "name": "M6 nylon-insert lock nuts",
      "model": "4795 - M6x1 A2 stainless",
      "vendor": "Bolt Depot",
      "qty": 40,
      "unit": "each",
      "price": 0.11,
      "url": "https://boltdepot.com/Product-Details?product=4795",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Engage the complete nylon ring with at least two threads protruding. Guard mounting torque4 Nm where specified by IDEM; do not deform hollow post."
    },
    {
      "id": "MT17",
      "name": "Camera body and rail double clamp",
      "model": "4103B - double crab-shaped clamp",
      "vendor": "Filmtools / SmallRig",
      "qty": 1,
      "unit": "each",
      "price": 29.59,
      "url": "https://www.filmtools.com/smallrig-super-clamp-with-double-crab-shaped-clamps-4103b.html",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Published jaw range14-65 mm includes both nominal widths. Clamp only metal housing, clear lens and USB; hand tighten without crushing. Strain-relieve cable, witness-mark joints and check calibration after locking. Treat vibration stability as pilot commissioning check."
    },
    {
      "id": "MT18",
      "name": "M6x100 guard clamp screws",
      "model": "6460 - M6x100 socket head A2",
      "vendor": "Bolt Depot",
      "qty": 8,
      "unit": "each",
      "price": 0.98,
      "url": "https://boltdepot.com/Product-Details?product=6460",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Fits nominal63.5 mm frame +12 mm spacers +two6 mm plates +washers/nyloc; inspect engagement. Guard leaf thickness is unmeasured; use shorter MT06 bolts only where the actual stack permits full locking engagement."
    },
    {
      "id": "MT19",
      "name": "M5x20 guard-box screws",
      "model": "6410 - M5x20 socket head A2",
      "vendor": "Bolt Depot",
      "qty": 12,
      "unit": "each",
      "price": 0.17,
      "url": "https://boltdepot.com/Product-Details?product=6410",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Manufacturer specifies M5 mountings at4 Nm. Confirm received plate/thread engagement, use supplied anti-tamper fasteners where supplied and retain tamper-resistant arrangement."
    },
    {
      "id": "MT20",
      "name": "M5 nylon-insert lock nuts",
      "model": "4794 - M5x0.8 A2",
      "vendor": "Bolt Depot",
      "qty": 12,
      "unit": "each",
      "price": 0.09,
      "url": "https://boltdepot.com/Product-Details?product=4794",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Do not add a nut against a blind tapped mounting. Maintain clearance from enclosure and moving actuator."
    },
    {
      "id": "MT21",
      "name": "M5 flat washers",
      "model": "4515 - M5 A2",
      "vendor": "Bolt Depot",
      "qty": 24,
      "unit": "each",
      "price": 0.05,
      "url": "https://boltdepot.com/Product-Details?product=4515",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Use only where manufacturer mounting geometry permits; retain supplied anti-tamper hardware."
    },
    {
      "id": "MT22",
      "name": "M6x20 handle plate screws",
      "model": "6540 - M6x20 class12.9",
      "vendor": "Bolt Depot",
      "qty": 8,
      "unit": "each",
      "price": 0.17,
      "url": "https://boltdepot.com/Product-Details?product=6540",
      "date": "2026-10-16",
      "group": "Structure",
      "basis": "Listed price",
      "check": "Use at MR14/MR15 instead of longer M6x25 where mounting threads face the post; full nut engagement and no projection into the12 mm spacer gap. Manufacturer mounting torque4 Nm."
    },
    {
      "id": "G20",
      "name": "Guard-lock slide handle and mounting plate",
      "model": "UGB2-527001",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "assembly",
      "price": 165,
      "url": "https://www.automationdirect.com/pn/UGB2-527001",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Public product listing and supplier price list",
      "check": "Use the matched tongue and RFID actuator from G17. Fit to flat clamp adapters; preserve the 33 mm rear-release opening and accessible inside release. M5 fasteners fix the box; M6 fasteners fix the handle/plate per IDEM instructions. Do not rely on this handle as a validated safety system."
    },
    {
      "id": "G21",
      "name": "Inside sliding escape handle",
      "model": "GB-210005",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 22,
      "url": "https://www.automationdirect.com/pn/GB-210005",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Public product listing and supplier price list",
      "check": "This is the inside handle for UGB sliding handles and rear-release switches. The UGB2-525002 rear release button remains installed. Verify both inside release actions and unobstructed escape before operation."
    },
    {
      "id": "G22",
      "name": "Sliding handle spring catch",
      "model": "GB-210006",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 22,
      "url": "https://www.automationdirect.com/pn/GB-210006",
      "date": "2026-10-16",
      "group": "Controls",
      "basis": "Public product listing and supplier price list",
      "check": "Fit to UGB2-527001 using the manufacturer's installation arrangement. It does not replace the guard lock, monitored reset or lockout procedure."
    },
    {
      "id": "PT01",
      "name": "Air piston vibrators with mufflers",
      "model": "VM-25 W/ MUFF’R · Motion 04678846",
      "vendor": "Motion",
      "qty": 2,
      "unit": "each",
      "price": 282.17,
      "url": "https://www.motion.com/products/sku/04678846",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Public list price retrieved from indexed Motion listing; current checkout unconfirmed",
      "check": "Includes muffler in advertised model. VM25 needs lubricated air, max 80 psi and intermittent duty. Start trial at 60 psi, one vibrator at a time, 5 seconds on and at least 60 seconds off for each unit. Tune support stiffness and batch load. Public listing is not proof of stock."
    },
    {
      "id": "PT02",
      "name": "Four soft rubber suspension mounts",
      "model": "GN 351 · 351-20-20-M6-SS-40",
      "vendor": "JW Winco",
      "qty": 4,
      "unit": "each",
      "price": 10,
      "url": "https://www.jwwinco.com/en-us/products/3.4-Installing-Lifting-Damping-with-Leveling-Feet-Lifting-Gear-and-Rubber-Bumpers/Vibration-shock-absorption-mounts-rubber-bumpers/GN-351-Vibration-Isolation-Mounts-Cylindrical-Type-with-Steel-Components",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Engineering price estimate — not quoted",
      "check": "Catalog model selected; $10 each is an estimate, not a supplier quote. Compliance under the loaded tray needs a trial. Loose travel restraints must not bypass the rubber."
    },
    {
      "id": "PT03",
      "name": "Independent vibrator on/off valves",
      "model": "100818015324002",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 31,
      "url": "https://www.automationdirect.com/pn/100818015324002",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Live public price checked 17 Oct",
      "check": "Use the outlet exhausted in the de-energized state for each vibrator. Plug the unused work outlet with PT11; never plug exhausts. Confirm port numbering against valve diagram. This 5/2 valve is configured for a single air load; it does not provide the cell safety function."
    },
    {
      "id": "PT04",
      "name": "Valve cables, LED and suppression",
      "model": "SC9-LS24-3",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 17.5,
      "url": "https://www.automationdirect.com/pn/SC9-LS24-3",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": ""
    },
    {
      "id": "PT05",
      "name": "Individual pressure regulators",
      "model": "5U11R141",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 30,
      "url": "https://www.automationdirect.com/pn/5U11R141",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": "Do not exceed the vibrator’s 80 psi maximum; use manufacturer operating range for the trial."
    },
    {
      "id": "PT06",
      "name": "Regulator pressure gauges",
      "model": "9700110",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "each",
      "price": 8.75,
      "url": "https://www.automationdirect.com/pn/9700110",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": ""
    },
    {
      "id": "PT07",
      "name": "Air-prep mounting brackets",
      "model": "88257E1",
      "vendor": "AutomationDirect",
      "qty": 3,
      "unit": "each",
      "price": 4,
      "url": "https://www.automationdirect.com/pn/88257E1",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": ""
    },
    {
      "id": "PT08",
      "name": "Dedicated vibrator lubricator",
      "model": "5U11L101",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "each",
      "price": 31,
      "url": "https://www.automationdirect.com/pn/5U11L101",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": "Do not route lubricated exhaust toward blanks, brushes or camera. Mount air prep at or above the vibrator elevation and close to the tray."
    },
    {
      "id": "PT09",
      "name": "Flexible air tube, black",
      "model": "PU14BLK100",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "100 ft roll",
      "price": 32,
      "url": "https://www.automationdirect.com/pn/PU14BLK100",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": "VM25 inlet is supplied for 1/4-inch OD tube; confirm included connector before assembly."
    },
    {
      "id": "PT10",
      "name": "1/8 NPT to 1/4 tube connectors",
      "model": "MS14-18N",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 5",
      "price": 6.5,
      "url": "https://www.automationdirect.com/pn/MS14-18N",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": "Existing 3/8-inch supply fittings provide the upstream branch."
    },
    {
      "id": "PT11",
      "name": "Plug for unused valve work outlet",
      "model": "BFHHP-18N",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 4.25,
      "url": "https://www.automationdirect.com/pn/BFHHP-18N",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": ""
    },
    {
      "id": "PT12",
      "name": "Valve exhaust silencers",
      "model": "SBC-18N",
      "vendor": "AutomationDirect",
      "qty": 2,
      "unit": "pack of 2",
      "price": 3.5,
      "url": "https://www.automationdirect.com/pn/SBC-18N",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": ""
    },
    {
      "id": "PT13",
      "name": "Tube tee for branch split",
      "model": "UT14",
      "vendor": "AutomationDirect",
      "qty": 1,
      "unit": "pack of 5",
      "price": 13.5,
      "url": "https://www.automationdirect.com/pn/UT14",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Supplier price list, 16 Oct; product selection checked 17 Oct",
      "check": ""
    },
    {
      "id": "PT14",
      "name": "Pneumatic vibrator oil",
      "model": "Cleveland Vibra-Lube · pint",
      "vendor": "Cleveland Vibrator",
      "qty": 1,
      "unit": "pint",
      "price": 25,
      "url": "https://solutionsinmotion.clevelandvibrator.com/air-piston-vibrator-protecting-your-investment/",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Engineering price estimate — not quoted",
      "check": "Pint size offered by manufacturer; $25 is an estimate. Current ordering price not published. Use supplier-approved 10W/NR lubricant."
    },
    {
      "id": "PT15",
      "name": "Tray bolts, washers, spacers and loose restraints",
      "model": "M5/M6 assembly hardware + VM25 mounting hardware",
      "vendor": "Bolt Depot",
      "qty": 1,
      "unit": "set",
      "price": 20,
      "url": "https://boltdepot.com/Product-Details?product=6541",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Engineering allowance — fastener lengths not released",
      "check": "$20 allowance, not a complete SKU kit. Reuse frame fasteners already counted; select vibrator mounting screw length from delivered unit/drawing, and confirm lengths from the plate stack. Linked M6x25 screw is an existing catalog example, not the whole kit."
    },
    {
      "id": "PT16",
      "name": "Small corner brackets for tray edge strips",
      "model": "HBLFSN5 · 5 series, M5 fasteners",
      "vendor": "MISUMI",
      "qty": 10,
      "unit": "each",
      "price": 2,
      "url": "https://us.misumi-ec.com/vona2/detail/110300437260/?HissuCode=HBLFSN5",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Engineering US price estimate — catalog model verified",
      "check": "Add laser-cut relief slots for bracket locating tabs. Official catalog confirms the selected model; $2 each is a conservative US price estimate, not an observed US checkout price."
    }
  ],
  "make": [
    {
      "id": "M01",
      "name": "Two straight jaw bars",
      "model": "MR01 - 29 x 8 x 5 mm flat padded jaw bars",
      "vendor": "PACMET laser",
      "qty": 2,
      "unit": "each",
      "price": 10,
      "url": "",
      "date": "2026-10-16",
      "group": "Make in-house",
      "basis": "Internal material/cut estimate",
      "check": "Official SMC 7 mm M3 mounting pitch. Qty2; bonded 14 x 8 x 3.175 mm 95A pads. Nominal pad opening 4.55 mm. Grip load and wrap clearance require pilot commissioning."
    },
    {
      "id": "M02",
      "name": "Robot wrist adapter plates",
      "model": "MR02 SMC rear plate / MR13 robot-side blank",
      "vendor": "PACMET laser",
      "qty": 1,
      "unit": "each",
      "price": 60,
      "url": "",
      "date": "2026-10-16",
      "group": "Make in-house",
      "basis": "Internal material/cut estimate",
      "check": "SMC rear2xM4 diagonal15 x22 mm verified. Four6.6 mm holes on45 mm square define our intermediate interface, not the FANUC flange. MR13 is blank stock only; release its holes/pilot clearance, spacers and robot screw lengths after serial-specific flange drawing from R04. RAB has not agreed to provide a custom adapter."
    },
    {
      "id": "M03",
      "name": "Brush base + two ledges",
      "model": "MR04 - two 180 x 120 x 6 mm clamp ledges",
      "vendor": "PACMET laser",
      "qty": 1,
      "unit": "each",
      "price": 110,
      "url": "",
      "date": "2026-10-16",
      "group": "Make in-house",
      "basis": "Internal material/cut estimate",
      "check": "Foredom MAHH-30 holders use their supplied bench clamps. Two flat ledges attach to deck/front rail; check brush contact stiffness. No orbital mechanism."
    },
    {
      "id": "M04",
      "name": "Kick actuator bracket set",
      "model": "MR05-MR07, MR09 - flat saddle and sandwich linkage",
      "vendor": "PACMET laser",
      "qty": 1,
      "unit": "each",
      "price": 80,
      "url": "",
      "date": "2026-10-16",
      "group": "Make in-house",
      "basis": "Internal material/cut estimate",
      "check": "APBP-5 pattern 54 x 25.5 mm verified. Slotted saddle and flat lever sandwich avoid guessed existing holes. Clamp envelope <=50 x 50 mm, positive lever shoulder required. Fit and force/stroke path must be checked on actual press before powered setup; no engineering acceptance implied."
    },
    {
      "id": "M05",
      "name": "Existing roll-tool mounting plate",
      "model": "MR08/MR09 - 400 x 300 x 6 mm slotted roll base",
      "vendor": "PACMET laser",
      "qty": 1,
      "unit": "each",
      "price": 60,
      "url": "",
      "date": "2026-10-16",
      "group": "Make in-house",
      "basis": "Internal material/cut estimate",
      "check": "Purchased strap clamps grip owned rigid roll-tool base. Through studs and underside bars secure plate to accessible existing support. Do not clamp a moving tool or load the feeder bench."
    },
    {
      "id": "M06",
      "name": "Feed/camera/sensor mounting plates",
      "model": "MR03/MR10-MR12/MR14-MR17 - decks, vision/sensor and guard adapters",
      "vendor": "PACMET laser",
      "qty": 1,
      "unit": "each",
      "price": 350,
      "url": "",
      "date": "2026-10-16",
      "group": "Make in-house",
      "basis": "Internal material/cut estimate",
      "check": "Two810 x810 x6 mm decks, vision accessory tray, M12 process plates/flags and guard clamp adapters. MT17 supplies camera-case clamp. former feeder (now pneumatic tray) rigid-base mating hardware belongs to feeder package. Guard adapters are pilot geometry with release and slip checks required on the actual gate."
    },
    {
      "id": "PTL01",
      "name": "Laser-cut tray and bolted edge strips",
      "model": "350 × 275 × 3 mm deck · ~330 × 255 mm useful area",
      "vendor": "PACMET in-house",
      "qty": 1,
      "unit": "set",
      "price": 160,
      "url": "",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Material and cutting estimate",
      "check": "No bent or machined pockets. Stack-up drawing and hole pattern to be released after hardware fit check; blank contact surface and edge finish must suit the alloy."
    },
    {
      "id": "PTL02",
      "name": "Laser-cut vibrator brackets and stiffeners",
      "model": "Flat gussets + 45-degree mounting plate + backing strips",
      "vendor": "PACMET in-house",
      "qty": 1,
      "unit": "set",
      "price": 75,
      "url": "",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Material and cutting estimate",
      "check": "Bracket silhouettes in the model explain load paths. Mounting holes must match the delivered VM25 drawing. Flat triangulated plates bolt together; no machined blocks."
    },
    {
      "id": "PTL03",
      "name": "Laser-cut fixed support and air-control plates",
      "model": "Open support rails + regulator/valve mounting plate",
      "vendor": "PACMET in-house",
      "qty": 1,
      "unit": "set",
      "price": 60,
      "url": "",
      "date": "2026-10-17",
      "group": "Pneumatic feeder",
      "basis": "Material and cutting estimate",
      "check": "Camera and lights remain on the fixed frame. Keep free clearance at all moving edges; loose restraints limit excessive travel only."
    }
  ]
}