Skip to content

v1.108.76 - Quality gates: CI lint (ruff) + coverage floor

Choose a tag to compare

@jgravelle jgravelle released this 22 Jun 20:30
· 23 commits to main since this release

Phase 3 WI-3.1 — the CI gates that stop debt from landing. New lint job runs ruff check src/ once (platform-independent); [tool.ruff.lint] keeps high-signal pyflakes + pycodestyle-error rules and grandfathers the codebase's deliberate patterns (E402 lazy imports; a few style codes), with init.py re-exports exempt from F401. The test job now runs --cov-fail-under=74 (current ~76%) so coverage cannot erode silently. Applied ruff's safe autofixes across 49 modules (83 findings: unused imports, empty f-strings, redefinitions, safe dead-code) with no behavior change. Fixed two real findings: an undefined IO annotation in server.py and a duplicate .sh dict key in storage/sqlite_store.py. Deferred ratchets: F841 (~31 pre-existing dead locals) and a mypy/pyright report-mode step. Full suite 4717 passed / 10 skipped.