It feels like a mature software project is one where bugs require multiple commits to fix. You've hammered out the basic issues, so the remaining issues are often weird interactions between components.