A red test in CI looks precise.
Something failed. The pipeline stopped. There is a screenshot, a stack trace, and perhaps a video.
But then someone opens the screenshot and sees a loading spinner. The trace says the locator was not found. The same test passes locally. Rerunning the job makes it green.
At that point, the team does not really have a failed test. It has an unresolved event.
That distinction matters more now than it did a few years ago. Browser applications are more dynamic, CI environments are more disposable, and test suites increasingly include AI-generated steps, assertions, locators, and repair suggestions.






