Commit Graph
1 Commits
Author SHA1 Message Date
avandClaude Opus 5 5067bc2048 гейт коммита: пять машинных проверок встали в pre-commit
Проверки существовали и запускались руками — то есть тогда, когда о них
вспоминали. Каждая из них ловит ровно тот класс поломок, который не виден при
чтении: фронтматтер разбирает загрузчик скиллов, а не человек; копия правила
расходится с домом молча; диаграмма mermaid выглядит правдоподобно и падает на
рендере; ruff и pyrefly стерегут ноль внешних зависимостей, без которого
tasks.py и docs.py перестают работать в чужом проекте. Полагаться на память в
таком наборе — значит узнавать о поломке от того, кто скачал плагин.

Ставится lefthook (конфиг в lefthook.yml, `lefthook install` один раз на клон),
пять задач в parallel. Glob разводит две половины: правка одних скриптов не
платит за рендер диаграмм (~15 секунд), правка документов не гоняет линтеры.
Внутри своей половины проверяется весь репозиторий, а не изменённые файлы — и
расхождение копии, и находка ruff в соседнем файле это ровно тот случай, когда
правка сломала не себя.

Два свойства названы в README и в шапке конфига, чтобы не выяснялись отладкой.
Первое: судится рабочее дерево, а не индекс — скрипты написаны как обход
репозитория и про git add не знают, поэтому частичный коммит при грязном дереве
проверяется по тому, что на диске. Второе: обход разовый — LEFTHOOK=0, и он
законен ровно для случая, когда найденное нечем чинить прямо сейчас.

Заодно поправлена строка README про диаграммы: «поэтому он не в гейте, а в
руках того, кто правит диаграмму» — с этой правкой она перестала быть верной.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 09:24:37 +03:00