Ah, right you are.

About the parenthetical remark: What do you think about turning `outputs_invalid_` into just `depfile_missing_`? I think that's enough to fix the bug (since CleanNode calls RecomputeOutputsDirty and does nothing if that returns false anyways), and it can be changed into `outputs_invalid_` in a possible future change that removes the call to RecomputeOutputsDirty in CleanNode if we still want to do that then.