Pair programming, live coding sessions and study sessions. When we start implementing something we define the definition of done and the acceptance criteria. When the code passes linting and meets the acceptance criteria it is accepted. If it doesn't then it's clear why not. There is no such thing as a commit needs improvement. It either passes or fails based on the above.
Does your team have norms around code quality? How are these maintained?
What happens when a commit needs improvement? Does the team discuss it somehow? Does someone fix it with a follow up commit?