Store alongside attrpath + nixpkgs revision - unknown (for archs not built by hydra, or nixpkgs revisions that were in-between two hydra evals) - manual-cannot-be-made-to-build (eg. if upstream doesn't support it) - build-broken - builds - passes-tests (passthru.tests) - manual-tests-passed (for manually testing) if unknown, fetch last known build status if passes-tests, look if history looks like (passes-tests)* manual-tests-passed, and if so say how long it's been (if not, say for how long it's been passes-tests since the last lower-level build) if build-broken, look if history looks like (build-broken)* manual-cannot-be-made-to-build, and if so say how long it's been (if not, say for how long it's been build-broken since the last higher-level build) database should be auto-filled by hydra + committers could also manually fill statuses, esp.: - build-broken -> manual-cannot-be-made-to-build - passes-tests -> manual-tests-passed - unknown -> any other level (so exotic archs know what works) improving on an arch would basically be taking builds that are build-broken but don't have a manual-cannot-be-made-to-build history, and trying to either fix them or to mark them as manual-cannot-be-made-to-build Further ideas: - hydra could compute a probability of success based on the history of the build, to change the likelihood it has of rebuilding a package, thus economizing some compute - user-facing nix could use said probability (instead of the above “last known status + metadata” idea) to evaluate working likelihood