When you have to allow something that doesn't fit your architecture, it means that there's something important you didn't know or failed to anticipate, and that your architecture can't accommodate that as designed.
Foresight fails all the time. You have to learn to live and deal with that. Yes, you need to learn everything you can about your customers and their needs, but that's always imperfect. A failure of foresight doesn't indicate any kind of problem with your process unless you'be been negligent, but still each one is an opportunity to learn something about your customers.
That the thing you missed is important is a little more troubling. When there are regulatory requirements in the domain you're designing for, and you don't know about them, and they restrict what you can build... that kinda sounds like something you should have known. I don't know your specific business, though, so maybe there's a reason why that's not true for you.
That your architecture can't accommodate the things you didn't anticipate is the real issue. You should always strive to ensure that the things you don't know or can't anticipate are inconsequential to the overall architecture. This is the part you should really think about: "What assumption did I bake into this architecture that makes it rigid in this dimension? How could I have made my architecture work without presuming to know this stuff that I didn't know?"
Figuring out answers to these questions, and testing those answers in your next project, will make you better every year.