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
| Model | Verdict | S passed | M passed | L passed | Mean score |
|---|---|---|---|---|---|
| Claude Opus 5.5 | Ready | 3 / 3 | 3 / 3 | 3 / 3 | 100 |
| Claude Fable 5.1 | Ready | 3 / 3 | 3 / 3 | 3 / 3 | 100 |
| Claude Sonnet 5.5 | Ready | 3 / 3 | 3 / 3 | 3 / 3 | 100 |
Every trial
| Model | Size | Seed | Score | Checks | Time |
|---|---|---|---|---|---|
| Claude Fable 5.1 | L#0 | 814663421 | 100 | BOM lines: 65 of 65 part numbers present, 65 listed · quantities: 65 of 65 quantities right | 136 s |
| Claude Fable 5.1 | L#1 | 797885802 | 100 | BOM lines: 67 of 67 part numbers present, 67 listed · quantities: 67 of 67 quantities right | 133 s |
| Claude Fable 5.1 | L#2 | 781108183 | 100 | BOM lines: 66 of 66 part numbers present, 66 listed · quantities: 66 of 66 quantities right | 117 s |
| Claude Fable 5.1 | M#0 | 3255501242 | 100 | BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right | 40 s |
| Claude Fable 5.1 | M#1 | 3272278861 | 100 | BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right | 42 s |
| Claude Fable 5.1 | M#2 | 3221946004 | 100 | BOM lines: 48 of 48 part numbers present, 48 listed · quantities: 48 of 48 quantities right | 39 s |
| Claude Fable 5.1 | S#0 | 3318239768 | 100 | BOM lines: 21 of 21 part numbers present, 21 listed · quantities: 21 of 21 quantities right | 15 s |
| Claude Fable 5.1 | S#1 | 3335017387 | 100 | BOM lines: 20 of 20 part numbers present, 20 listed · quantities: 20 of 20 quantities right | 15 s |
| Claude Fable 5.1 | S#2 | 3351795006 | 100 | BOM lines: 23 of 23 part numbers present, 23 listed · quantities: 23 of 23 quantities right | 16 s |
| Claude Opus 5.5 | L#0 | 814663421 | 100 | BOM lines: 65 of 65 part numbers present, 65 listed · quantities: 65 of 65 quantities right | 102 s |
| Claude Opus 5.5 | L#1 | 797885802 | 100 | BOM lines: 67 of 67 part numbers present, 67 listed · quantities: 67 of 67 quantities right | 126 s |
| Claude Opus 5.5 | L#2 | 781108183 | 100 | BOM lines: 66 of 66 part numbers present, 66 listed · quantities: 66 of 66 quantities right | 121 s |
| Claude Opus 5.5 | M#0 | 3255501242 | 100 | BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right | 41 s |
| Claude Opus 5.5 | M#1 | 3272278861 | 100 | BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right | 36 s |
| Claude Opus 5.5 | M#2 | 3221946004 | 100 | BOM lines: 48 of 48 part numbers present, 48 listed · quantities: 48 of 48 quantities right | 33 s |
| Claude Opus 5.5 | S#0 | 3318239768 | 100 | BOM lines: 21 of 21 part numbers present, 21 listed · quantities: 21 of 21 quantities right | 16 s |
| Claude Opus 5.5 | S#1 | 3335017387 | 100 | BOM lines: 20 of 20 part numbers present, 20 listed · quantities: 20 of 20 quantities right | 12 s |
| Claude Opus 5.5 | S#2 | 3351795006 | 100 | BOM lines: 23 of 23 part numbers present, 23 listed · quantities: 23 of 23 quantities right | 19 s |
| Claude Sonnet 5.5 | L#0 | 814663421 | 100 | BOM lines: 65 of 65 part numbers present, 65 listed · quantities: 65 of 65 quantities right | 97 s |
| Claude Sonnet 5.5 | L#1 | 797885802 | 100 | BOM lines: 67 of 67 part numbers present, 67 listed · quantities: 67 of 67 quantities right | 75 s |
| Claude Sonnet 5.5 | L#2 | 781108183 | 100 | BOM lines: 66 of 66 part numbers present, 66 listed · quantities: 66 of 66 quantities right | 95 s |
| Claude Sonnet 5.5 | M#0 | 3255501242 | 100 | BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right | 24 s |
| Claude Sonnet 5.5 | M#1 | 3272278861 | 100 | BOM lines: 47 of 47 part numbers present, 47 listed · quantities: 47 of 47 quantities right | 28 s |
| Claude Sonnet 5.5 | M#2 | 3221946004 | 100 | BOM lines: 48 of 48 part numbers present, 48 listed · quantities: 48 of 48 quantities right | 25 s |
| Claude Sonnet 5.5 | S#0 | 3318239768 | 100 | BOM lines: 21 of 21 part numbers present, 21 listed · quantities: 21 of 21 quantities right | 9 s |
| Claude Sonnet 5.5 | S#1 | 3335017387 | 100 | BOM lines: 20 of 20 part numbers present, 20 listed · quantities: 20 of 20 quantities right | 8 s |
| Claude Sonnet 5.5 | S#2 | 3351795006 | 100 | BOM lines: 23 of 23 part numbers present, 23 listed · quantities: 23 of 23 quantities right | 12 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
}
]
}
```