repo: pre-push hook for `black`, `ruff`, `mypy`
tsk-r37kzg1464b9 open chore
Adopted by the maintainer from the jour fixe of 2026-11-02 (round jfx-1fze3cfeq55h, req-qqpvjjhq02jx). Every red CI from formatting or types costs a 60–90 min round. Ship an opt-in pre-push hook (documented in CONTRIBUTING.md) that runs black --check, ruff and mypy for the packages a push touches. Files: tools/, CONTRIBUTING.md, .github (unchanged).