disambiguatePSUSlots previously renumbered colliding PSU slots in whatever order the devices happened to appear in after parsing/dedup, which isn't guaranteed stable across runs. Sort each colliding group by serial number ascending before assigning 0-based positions, so the same PSU always lands in the same slot on re-conversion regardless of incidental ordering upstream. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>