Earlier quoted context omitted.
Rollbacks are only going to work reliably if packages are immutable, isolated, and its dependencies deterministic. I don't see Bedrock Linux as a particularly better target for supporting rollbacks compared to other distros as it doesn't satisfy any of those properties. Not saying that it's a bad thing, but it just doesn't seem what Bedrock Linux is designed to be good at.
Ah, when I say rollbacks, I mean when you go to upgrade, you duplicate the strata (OS install), and the do everything in the new strata. Then if anything went wrong, delete the new strata and switch back to the one you branched from.
When a new major release of a non-rolling distro (e.g. Debian) is out, I make a new stratum for the corresponding release. I slowly migrate things over, a few packages at a time. If anything doesn't just-work with the new release, I can easily revert to getting the given functionality from the old one until I've made the necessary adjustments. Once I have everything working confidently with the new release, I can remove the old one.
Bedrock offers a configuration file that declares which packages should come from which stratum [0]. A section of it might look something like this:
# e-mail
arch:pacman isync # mbsync
buster:apt msmtp
buster:apt mutt
buster:apt urlview
When Debian 11 Bullseye is released, I can `s/buster/bullseye/`: # e-mail
arch:pacman isync # mbsync
bullseye:apt msmtp
bullseye:apt mutt
bullseye:apt urlview
then try out my e-mail setup. If it works, I'm good; if not, I can revert. Once I have it working, I can move on to the next stanza in the described configuration file.That having been said, I don't think this compares favorably to NixOS's much stronger rollback system here. It's a nice bonus for people who otherwise are interested in Bedrock.
[0] https://bedrocklinux.org/0.7/commands.html#pmm-world-file