So, you are saying that the error should be removed from a Task if it has been run later with success, for example:
1. Task 1 success
2. Task 2 fail - jump to Task 1
3. Task 1 condition causes jump to Task 3
4. Task 3 condition causes jump to Task 2
5. Task 2 runs with success
Now, the job is success? What I am saying is that VisualCron will never know if your Job really was a success or not when it jumps around between Tasks.
Currently it works like this:
1. if any task has failed the job has failed
2. if a Task is retried and then succesfull the job is succesful
3. if a Task is failing and then uses Goto the job fails
So, an alternative would be to make a list of all Tasks that are being run within a job process. At end, check all results. If Task 2 has failed sometime but later succeded - some time the Job is success. This is a big change and may have consequences. Don't know if there is any better solution.