I've been developing with pyblish as part of the work @tokejepsen has done here on the Bait pipeline. There are a couple of observations I've made so far which I thought I'd bring up.
One which seems confusing to me is the use of "repair" type actions. If something can be repaired, why not repair it during a publish - rather than providing a right-click to ask a user to? This seems to lead to an unnecessary bad user experience. It also seems that repairing leads to a framework which isn't designed in a TDD manner and perhaps leads to users never correcting their behaviour.
For the crew here, it seems like the default reaction when encountering a failure is to immediately attempt to repair - without going into details of what caused the errors. So, if we're going to allow a user to short-cut a known failure, we might as well go ahead and repair during validation and only throw errors following it?
A possible alternative could be documenting the known failure within a plugin and providing a guide for a user on how to correct the problem, accessible from pyblish.