Recently I tried to update HAOS, but it didn’t succeed for unknown reason. It rolled back to the previous version, but still offered the update without warning… I just tried it again. That bricked my SSD. A very big warning sign would have stopped me, I think.
Tbf, if an upgrade grenades my system and rolled me back to a version previous to the one I was already running, the last thing I would do is to try it again without doing any investigative work.
To implement something like you are describing (update failed, hassOS is rolled back to a random previous version, now be aware of that and warn the user that they should investigate things and not keep pressing update), seems like overkill. At the end of the day, the user needs to know how to update things and what to do if things don’t work as expected, and not in just regards to Hass.
If you have backups, just do a restore to get yourself back to square one.
When a rollback happens, the system is restored to an older state. That older state knows nothing about the future and cannot know what you tried in a future state.
In other words, to know that you rolled back, you would need to add new information to the backup file. Modifying a backup is bad practice.
I don’t think a rollback restores a backup. For the OS updates, I think it uses a separate boot entry for the updated version and if that fails, switches back to the old boot entry.
Regardless, a “failed to boot” type log entry could be written to a special file, and upon HA startup if it detects that file, issue a repair saying to investigate the failure.