I got into a bit of an argument a while back when I used the word "crass" to describe some of the code decisions I've seen Claude make (in someone else's project that I have to work with).

But it is how I feel and it feels like the right word for the job. Because as you say, good code projects start out with good decisions.

It's like when you see a CAD design with a sequence of features that exist only to fix problems caused by starting from the wrong principles or the wrong baseline.

Sure the resulting part may end up identical as a solid for that specific need, but it could have been done in a way that was more robust, simple, easier to understand and modify, and where the design doesn't break in an unexpected way due to a small change of an early measurement.

(CAD has made my instincts much more visible to me)

Exactly, and even when humans make bad decisions there is some friction, I feel that llm's don't have/notice that friction, they just bulldoze without caring about anything else.

Yeah. IME, LLMs actually introduces a lot of friction when you want to improve the design. They are 100% biased towards the status quo.

Not my experience. It does depend on the scale of the project, but for tens of thousands LOC, it's really good at taking instructions for architectural redesign.

LLM will take stuff at face value. If you tell it it's good, it'll gladly abide. Similarly if say it's crap it'll so the complete opposite.