That's not ugly at all, and similar to the way I've handled that issue in the past.
But.....your final "run-command-line" will never execute, because it's impossible for BOTH green-arrows to be true.
Remember.....ALL inputs to an action must evaluate to "true" before the action can be executed......so.....
The arrow from the "Compare" action should be unconditional and the arrow from the "Wait..." action should be on "Success or Cancel".
Does that make sense? I know the logic is not always the simplest, but it does make sense when you get used to it