1. A method comprising: at one or more computing devices comprising one or more processors and one or more storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising: receiving, via a graphical user interface, an input identifying a base job to be invalidated, the base job having been executed to completion or failure, wherein execution of the base job produced at least one output data object; in response to receiving the input, identifying a set of antecedent jobs of the base job, each of the antecedent jobs in the identified set of antecedent jobs having been executed to completion or failure, wherein each of the antecedent jobs in the set produced at least one output data object that was consumed directly or indirectly by the base job; identifying a subset of the set of antecedent jobs for invalidation; invalidating the base job and the subset of the antecedent jobs; wherein invalidating the base job comprises storing, for the base job, job execution indicia specifying that the at least one output data object produced by the base job is invalid; and wherein invalidating the subset of the antecedent jobs comprises storing, for each antecedent job in the subset, job execution indicia specifying that the at least one output data object produced by the each antecedent job is invalid.