Why
KineGrant has no enforced linter yet, so small style and quality issues can slip in. A linter also strengthens the OpenSSF Best Practices warnings criterion.
Scope
- Add
ruff to a new lint extra in [project.optional-dependencies] and pin it.
- Add a CI step in
.github/workflows/ci.yml that runs ruff check src tests.
- Run ruff locally, fix only safe/mechanical findings (unused imports, undefined names, obvious formatting), and make the CI step green.
- Do not change runtime behavior or rename public APIs.
Acceptance
ruff check src tests exits 0.
- CI lint step passes on Python 3.12.
- No functional test changes unless required by the fixes.
Why
KineGrant has no enforced linter yet, so small style and quality issues can slip in. A linter also strengthens the OpenSSF Best Practices
warningscriterion.Scope
ruffto a newlintextra in[project.optional-dependencies]and pin it..github/workflows/ci.ymlthat runsruff check src tests.Acceptance
ruff check src testsexits 0.