I've got a basic sketch of a streamlined release cutting process, but when I was checking over all of the components, I discovered a show-stopping defect in MOTR that I need to address before I can use it in the process:
MOTR exits with return code 0 if it gets all the way through its tasks even if some of the tasks failed. That's obviously pretty bad, because it's never going to be able to block a release like that. Looks like what I want is to set the exit code to 1 after everything is printed, if there are any failed or aborted tasks.
I'll write tests for this tomorrow. It should be a simple change, but I want to be pretty thorough, which I can't be when I'm tired.
I'll wrap up early and try to get some rest.