Your third developer just built the third version of the same table.
Nobody did anything wrong. The product grew, the team grew, and everyone solved the screen in front of them.
This is what "outgrown its first design" usually looks like. Not one broken screen, but small differences that add up: three tables, two ways to filter, a button that means something different on every page.
The fix isn't a big redesign. It's deciding once:
→ one table, with every state: empty, loading, error
→ one way to filter and sort
→ a spec your developers can build from without guessing
Then the fourth developer builds it right the first time.
How do you handle a component that needs an intentional exception? I'd want that exception scoped to the component, so the agent doesn't start using it across the app.