ddf9212b81
PIN_GB=all passed gb=-1.0 to pin_load, which took npin=n (all experts) and ignored --ram entirely — the OOM-kill regression from #80. A 92 GB host with --ram 78 was killed mid-generation (anon-rss ~89 GB). Now gb<0 clamps npin to expert_avail() — how many experts fit the RAM budget, same accounting AUTOPIN uses. pin_load already adds the pinned bytes to resident_bytes, so the later cap_for_ram narrows the LRU accordingly with no double count. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>