Randomize specs
Don't check for promised keys when the context failed

We had to put dummy objects (nils) into the context when
the action had to abort early with a failure. We can now
fail the context without fulfilling the action's promise.