That’s not really the right framing. Disabling autopush is the conservative, restrictive choice.
Manual push is always ‘enabled’, for all updates. It’s not actually a setting, it’s the basic flow of the update system. If the update reaches the applicable policy requirements - which vary depending on whether it is critical path or not, and what phase the release it’s for is currently in - it may be manually pushed stable, by someone with the necessary privileges (a maintainer of the package, or a proven packager).
Autopush is an additional convenience feature that was engineered in later. Autopush is optional and configurable. Anyone with power to edit the update can set a karma autopush threshold and/or a time autopush threshold. These cannot be set lower than the policy minimums (well…in fact there’s a couple of sneaky ways you could make it happen, but we protect against that). If either autopush threshold is reached, the update gets pushed stable automatically. So, say this update had had a 14 day autopush threshold set - once it reached 14 days in testing it would have been pushed stable automatically regardless of the negative feedback.
The autopush thresholds both default to on - when you create a new update it has a default 3 karma autopush threshold, and a default time autopush threshold of 7 days for non-critpath or 14 days for critpath. So turning them off is, as I said, the conservative choice - it’s basically the maintainer saying “I don’t want to trust autopush for this update, I intend for it only to be pushed stable by a human for whatever reason”.
The rules we have are a pragmatic compromise between “try not to break stuff” and “allow updates to flow without annoying maintainers too much”. Every step along the way from “just allow maintainers to push whatever they like whenever” got some pushback. Any attempt to tighten the policy further would also experience pushback.
It’s important to remember a lot of Fedora maintainers are volunteers so there are practical limits to how many onerous ‘mandatory’ processes they can be put through. If we implement a formal review program for “bad” updates (and for a start you’d have to define that), what do you do if the packager just doesn’t show up? The only lever we’d really have would be to remove packager privileges, which is fine, but…now you have some orphan packages you have to retire or find someone else to maintain, and eventually you wind up with no volunteer packagers, maybe. And removing privileges from people also causes blowback (see the discussion earlier this year around proposed sanctions on a proven packager). It’s never free to poke stuff.
We definitely can consider steps to take in this situation, I just want to emphasize that it’s part of a very-long-running history and there are practical constraints.