What
bin/test-polars.sh selects tests via an explicit POLARS_TEST_FILES allowlist rather than by path/pattern. A new graphistry/tests/compute/gfql/test_engine_polars_*.py file is therefore not run by any lane until someone adds it to that list.
The polars lane is the only one of the combined CI lanes with polars installed, so it is the only lane that can execute graphistry/compute/gfql/lazy/engine/polars/* at all. If a polars test file is unregistered, its assertions never execute anywhere.
How it surfaced
PR #1794 added test_engine_polars_varlen_divergence_1787.py with 22 passing, mutation-checked tests. They asserted the right things and passed locally. But changed-line-coverage failed at 76.92% with exactly the three new return None decline statements uncovered — because no lane ever ran the file.
The tests were real; the lane simply never saw them. Registering the file took the changed-line coverage from 10/13 = 76.92% to 13/13 = 100%.
Why it matters
The failure mode is silent and inverted from what you'd expect: the author sees green tests locally and a passing PR, while CI executes none of them. Nothing warns that a test file is unreferenced.
Here it was caught only incidentally, because the changed-line coverage gate happened to be measuring the same lines those tests cover. A polars test file added alongside changes that didn't trip a coverage gate would go unnoticed indefinitely — and would keep "passing" forever.
This is the same shape as #1791 (the type gate runs uvx mypy in an isolated env, so the locked stubs are invisible and it reports success unconditionally): a gate that looks green because it is not actually looking.
Suggested fixes
- Cheapest, highest value: a check that every
graphistry/tests/**/test_engine_polars_*.py on disk appears in POLARS_TEST_FILES, failing CI on a mismatch. Turns a silent omission into a loud one.
- Or switch the lane from an allowlist to a pattern/path selection with an explicit denylist for the genuinely-excluded files — the deny list is small and its entries are deliberate, unlike the allow list which has to be remembered on every addition.
- Audit the current list against disk: this issue is evidence that at least one file was missing; there may be others already dark.
Worth checking whether bin/test-*.sh for the other lanes share the pattern.
🤖 Generated with Claude Code
https://claude.ai/code/session_015YsqAZQLbqjSDrYSFz2GoB
What
bin/test-polars.shselects tests via an explicitPOLARS_TEST_FILESallowlist rather than by path/pattern. A newgraphistry/tests/compute/gfql/test_engine_polars_*.pyfile is therefore not run by any lane until someone adds it to that list.The polars lane is the only one of the combined CI lanes with polars installed, so it is the only lane that can execute
graphistry/compute/gfql/lazy/engine/polars/*at all. If a polars test file is unregistered, its assertions never execute anywhere.How it surfaced
PR #1794 added
test_engine_polars_varlen_divergence_1787.pywith 22 passing, mutation-checked tests. They asserted the right things and passed locally. Butchanged-line-coveragefailed at 76.92% with exactly the three newreturn Nonedecline statements uncovered — because no lane ever ran the file.The tests were real; the lane simply never saw them. Registering the file took the changed-line coverage from
10/13 = 76.92%to13/13 = 100%.Why it matters
The failure mode is silent and inverted from what you'd expect: the author sees green tests locally and a passing PR, while CI executes none of them. Nothing warns that a test file is unreferenced.
Here it was caught only incidentally, because the changed-line coverage gate happened to be measuring the same lines those tests cover. A polars test file added alongside changes that didn't trip a coverage gate would go unnoticed indefinitely — and would keep "passing" forever.
This is the same shape as #1791 (the type gate runs
uvx mypyin an isolated env, so the locked stubs are invisible and it reports success unconditionally): a gate that looks green because it is not actually looking.Suggested fixes
graphistry/tests/**/test_engine_polars_*.pyon disk appears inPOLARS_TEST_FILES, failing CI on a mismatch. Turns a silent omission into a loud one.Worth checking whether
bin/test-*.shfor the other lanes share the pattern.🤖 Generated with Claude Code
https://claude.ai/code/session_015YsqAZQLbqjSDrYSFz2GoB