Done. I created `.github/workflows/lint.yml` with a `lint` job that runs on pushes to `main` and on pull requests. It checks out the code, sets up Python 3.12, installs ruff, and runs `ruff check .` — which exits non-zero when it finds any lint violations, failing the build.

[exited with code 0]
