# Lint gate. `ruff check .` must exit 0, so CI can gate on it and a new finding means a new defect. # # Ruff's defaults flag about 100 things in this repo. Most are deliberate style in workers that must # survive one bad panel rather than fail clean. Every rule turned off below carries its reason, so an # ignore stays a decision rather than a shrug. Delete an entry the moment its reason stops holding. [lint] ignore = [ "I001", # import order: 25 files of churn, no behaviour change "BLE001", # a worker catches Exception on purpose, so one bad panel cannot kill the stage "SIM115", # short-lived open().read(); the handle drops with the refcount "S110", # try/except/pass in best-effort cleanup, where the no-op IS the handling "ASYNC210", # ffmpeg, ffprobe and MinIO run synchronously inside async endpoints. Real, and "ASYNC221", # already recorded at caveats/audit-open.md#blocking-event-loop with [#199]. The fix "ASYNC230", # is `def` over `async def` per handler, which is a refactor and not a lint fix. "RUF046", # int(round(v)) says "pixels" out loud in the render geometry "UP031", # the ASS subtitle template is %-formatted; f-string braces collide with its {\an} tags "RUF059", # unpacking a whole bbox and using half of it beats indexing into it "RUF007", # zip(x, x[1:]) reads better here than itertools.pairwise "PLC3002", # one immediately-called lambda, in an audit script ]