Ok, I tested some more. Adding endurance didn't help jog things along; just maxed out with no bonus. It's not just taurus, see examples below.
I did monkey with this code (lost the tabs only just now in the copy/paste to below), could that have messed it up? I was trying to make it so sometimes mom or dad had more weighting in their offspring.
[constructor.gd]
func build_genealogy(person, mother, father):
var percent = 0
var parentgenechance = rand_range(0,100)
for race in genealogies:
if parentgenechance >= 75:
person.genealogy[race] = round((mother.genealogy[race] * .4) + (father.genealogy[race] * .6))
if parentgenechance <= 25:
person.genealogy[race] = round((mother.genealogy[race] * .6) + (father.genealogy[race] * .4))
else:
person.genealogy[race] = round((mother.genealogy[race] + father.genealogy[race]) * .5)
percent += person.genealogy[race]
I also played with the stat bonuses themselves but only subtle changes (eg. .6 instead of .4 on existing stat bonus magnitudes only). I'm doing all of this with pregnancy accelerated to 3 days btw.