Development checks: ruff lint and parallel tests #18

Manually merged
vinny merged 0 commits from vinny/dev-tools into master 2026-10-13 20:32:09 -04:00 AGit
Owner

Closes #13 (the CI runner part is left out, as decided). - tools/check.py lints with ruff's pyflakes rules (pyproject.toml: F and E9) and runs the suite across processes with pytest-xdist (-n auto --dist loadfile). Both are pinned in requirements-dev.txt and the test extra; without ruff the check says the lint was not run. - The full check now takes about 2.4 minutes for the 2,240 tests. - First lint pass: 64 unused imports and the dead variables removed from src, tools and tests. One real fault fixed: tools/qualify_reads.py's history check used a generator variable outside its generator, so a record from another timeline raised NameError instead of being reported. - Not linted or rewritten: the tester's byte copies (src/cmonet/library, src/cmonet/builder/lua), the golden bundles (tests/fixtures) and the cited verification scripts (docs). Tests may import fixtures that pyflakes reads as unused. Check: CHECK PASSED on the working tree before commit. 🤖 Generated with Claude Code

Closes #13 (the CI runner part is left out, as decided). - `tools/check.py` lints with ruff's pyflakes rules (`pyproject.toml`: F and E9) and runs the suite across processes with pytest-xdist (`-n auto --dist loadfile`). Both are pinned in `requirements-dev.txt` and the `test` extra; without ruff the check says the lint was not run. - The full check now takes about 2.4 minutes for the 2,240 tests. - First lint pass: 64 unused imports and the dead variables removed from src, tools and tests. One real fault fixed: `tools/qualify_reads.py`'s history check used a generator variable outside its generator, so a record from another timeline raised NameError instead of being reported. - Not linted or rewritten: the tester's byte copies (`src/cmonet/library`, `src/cmonet/builder/lua`), the golden bundles (`tests/fixtures`) and the cited verification scripts (`docs`). Tests may import fixtures that pyflakes reads as unused. Check: `CHECK PASSED` on the working tree before commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
tools/check.py lints with ruff's pyflakes rules (pyproject.toml) and runs
the suite across processes with pytest-xdist (-n auto --dist loadfile),
both pinned in requirements-dev.txt and the test extra; without them it
says the lint was not run. The suite takes 2.4 minutes in parallel.

The first lint pass removed 64 unused imports and the dead variables in
src, tools and tests, and found one real fault: qualify_reads.py's history
check named a generator variable outside its generator, so finding a
record from another timeline raised NameError instead of reporting it.
Tests may import fixtures that pyflakes reads as unused (F401/F811), and
the tester's byte copies, golden bundles and cited verification scripts
are never linted or rewritten.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 0.7.7 (dev-tools)
Some checks failed
check / check (ubuntu-latest) (pull_request) Has been cancelled
check / check (windows-latest) (pull_request) Has been cancelled
fbad0e8f54
Metrics test: wait past the catch-up window of the stream's own connection
Some checks failed
check / check (ubuntu-latest) (pull_request) Has been cancelled
check / check (windows-latest) (pull_request) Has been cancelled
ed6bdf7118
Under parallel test workers the journal stream could open after the fixed
1.3 s sleep began, so the entry fell inside that connection's catch-up
window and no delivery sample was recorded (seen once in three runs).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
vinny manually merged commit ed6bdf7118 into master 2026-10-13 20:32:09 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
vinny/CMOnet!18
No description provided.