So @bastian-src it does appear that even with validate: true, I still get duplicate hosts.
I think Ill have to turn off the functionality that auto creates hosts on facts/reports upload, and use the api to create the host first, unfortunately. I just cannot figure this out.
irb(main):002:0> duplicates = Host::Base.group(:name).having('COUNT(*) > 1').count
=>
{"wdc-dssrv01devb.xxxxx"=>13,
...
irb(main):003:0> duplicates.size
=> 193