The carried-peer record (CarriedPeer/TunnelPeer) lives in mesh-controller internal/inventory, not internal/catalogue. internal/catalogue is the right package for the zone-generation side of the fix (facts.go's nodeZones), but a different concern from where the name field itself would go. Split the two so a decision record doesn't get pointed at the wrong package.