Better logic for retrying a failure to plan a circuit

At !426 (comment 2789216) , @Diziet notes that our logic for retrying a failure to make a plan for a circuit is pretty busted, and suggests:

Whether to retry, and when, seems like a property of the error, as you have implemented in your reworked code. How about we add a ticket for doing that, and making this loop ask the error about retrying?

Seems like a good idea to me.