What's the difference between constantly pushing small PRs and just committing to master?
If someone writes a mess of a PR, it will get hung up in the code review process until it is clean. The only people it will affect are the writer of the PR and the reviewers.
If someone writes a mess of a commit and pushes it directly to master, it affects everyone who wants to push.
What's to stop the PR process pushing something that is "a mess" ? We're not all knowing and make mistakes.
The beauty of software is that it can be changed, so if someone pushes up a "mess" then it can be fixed.
In practice, if you trust your team... then people wont be pushing "messes". Sub-optimal? Sure, but its not a big deal.
The problem with this kind of ceremony is its trying to optimise for perfection, which no one is capable of. What you should be optimising for is fast feedback loops so you can quickly iterate to something that resembles useful software.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.