Every pure pet is recorded by name and pedigree, as well as where the pet came from.
Every hatched pet is also recorded by name and pedigree, plus the full stats and known talents of both parents including the order that their talents appeared. Any hidden talents that are discovered through later hatches are back-filled.
When I do a new hatch, the full lineage of the parents is noted (so I know who grandparents are, great-grand, etc.). Also the order that talents appeared on both parents, so I have an easier way to track which talents crossed into the baby hatchling's talent pool.
All hatchlings that I can tell I won't be training are noted as such. Then I decide where to put them and make a note of which wizard has the pet, and which house/part of the house the pet can be found in.
Hatchlings that are trained usually go to teen first, then I note if I stopped due to a bad talent, or continued to adult.
If a pet gets 2 or 3 amazing talents clustered, I will write SEED PET next to their name and keep them in special pens where only pure or seed pets go. Those pets are used to mix talents when developing 'designer pets.'
So basically, all my breeding pets are kept together in the same place, and in the notebook I write down where every pet is located in case I need to find it or wonder what I did with it. Or, when I realize I had an amazing pet running around my garden untrained for a year, because it dropped randomly somewhere and I never bothered to look it up.
Rowan Ashcloud (oh look, a pretty angel pet, I'll put her in my garden) Emma Ravensong (are you kidding me?! I need that Seraph!!!) Alia Misthaven (Emma would have gotten the Seraph faster if Rowan kept better track of her pets!)