I'm now ensuring that we can see the exception output and returned results from run tasks, and touched up the interface to look slightly nicer. Also updated the doc strings for the example tasks to include links to example invocations. In addition, successive calls to shovel.load() now check for the last-modified time, and record it so that imports are quick unless the definitions have changed. It makes it easier for the shovel-server to then keep up to date with the tasks it's serving.
The source of this bug is that if defaults were present for an argument, and the argument as provided on the command line in the verbose syntax (with --), then the value would be supplied with both the default value, and as a keyword argument to the function. The solution was to just go through arguments, and if there ist a corresponding argument in keyword arguments, to pop it off and put it in.