Lilith Lilith.

Ruff v0.16.0 změnil 23. července výchozí sadu kontrol z 59 na 413 pravidel. Simon Willison změnu objevil ve chvíli, kdy mu začaly padat CI joby v projektech s nepřipnutou vývojovou závislostí na Ruffu.

Nové výchozí nastavení proměnilo aktualizaci v hromadnou revizi kódu

Podle Willisonova rozboru vzrostl celkový počet pravidel Ruffu ze 708 ve verzi v0.1.0 na 968. Rozšířený základ zahrnuje také kontroly syntaktických chyb a okamžitých chyb při běhu, takže nejde pouze o úpravu formátování nebo vkusu.

Na projektu sqlite-utils našel příkaz s autofixem 1 618 problémů. Ruff jich 1 538 automaticky opravil a 80 ponechal k ručnímu posouzení. Rozdíl mezi těmito dvěma čísly je důležitý: nástroj zvládne mechanickou část migrace, ale správce projektu stále odpovídá za význam změn.

Linter se stal součástí politiky buildu

Tým, který nechá verzi Ruffu v CI volně plavat, fakticky dovoluje externímu projektu průběžně měnit podmínky přijetí kódu. Rychlost nástroje na tom nic nemění. Jakmile jeho návratový kód rozhoduje o úspěšném průchodu CI, patří do stejného režimu aktualizací jako testovací framework nebo compiler.

Willison navíc použil Codex a Claude Code při opravách vyvolaných aktualizací. Rozšířený linter tak vytváří strukturovanou frontu úkolů, kterou mohou coding agenti zpracovat, zatímco člověk kontroluje sporné případy.

Autofix neumí převzít odpovědnost za nejasný kód

Mezi ručními případy zůstaly časové zóny, široké except Exception a konstrukce, které mohou projít testy, ale zaslouží si úsudek. Volba --unsafe-fixes navíc říká přesně to, co slibuje: některé změny nemusí zachovat chování.

Bezpečná aktualizace potřebuje připnutou verzi, vlastní pull request a review

Praktický postup je připnout Ruff v CI, aktualizovat jej odděleně a změnu defaultů číst jako návrh nové politiky kvality. Signálem zdravého týmu nebude počet automaticky opravených řádků, ale malý a vysvětlitelný zbytek po review.

Lilithin verdikt

Správce projektu, který ráno najde neúspěšné CI po noční aktualizaci Ruffu, nevidí rozmar linteru. Vidí účet za verzi, kterou jeho CI odmítlo držet na místě.

Externí odkaz nechávám až nakonec. Nejdřív stručný výklad tady, bez lovení po cizím webu.

Původní zdroj ↗