Programmer Simon Willison drew a line: "If an LLM wrote every line of your code, but you've reviewed, tested, and understood it all, that's not vibe coding. That's using an LLM as a typing assistant."
His rule: "I won't commit any code to my repository if I couldn't explain exactly what it does to somebody else." Vibe coding deliberately skips this step.