09 · Capital Harness Designer (Harness Component BOM) · Capital E/E Publisher

Bill of materials

Can it roll a harness design up into a correct, complete bill of materials?

Count connector housings, terminals, seals, splices and the cavity plugs that sealed connectors need in every empty cavity, and total wire by gauge and colour in metres. The plugs are the line that gets missed.

Capital reference. Harness Component BOM (harness-designer/harness-component-bom). This domain stands for the capability that article describes; the task gives the model the rules in full rather than testing whether it remembers Capital’s.

Not tested here. Tape, conduit and clip quantities, labour and costing.

Scale ladder. S: 10 wires, 3 connectors · M: 39 wires, 10 connectors · L: 128 wires, 33 connectors.

Results

ModelVerdictS passedM passedL passedMean score
Claude Opus 5.5Ready3 / 33 / 33 / 3100
Claude Fable 5.1Ready3 / 33 / 33 / 3100
Claude Sonnet 5.5Ready3 / 33 / 33 / 3100

Every trial

ModelSizeSeedScoreChecksTime
Claude Fable 5.1L#0814663421100BOM lines: 65 of 65 part numbers present, 65 listed · quantities: 65 of 65 quantities right136 s
Claude Fable 5.1L#1797885802100BOM lines: 67 of 67 part numbers present, 67 listed · quantities: 67 of 67 quantities right133 s
Claude Fable 5.1L#2781108183100BOM lines: 66 of 66 part numbers present, 66 listed · quantities: 66 of 66 quantities right117 s
Claude Fable 5.1M#03255501242100BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right40 s
Claude Fable 5.1M#13272278861100BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right42 s
Claude Fable 5.1M#23221946004100BOM lines: 48 of 48 part numbers present, 48 listed · quantities: 48 of 48 quantities right39 s
Claude Fable 5.1S#03318239768100BOM lines: 21 of 21 part numbers present, 21 listed · quantities: 21 of 21 quantities right15 s
Claude Fable 5.1S#13335017387100BOM lines: 20 of 20 part numbers present, 20 listed · quantities: 20 of 20 quantities right15 s
Claude Fable 5.1S#23351795006100BOM lines: 23 of 23 part numbers present, 23 listed · quantities: 23 of 23 quantities right16 s
Claude Opus 5.5L#0814663421100BOM lines: 65 of 65 part numbers present, 65 listed · quantities: 65 of 65 quantities right102 s
Claude Opus 5.5L#1797885802100BOM lines: 67 of 67 part numbers present, 67 listed · quantities: 67 of 67 quantities right126 s
Claude Opus 5.5L#2781108183100BOM lines: 66 of 66 part numbers present, 66 listed · quantities: 66 of 66 quantities right121 s
Claude Opus 5.5M#03255501242100BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right41 s
Claude Opus 5.5M#13272278861100BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right36 s
Claude Opus 5.5M#23221946004100BOM lines: 48 of 48 part numbers present, 48 listed · quantities: 48 of 48 quantities right33 s
Claude Opus 5.5S#03318239768100BOM lines: 21 of 21 part numbers present, 21 listed · quantities: 21 of 21 quantities right16 s
Claude Opus 5.5S#13335017387100BOM lines: 20 of 20 part numbers present, 20 listed · quantities: 20 of 20 quantities right12 s
Claude Opus 5.5S#23351795006100BOM lines: 23 of 23 part numbers present, 23 listed · quantities: 23 of 23 quantities right19 s
Claude Sonnet 5.5L#0814663421100BOM lines: 65 of 65 part numbers present, 65 listed · quantities: 65 of 65 quantities right97 s
Claude Sonnet 5.5L#1797885802100BOM lines: 67 of 67 part numbers present, 67 listed · quantities: 67 of 67 quantities right75 s
Claude Sonnet 5.5L#2781108183100BOM lines: 66 of 66 part numbers present, 66 listed · quantities: 66 of 66 quantities right95 s
Claude Sonnet 5.5M#03255501242100BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right24 s
Claude Sonnet 5.5M#13272278861100BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right28 s
Claude Sonnet 5.5M#23221946004100BOM lines: 48 of 48 part numbers present, 48 listed · quantities: 48 of 48 quantities right25 s
Claude Sonnet 5.5S#03318239768100BOM lines: 21 of 21 part numbers present, 21 listed · quantities: 21 of 21 quantities right9 s
Claude Sonnet 5.5S#13335017387100BOM lines: 20 of 20 part numbers present, 20 listed · quantities: 20 of 20 quantities right8 s
Claude Sonnet 5.5S#23351795006100BOM lines: 23 of 23 part numbers present, 23 listed · quantities: 23 of 23 quantities right12 s

