The problem is always maintainability, which can only be achieved through human understanding of code.
Looking at an architecture, module boundaries, and comparing the organization to the domain is the part LLMs don't do well and is unironically difficult for humans. The less you care about the domain (ie having a mental model), the harder it is.