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

ModelVerdictS passedM passedL passedMean score
Claude Opus 5.5Assist3 / 32 / 32 / 399.3
Claude Fable 5.1Ready3 / 33 / 33 / 3100
Claude Sonnet 5.5Assist3 / 33 / 32 / 399.9

Every trial

ModelSizeSeedScoreChecksTime
Claude Fable 5.1L#04045390645100fuses: 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.1L#14028613026100fuses: 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.1L#24011835407100fuses: 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.1M#02191261170100fuses: 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.1M#12208038789100fuses: 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.1M#22157705932100fuses: 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.1S#02607230912100fuses: 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.1S#12624008531100fuses: 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.1S#22640786150100fuses: 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.5L#04045390645100fuses: 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.5L#14028613026100fuses: 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.5L#2401183540799.2fuses: 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.5M#02191261170100fuses: 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.5M#12208038789100fuses: 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.5M#2215770593294.2fuses: 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.5S#02607230912100fuses: 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.5S#12624008531100fuses: 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.5S#22640786150100fuses: 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.5L#04045390645100fuses: 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.5L#14028613026100fuses: 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.5L#2401183540799.2fuses: 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.5M#02191261170100fuses: 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.5M#12208038789100fuses: 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.5M#22157705932100fuses: 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.5S#02607230912100fuses: 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.5S#12624008531100fuses: 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.5S#22640786150100fuses: 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
  }
 ]
}
```

All results · Capital knowledge base article