Because Tolstoy said
Success builds are all alike;
every failed build is failing in its own way.
Because Tolstoy said
Success builds are all alike;
every failed build is failing in its own way.
The mechanism to mark failed builds is meta.broken because a failure can happen for multiple reasons including general flakiness of a package build or the underlying kernel of the build machine.
Here’s some previous discussion on the subject: Nix caches successful builds. Why doesn't it cache unsuccessful builds?