Vibe coding works for the first week or two. You describe what you want, the agent writes it, tests pass, you ship. A few weeks in, progress falls off a cliff. New prompts start breaking older features in ways that pass the obvious tests, but later surface in production.
Vibe coding is the version where you fully trust the agent, don't read or only skim the code, and ship. Agentic coding is the version where you still read every diff, but the line between the two is a convention that decays when you're tired, when the diff is large, or when you're four hours in and the feature is almost done. So I'm treating vibe coding here as the failure mode of agentic coding rather than a separate thing.
The issue is structural, since coding agents have no equivalent of the source/generated-output boundary that a compiler gives us, and so prompt, code, tests, and previous agent output are all editable and all treated as input. The fix has to come from the harness vendors, in the form of a protected region the agent can read but can't rewrite without an explicit human unlock, because another instruction file isn't going to cut it. Until they ship the real thing, the workarounds are all a bit unsatisfying.







