That seems like a weird dichotomy between ruff and Jedi. One does linting & formatting, the other code completion, goto-definition, refactoring. With pylsp you can have both: it uses Jedi (in the default config), and has a plugin to call ruff for linting and formatting (according to the doc; I don’t actually use ruff).
There’s been a few of those in the UK; this article quotes
"><SCRIPT SRC=HTTPS://MJT.XSS.HT> LTD
and; DROP TABLE “COMPANIES”;-- LTD
.