

But it was my fault, for generating an initramfs without free space in /tmp, which caused it to fail.
I really don’t think that was your fault. A critical build process that’s not checking for resources and not failing gracefully and leaving the machine unbootable is not the user’s fault.
A build+install can fail for many reasons. It’s actually annoying how many critical system updates on Linux don’t use a staging process and a sudden power-off at the wrong time can leave the machine completely crippled.
Some distros have taken to doing a BTRFS snapshot before they start the upgrade but (a) they’re far and few in between and (b) that still doesn’t fix the upgrade process, it’s just sweeping the problem under the carpet.
This should be built-in on every modern distro.