commitlint has been sitting in the repo wired to nothing. Hook it up: commit-msg lints the
message, pre-commit formats staged files and blocks direct commits to main,
pre-push blocks pushing it.
The test suite deliberately does not run in pre-commit. It runs in checks.yml on
every PR and locally via `make preflight`, and a full `turbo run test` on every
commit would tax exactly the fast checkpoint commits this repo lives on while
catching nothing the PR gate would not.
A hook is only ever a courtesy — it can be skipped with --no-verify — so CI runs
the same rules over a PR's commits.