Villager Breeding and Trading
Villagers breed when they are willing, can reach enough valid beds, and have access to food. Bread, carrots, potatoes, and beetroot can make villagers willing; throwing food into a small breeder is usually more reliable than waiting for villagers to share it.
A breeder needs an unclaimed bed with enough open space above it for the baby villager. Villagers search for points of interest, including beds and workstations, and can link to a different one than the block you expected. Build breeders away from other beds and workstations, then add the destination workstations after transport.
Trade once to lock a villager's profession and offers. A novice librarian can be rerolled by breaking and replacing its lectern before the first trade; after trading, the offers are fixed. Curing mechanics and demand can change prices, but they do not replace the need to control workstation ownership.
As a concrete layout, put three beds behind a breeder, feed two adult villagers, and use a trapdoor or water stream to move babies into a holding area. Keep the trading hall's beds and lecterns separate so new villagers cannot claim them during breeding.
