The only thing that worked was a standing instruction and periodic system reminder injected from the harness:
"If any assumption doesn't hold, if there's a fork in the road, any architectural decision needs be made, STOP and report back to the user. Do not try to push through the problem."
This has worked remarkably well for me. Now I have to think a whole lot more. It's much slower, yes, but I don't really see any other way that doesn't end up in garbage.