Large suites tend to develop the same three diseases: selectors nobody governs, tests nobody can justify, and a refactor everyone is afraid to start. None of them are bugs. They are entropy, and entropy needs a process rather than a fix.
Disease one: selector drift.
Four teams, four conventions. Some tests use data-testid, some use CSS classes, one file uses XPath through a plugin someone added in 2023. A UI redesign breaks two hundred tests and nobody can estimate the repair.
The cure is a written policy plus a lint rule. The policy is one paragraph: test IDs are required on interactive elements, named data-testid, in kebab-case, added by the developer writing the component. The lint rule is what makes it real: