Yeah, after some thinking I am starting to realize that Linus' take of AI being like compilers is kind of true.
Vibecoding maintainable code requires providing the LLM a specification. It's still coding, but you now have the liberty of just providing the spec as opposed to worrying about syntax. Since they are non deterministic and love to cheat you still need to review though