Any drudgework you repeat two or three times should be encapsulated or scripted away, deterministically.
LLM output sort of “vendors in” smart macros (for lack of a better description) by saving the actual output of the LLM. In that sense, they serve different purposes.
And btw AI is also terrible with this, because they learned from the same code written by the people who make these mistakes all the time. I need to write detailed explanations for them all the time about how to use tools/frameworks/language features properly, because majority of examples in their learning data are simply a huge pile of technical debt. They could never created anything proper without a step by step rulebook, and examples written manually.
Turns out LLMs are REALLY good at "make me this thing that is 90% the same as another thing I've built / you've seen before, but with this 10% being different"
Also, by your own metrics, laziness is a virtue, and copying, pasting, and editing is much easier and lazier than maintaining boilerplate tools. So it's not even following your 3 commandments.
I mean, so is paying someone to write the code for you, but you're not really an engineer at that point, are you?
Engineering involves using stable, deterministic abstractions and components and understanding the architecture and ramifications of your design on a deep level. Yes, you can outsource this work. But don't delude yourself into thinking that you're still in the same profession.
(Of course, maybe you always thought of yourself as an entrepreneur and only saw coding as a means to an end. I think a lot of people are coming to that conclusion.)