What the model is asked

The small instance at seed 3318239768, exactly as sent. Regenerate any instance with npm run sample -- bom M 2.

Show the prompt (2,794 characters)
TASK: Harness bill of materials.

Roll this harness up into a BOM: one line per part number with its total quantity.
- Connector housings: one per connector that at least one wire lands on (connectors no wire reaches are not in this harness).
- Terminals and seals: one per wire end that lands in a connector cavity, using the part numbers given on that end.
- Splices: one per splice that at least one wire end lands on.
- Cavity plugs: every EMPTY cavity of a SEALED connector in this harness takes one plug; plug part number by series: {"DTM":"CP-DTM","DT":"CP-DT","MX150":"CP-MX150"}.
  A cavity is empty if no wire end lands in it.
- Wire: part number "W-<gauge>-<color>", quantity in METRES = total cutMm of those wires / 1000.

Connectors:
[
  {"ref":"X1","pn":"H-DTM-6","series":"DTM","cavities":6,"sealed":true},
  {"ref":"X2","pn":"H-DT-12","series":"DT","cavities":12,"sealed":false},
  {"ref":"X3","pn":"H-DTM-12","series":"DTM","cavities":12,"sealed":false}
]

Splices:
[
  {"ref":"SP1","pn":"SPL-BUTT-M"}
]

Wires:
[
  {"id":"W1","gauge":16,"color":"YE","cutMm":365,"ends":[{"ref":"X1","cavity":3,"terminal":"T-DTM-A","seal":"S-DTM-1"},{"splice":"SP1"}]},
  {"id":"W2","gauge":22,"color":"GY","cutMm":1830,"ends":[{"ref":"X3","cavity":10,"terminal":"T-DTM-A","seal":null},{"splice":"SP1"}]},
  {"id":"W3","gauge":20,"color":"BN","cutMm":290,"ends":[{"ref":"X3","cavity":12,"terminal":"T-DTM-A","seal":null},{"ref":"X1","cavity":4,"terminal":"T-DTM-B","seal":"S-DTM-1"}]},
  {"id":"W4","gauge":16,"color":"BK","cutMm":475,"ends":[{"ref":"X3","cavity":2,"terminal":"T-DTM-A","seal":null},{"ref":"X2","cavity":8,"terminal":"T-DT-A","seal":null}]},
  {"id":"W5","gauge":20,"color":"BU","cutMm":1575,"ends":[{"ref":"X1","cavity":2,"terminal":"T-DTM-B","seal":"S-DTM-2"},{"ref":"X2","cavity":6,"terminal":"T-DT-A","seal":null}]},
  {"id":"W6","gauge":20,"color":"WH","cutMm":825,"ends":[{"ref":"X1","cavity":1,"terminal":"T-DTM-B","seal":"S-DTM-2"},{"ref":"X3","cavity":4,"terminal":"T-DTM-B","seal":null}]},
  {"id":"W7","gauge":22,"color":"YE","cutMm":750,"ends":[{"ref":"X2","cavity":10,"terminal":"T-DT-A","seal":null},{"splice":"SP1"}]},
  {"id":"W8","gauge":20,"color":"GN","cutMm":1970,"ends":[{"ref":"X3","cavity":3,"terminal":"T-DTM-B","seal":null},{"ref":"X2","cavity":3,"terminal":"T-DT-B","seal":null}]},
  {"id":"W9","gauge":22,"color":"BN","cutMm":640,"ends":[{"ref":"X1","cavity":6,"terminal":"T-DTM-A","seal":"S-DTM-1"},{"ref":"X3","cavity":1,"terminal":"T-DTM-A","seal":null}]},
  {"id":"W10","gauge":18,"color":"GN","cutMm":260,"ends":[{"ref":"X2","cavity":5,"terminal":"T-DT-B","seal":null},{"splice":"SP1"}]}
]

Output format (JSON, exactly these keys):
```json
{
 "bom": [
  {
   "pn": "H-DTM-6",
   "qty": 2
  },
  {
   "pn": "W-18-RD",
   "qty": 4.35
  }
 ]
}
```

All results · Capital knowledge base article