CI quality gates
A red check blocks the merge, and I test that the gate can actually fail.
A pull request is ready when lint, types, build and tests pass in CI. A failing check blocks the merge; it is not a suggestion to look at later.
A gate that never fails is not a gate. Where I can, I add a negative control: a deliberately broken build that the gate must reject, so the pipeline proves it still bites.