07 · Capital Harness Designer · Capital Formboard Designer
Wire lengths and cut list
Can it turn a routed harness into manufacturing cut lengths?
Sum each wire’s routed path through the harness tree, add the termination allowance at each end, apply process slack and round up to the cutting machine’s step. Then total the wire needed per gauge. This is what goes to the shop floor.
Capital reference. Dimension Length Calculation Methods (harness-designer/dimension-length-calculation-methods). 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. Formboard drawing layout, fixture placement and nail-board geometry.
Scale ladder. S: 5 branches, 8 wires · M: 13 branches, 40 wires · L: 29 branches, 140 wires.
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 | 1526291215 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 106 s |
| Claude Fable 5.1 | L#1 | 1509513596 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 97 s |
| Claude Fable 5.1 | L#2 | 1559846453 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 103 s |
| Claude Fable 5.1 | M#0 | 4234291012 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 28 s |
| Claude Fable 5.1 | M#1 | 4251068631 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 29 s |
| Claude Fable 5.1 | M#2 | 4267846250 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 30 s |
| Claude Fable 5.1 | S#0 | 3479403918 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 12 s |
| Claude Fable 5.1 | S#1 | 3496181537 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 11 s |
| Claude Fable 5.1 | S#2 | 3445848680 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 11 s |
| Claude Opus 5.5 | L#0 | 1526291215 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 79 s |
| Claude Opus 5.5 | L#1 | 1509513596 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 86 s |
| Claude Opus 5.5 | L#2 | 1559846453 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 83 s |
| Claude Opus 5.5 | M#0 | 4234291012 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 29 s |
| Claude Opus 5.5 | M#1 | 4251068631 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 28 s |
| Claude Opus 5.5 | M#2 | 4267846250 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 32 s |
| Claude Opus 5.5 | S#0 | 3479403918 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 12 s |
| Claude Opus 5.5 | S#1 | 3496181537 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 12 s |
| Claude Opus 5.5 | S#2 | 3445848680 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 14 s |
| Claude Sonnet 5.5 | L#0 | 1526291215 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 62 s |
| Claude Sonnet 5.5 | L#1 | 1509513596 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 57 s |
| Claude Sonnet 5.5 | L#2 | 1559846453 | 100 | cut lengths: 140 of 140 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 58 s |
| Claude Sonnet 5.5 | M#0 | 4234291012 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 20 s |
| Claude Sonnet 5.5 | M#1 | 4251068631 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 19 s |
| Claude Sonnet 5.5 | M#2 | 4267846250 | 100 | cut lengths: 40 of 40 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 20 s |
| Claude Sonnet 5.5 | S#0 | 3479403918 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 7 s |
| Claude Sonnet 5.5 | S#1 | 3496181537 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 7 s |
| Claude Sonnet 5.5 | S#2 | 3445848680 | 100 | cut lengths: 8 of 8 cut lengths exact · gauge totals: 4 of 4 gauge totals exact | 10 s |
What the model is asked
The small instance at seed 3479403918, exactly as sent. Regenerate any instance with npm run sample -- cutlist M 2.
Show the prompt (1,713 characters)
TASK: Wire lengths and cut list.
Each wire runs along the unique path through the harness tree between its two end nodes.
Cut length for a wire:
1. Path length = sum of lengthMm of every branch on the path.
2. Add the termination allowance for each end, by end type: {"connector":20,"splice":12,"ring":35} (mm).
3. Multiply by 1.03 (process slack).
4. Round UP to the next multiple of 5 mm (a value already on a multiple of 5 stays).
Then total the cut lengths per gauge.
Branches:
[
{"id":"B1","a":"N1","b":"N2","lengthMm":610},
{"id":"B2","a":"N2","b":"N3","lengthMm":330},
{"id":"B3","a":"N2","b":"N4","lengthMm":350},
{"id":"B4","a":"N4","b":"N5","lengthMm":1090},
{"id":"B5","a":"N5","b":"N6","lengthMm":360}
]
Wires:
[
{"id":"W1","from":"N3","to":"N1","fromEnd":"connector","toEnd":"connector","gauge":20,"color":"BK"},
{"id":"W2","from":"N1","to":"N6","fromEnd":"splice","toEnd":"ring","gauge":18,"color":"WH"},
{"id":"W3","from":"N3","to":"N6","fromEnd":"ring","toEnd":"ring","gauge":20,"color":"GY"},
{"id":"W4","from":"N6","to":"N3","fromEnd":"connector","toEnd":"connector","gauge":16,"color":"BU"},
{"id":"W5","from":"N3","to":"N6","fromEnd":"ring","toEnd":"connector","gauge":22,"color":"YE"},
{"id":"W6","from":"N1","to":"N6","fromEnd":"connector","toEnd":"splice","gauge":22,"color":"WH"},
{"id":"W7","from":"N1","to":"N3","fromEnd":"connector","toEnd":"connector","gauge":20,"color":"WH"},
{"id":"W8","from":"N1","to":"N6","fromEnd":"connector","toEnd":"ring","gauge":18,"color":"BK"}
]
Output format (JSON, exactly these keys):
```json
{
"wires": [
{
"id": "W1",
"cutMm": 1235
}
],
"totalsByGauge": [
{
"gauge": 18,
"totalMm": 15420
}
]
}
```