The facter dependency can't be less than 1.6.2 because the osfamily fact was introduced in that release and puppet 3.x depends in several places on the osfamily fact.

There also were some ruby 1.9 fixes later in the 1.6 series that allow facter 1.6 and puppet 3.x to play well together on ruby 1.9.