06 · Capital Harness Designer (harness engineering)
Bundle sizing
Can it compute every branch diameter of a harness the way Capital Harness Designer does?
Trace each wire through the harness tree, count what passes every branch, then apply Capital’s “Worst case – Enhanced” method: the greatest of the Navy Table, factored cross-section and combined outside diameter, plus overbraid. Grounded in Capital’s own documented formulas.
Capital reference. Bundle Size Calculations (harness-designer/bundle-size-calculations). 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 and conduit build-up, multicore cables, and the other three calculation methods.
Scale ladder. S: 5 branches, 8 wires · M: 12 branches, 40 wires · L: 29 branches, 140 wires.
Results
| Model | Verdict | S passed | M passed | L passed | Mean score |
|---|---|---|---|---|---|
| Claude Opus 5.5 | Assist | 2 / 3 | 3 / 3 | 2 / 3 | 96 |
| Claude Fable 5.1 | Ready | 3 / 3 | 3 / 3 | 3 / 3 | 100 |
| Claude Sonnet 5.5 | Assist | 3 / 3 | 2 / 3 | 2 / 3 | 98.8 |
Every trial
| Model | Size | Seed | Score | Checks | Time |
|---|---|---|---|---|---|
| Claude Fable 5.1 | L#0 | 229616318 | 100 | wire counts: 29 of 29 branch counts right · diameters: 29 of 29 diameters within 0.5% | 130 s |
| Claude Fable 5.1 | L#1 | 246393937 | 100 | wire counts: 29 of 29 branch counts right · diameters: 29 of 29 diameters within 0.5% | 160 s |
| Claude Fable 5.1 | L#2 | 196061080 | 100 | wire counts: 29 of 29 branch counts right · diameters: 29 of 29 diameters within 0.5% | 144 s |
| Claude Fable 5.1 | M#0 | 2083745793 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 37 s |
| Claude Fable 5.1 | M#1 | 2066968174 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 48 s |
| Claude Fable 5.1 | M#2 | 2050190555 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 38 s |
| Claude Fable 5.1 | S#0 | 2077288799 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 15 s |
| Claude Fable 5.1 | S#1 | 2060511180 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 16 s |
| Claude Fable 5.1 | S#2 | 2110844037 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 15 s |
| Claude Opus 5.5 | L#0 | 229616318 | 100 | wire counts: 29 of 29 branch counts right · diameters: 29 of 29 diameters within 0.5% | 141 s |
| Claude Opus 5.5 | L#1 | 246393937 | 100 | wire counts: 29 of 29 branch counts right · diameters: 29 of 29 diameters within 0.5% | 135 s |
| Claude Opus 5.5 | L#2 | 196061080 | 87.6 | wire counts: 29 of 29 branch counts right · diameters: 23 of 29 diameters within 0.5% | 95 s |
| Claude Opus 5.5 | M#0 | 2083745793 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 43 s |
| Claude Opus 5.5 | M#1 | 2066968174 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 43 s |
| Claude Opus 5.5 | M#2 | 2050190555 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 40 s |
| Claude Opus 5.5 | S#0 | 2077288799 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 17 s |
| Claude Opus 5.5 | S#1 | 2060511180 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 15 s |
| Claude Opus 5.5 | S#2 | 2110844037 | 76 | wire counts: 5 of 5 branch counts right · diameters: 3 of 5 diameters within 0.5% | 17 s |
| Claude Sonnet 5.5 | L#0 | 229616318 | 97.9 | wire counts: 29 of 29 branch counts right · diameters: 28 of 29 diameters within 0.5% | 115 s |
| Claude Sonnet 5.5 | L#1 | 246393937 | 100 | wire counts: 29 of 29 branch counts right · diameters: 29 of 29 diameters within 0.5% | 124 s |
| Claude Sonnet 5.5 | L#2 | 196061080 | 100 | wire counts: 29 of 29 branch counts right · diameters: 29 of 29 diameters within 0.5% | 89 s |
| Claude Sonnet 5.5 | M#0 | 2083745793 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 26 s |
| Claude Sonnet 5.5 | M#1 | 2066968174 | 100 | wire counts: 12 of 12 branch counts right · diameters: 12 of 12 diameters within 0.5% | 35 s |
| Claude Sonnet 5.5 | M#2 | 2050190555 | 91.7 | wire counts: 11 of 12 branch counts right · diameters: 11 of 12 diameters within 0.5% | 26 s |
| Claude Sonnet 5.5 | S#0 | 2077288799 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 9 s |
| Claude Sonnet 5.5 | S#1 | 2060511180 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 8 s |
| Claude Sonnet 5.5 | S#2 | 2110844037 | 100 | wire counts: 5 of 5 branch counts right · diameters: 5 of 5 diameters within 0.5% | 8 s |
What the model is asked
The small instance at seed 2077288799, exactly as sent. Regenerate any instance with npm run sample -- bundles M 2.
Show the prompt (1,895 characters)
TASK: Bundle sizing (Capital Harness Designer, method "Worst case - Enhanced").
The harness is a tree of nodes joined by branches. Each wire runs along the unique path between its two end nodes
and passes through every branch on that path. For EVERY branch, compute the number of wires through it and its diameter:
- Navy Table = (average outside diameter of the wires in the branch) x factor(n), where n = number of wires;
factor(n) is given in `navyFactors` for n <= 20; for n > 20, factor = 1.12 x sqrt(n) rounded to 2 decimals.
- Factored CSA = sqrt(1.3 x sum of (each wire's OD squared))
- Combined OD = sum of the two largest wire ODs (a single wire: its own OD).
- Diameter = the greatest of those three, plus 2 x overbraid thickness if the branch is overbraided.
- A branch with no wires has diameter 0.
Round each diameter to 2 decimals.
Wire outside diameter (mm) by gauge: {"12":2.9,"14":2.4,"16":2,"18":1.7,"20":1.45,"22":1.25,"24":1.1}
navyFactors: {"1":1,"2":2,"3":2.15,"4":2.41,"5":2.7,"6":3,"7":3,"8":3.3,"9":3.61,"10":3.81,"11":3.92,"12":4.03,"13":4.24,"14":4.33,"15":4.52,"16":4.62,"17":4.79,"18":4.86,"19":4.86,"20":5.12}
Overbraided branches (thickness mm): {}
Branches:
[
{"id":"B1","a":"N1","b":"N2"},
{"id":"B2","a":"N1","b":"N3"},
{"id":"B3","a":"N1","b":"N4"},
{"id":"B4","a":"N3","b":"N5"},
{"id":"B5","a":"N2","b":"N6"}
]
Wires:
[
{"id":"W1","from":"N4","to":"N5","gauge":22},
{"id":"W2","from":"N4","to":"N6","gauge":18},
{"id":"W3","from":"N4","to":"N5","gauge":20},
{"id":"W4","from":"N6","to":"N5","gauge":12},
{"id":"W5","from":"N5","to":"N4","gauge":22},
{"id":"W6","from":"N6","to":"N4","gauge":20},
{"id":"W7","from":"N4","to":"N6","gauge":12},
{"id":"W8","from":"N4","to":"N6","gauge":24}
]
Output format (JSON, exactly these keys):
```json
{
"branches": [
{
"id": "B1",
"wires": 7,
"diameterMm": 6.42
}
]
}
```