03 · Capital Systems Integrator (wire property rules) · Capital Logic Designer
Wire sizing and protection
Can it size a wire and its fuse against current, voltage drop and ampacity together?
For each load, pick the fuse from the current, then the thinnest wire that both carries that fuse’s rating and keeps the round-trip voltage drop inside budget. Two constraints pull in different directions, which is where a shortcut gives the wrong gauge.
Capital reference. Assigning Wire / Splice / Multicore Properties by Rules (systems-integrator/assigning-wire-splice-multicore-properties-by-rules). 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. Thermal derating by bundle fill, altitude or temperature, and recalling a standard’s tables from memory.
Scale ladder. S: 4 loads · M: 12 loads · L: 36 loads.
Results
| Model | Verdict | S passed | M passed | L passed | Mean score |
|---|---|---|---|---|---|
| Claude Opus 5.5 | Assist | 3 / 3 | 2 / 3 | 2 / 3 | 99.3 |
| Claude Fable 5.1 | Ready | 3 / 3 | 3 / 3 | 3 / 3 | 100 |
| Claude Sonnet 5.5 | Assist | 3 / 3 | 3 / 3 | 2 / 3 | 99.9 |
Every trial
| Model | Size | Seed | Score | Checks | Time |
|---|---|---|---|---|---|
| Claude Fable 5.1 | L#0 | 4045390645 | 100 | fuses: 36 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 42 s |
| Claude Fable 5.1 | L#1 | 4028613026 | 100 | fuses: 36 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 50 s |
| Claude Fable 5.1 | L#2 | 4011835407 | 100 | fuses: 36 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 50 s |
| Claude Fable 5.1 | M#0 | 2191261170 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 26 s |
| Claude Fable 5.1 | M#1 | 2208038789 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 22 s |
| Claude Fable 5.1 | M#2 | 2157705932 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 23 s |
| Claude Fable 5.1 | S#0 | 2607230912 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 12 s |
| Claude Fable 5.1 | S#1 | 2624008531 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 13 s |
| Claude Fable 5.1 | S#2 | 2640786150 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 12 s |
| Claude Opus 5.5 | L#0 | 4045390645 | 100 | fuses: 36 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 47 s |
| Claude Opus 5.5 | L#1 | 4028613026 | 100 | fuses: 36 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 43 s |
| Claude Opus 5.5 | L#2 | 4011835407 | 99.2 | fuses: 35 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 40 s |
| Claude Opus 5.5 | M#0 | 2191261170 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 23 s |
| Claude Opus 5.5 | M#1 | 2208038789 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 22 s |
| Claude Opus 5.5 | M#2 | 2157705932 | 94.2 | fuses: 12 of 12 fuse ratings right · gauges: 11 of 12 gauges right · voltage drop: 11 of 12 drops within 1% | 25 s |
| Claude Opus 5.5 | S#0 | 2607230912 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 15 s |
| Claude Opus 5.5 | S#1 | 2624008531 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 16 s |
| Claude Opus 5.5 | S#2 | 2640786150 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 12 s |
| Claude Sonnet 5.5 | L#0 | 4045390645 | 100 | fuses: 36 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 29 s |
| Claude Sonnet 5.5 | L#1 | 4028613026 | 100 | fuses: 36 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 30 s |
| Claude Sonnet 5.5 | L#2 | 4011835407 | 99.2 | fuses: 35 of 36 fuse ratings right · gauges: 36 of 36 gauges right · voltage drop: 36 of 36 drops within 1% | 33 s |
| Claude Sonnet 5.5 | M#0 | 2191261170 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 13 s |
| Claude Sonnet 5.5 | M#1 | 2208038789 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 15 s |
| Claude Sonnet 5.5 | M#2 | 2157705932 | 100 | fuses: 12 of 12 fuse ratings right · gauges: 12 of 12 gauges right · voltage drop: 12 of 12 drops within 1% | 15 s |
| Claude Sonnet 5.5 | S#0 | 2607230912 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 8 s |
| Claude Sonnet 5.5 | S#1 | 2624008531 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 7 s |
| Claude Sonnet 5.5 | S#2 | 2640786150 | 100 | fuses: 4 of 4 fuse ratings right · gauges: 4 of 4 gauges right · voltage drop: 4 of 4 drops within 1% | 8 s |
What the model is asked
The small instance at seed 2607230912, exactly as sent. Regenerate any instance with npm run sample -- wire-sizing M 2.
Show the prompt (1,585 characters)
TASK: Wire sizing and circuit protection.
For each load, choose a fuse and a wire gauge with these rules, in this order:
1. Fuse: the smallest rating in `fuses` that is >= 1.25 x the load current. If none is large enough, fuse and gauge are both "NONE".
2. Wire: the thinnest wire in `wireTable` (highest gauge number) that meets BOTH:
a. ampacityA >= the chosen fuse rating, and
b. voltage drop <= maxDropPct % of supplyV, where drop (V) = currentA x 2 x lengthM x ohmPerKm / 1000 (feed and return both run in wire).
If no wire meets both, gauge is "NONE" and dropV is null.
3. dropV is the voltage drop on the chosen wire, rounded to 3 decimal places.
wireTable:
[
{"gauge":24,"ohmPerKm":84.2,"ampacityA":3},
{"gauge":22,"ohmPerKm":52.9,"ampacityA":5},
{"gauge":20,"ohmPerKm":33.3,"ampacityA":7.5},
{"gauge":18,"ohmPerKm":21,"ampacityA":10},
{"gauge":16,"ohmPerKm":13.2,"ampacityA":13},
{"gauge":14,"ohmPerKm":8.3,"ampacityA":17},
{"gauge":12,"ohmPerKm":5.2,"ampacityA":23},
{"gauge":10,"ohmPerKm":3.3,"ampacityA":33},
{"gauge":8,"ohmPerKm":2.1,"ampacityA":46}
]
fuses: [1,2,3,5,7.5,10,15,20,25,30,40]
Loads:
[
{"id":"LD1","currentA":13.8,"lengthM":3,"supplyV":28,"maxDropPct":5},
{"id":"LD2","currentA":1.1,"lengthM":5.5,"supplyV":28,"maxDropPct":5},
{"id":"LD3","currentA":12,"lengthM":10.1,"supplyV":14,"maxDropPct":3},
{"id":"LD4","currentA":6.5,"lengthM":22.9,"supplyV":28,"maxDropPct":3}
]
Output format (JSON, exactly these keys):
```json
{
"loads": [
{
"id": "LD1",
"fuseA": 7.5,
"gauge": 18,
"dropV": 0.412
}
]
}
```