Require Reproducibility or a justification.
Previously we only "recommended" reproducibility. This was both very weak and also unenforceable. Now we require Reproducibility unless there is a justification why it is not. This is a much stronger motivation to make things Reproducible: it is the path of least resistance. Furthermore, this can now be checked in an automated way: either the "reproducible" bit is set or the "justification" is non-empty. We will likely want to have an enum of valid justifications, but that will be decided once we write detailed builder requirements.