I'm 99% certain these are unavoidable, due to the way diff works. This tripped me up in the past, and drdrang was able to figure out what was going on:
The answer lies in how
diffworks. Whendifffinds a difference between the two files, its exit code is 1. Nonzero exit codes typically indicate an error, so when Keyboard Maestro sees that exit code, it bails out. If you look through theEngine.logfile, you'll see something likeTask failed with status 1which is true but not very helpful if you don't knowdiff's exit codes.The workaround is to click on the gear icon in the upper left corner of your Execute Shell Script action and change the settings on "Failure Aborts Macro" and "Notify on Failure" from ✓ to ×. That should get you the output you expect.
So that's what I have to do whenever I use diff (and a couple other commands, as it turns out). But I don't know of any way to block the log entries for these things that aren't really errors.
-rob.