Python CI failures are noisy, tool-specific, and expensive to triage when Ruff, Pyright, and pytest all disagree about what matters first. PyGate turns those gate results into one deterministic Python ...