Hi folks - I had a thought I wanted to bring up to you all.

I frequently end up with Guix attempting to build packages on my lower-powered machines when there are no substitutes available. However, a common reason that substitutes aren't available for a package is that the package failed to build in CI! And I usually discover this when the package fails to build locally, usually for the same reason, and usually after a relatively long build process.

Would it make sense to have some mechanism for substitute servers to be able to provide a sort of "non-existence proof" for a given package? Something that the CI system could publish to indicate that its build attempt for that package failed, and that clients could use to optionally abort without attempting a local build?

My reasoning for this is that, especially on some of my smaller ARM systems, a build attempt for some of these larger packages can take several hours, and if it's likely to fail I'd really prefer to know that ahead of time.