> Where it breaks down is any task where you discover the requirements during implementation
Often you can find these during design. Design phases felt like a waste of time when you could just start coding and find the issues as you go. Now I find it faster to do a detailed design, then hand it over to agents to code. You can front-load the hard decisions and document the plan.
Sometimes the agent might discover a real technical constraint during dev, but that's rare if the plan is detailed. If so you can always update the plan, and just restart the agent from scratch.
This is my (cheesily named) process: https://github.com/scosman/vibe-crafting