Severity: High. Both CI jobs break with no code change.
requirements-dev.txt has ruff>=0.4.0,<1, the repo has no ruff config, and both CI jobs (test and test-gpu) rebuild their images from scratch on every push.
| ruff |
ruff check . on main (39e90eb) |
| 0.15.7 |
All checks passed |
| 0.16.9 (what a fresh build installs today) |
11 errors: PLW1510 ×6 (subprocess.run without check), I001 ×3, SIM113, RUF059 |
The last green run was 21 Mar 2026.
Suggested fix
- Pin the dev tools exactly (
ruff==0.15.7, pytest==8.4.2) and upgrade them on purpose (Dependabot).
- Add
pyproject.toml with an explicit rule set:
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
visualmic.py is tab-indented while the tests use spaces. Pick one style (and W191 if tabs are kept) so the formatter and linter agree.
- Optionally run a weekly scheduled CI job to catch drift early.
Acceptance criteria
Severity: High. Both CI jobs break with no code change.
requirements-dev.txthasruff>=0.4.0,<1, the repo has no ruff config, and both CI jobs (testandtest-gpu) rebuild their images from scratch on every push.ruff check .onmain(39e90eb)PLW1510×6 (subprocess.runwithoutcheck),I001×3,SIM113,RUF059The last green run was 21 Mar 2026.
Suggested fix
ruff==0.15.7,pytest==8.4.2) and upgrade them on purpose (Dependabot).pyproject.tomlwith an explicit rule set:visualmic.pyis tab-indented while the tests use spaces. Pick one style (andW191if tabs are kept) so the formatter and linter agree.Acceptance criteria