- в 0.16 расширился набор правил по умолчанию: 29 срабатываний там, где 0.15
давал "All checks passed"
- subprocess.run без явного check (PLW1510) — проставлен check=False там, где
код и так разбирает returncode сам
- слепые except Exception в оркестраторе бэкапов и скриптах помечены
noqa: BLE001 с объяснением, почему перехват намеренно широкий
- EXE001 и TRY004 отключены в pyproject: бит исполняемости в репозитории
ничего не решает, а ValueError при разборе config.toml — про содержимое
конфига, а не про тип аргумента
- ruff format в 0.16 форматирует python внутри markdown, из-за чего
переформатирован пример в docs/drafts/gitea-runner-on-demand.md
- набор правил ruff расширен по канону rp-local-env (ANN, PTH, C90, G и др.),
в lefthook добавлен job ruff check --fix
- код приведён под новые правила: логирование через %s вместо f-строк,
os.path заменён на pathlib, run_backup_process и initialize разбиты
на функции по порогу цикломатической сложности