chore: drop the unused geneweaver-testing dependency - #34
Open
belkassaby wants to merge 1 commit into
Open
belkassaby wants to merge 1 commit into
belkassaby wants to merge 1 commit into
Conversation
Test Coverage Report |
belkassaby
requested a deployment
to
jax-cluster-dev-10--dev
September 23, 2026 16:28 — with
GitHub Actions
Waiting
belkassaby
requested a deployment
to
jax-cluster-dev-10--dev
September 23, 2026 19:29 — with
GitHub Actions
Waiting
belkassaby
force-pushed
the
chore/remove-unused-geneweaver-testing-dependency
branch
from
September 23, 2026 19:29
fed9f93 to
6d1a47e
Compare
`geneweaver-testing` contributed nothing to this repository but constrained the whole workspace. It ships seven session-scoped pytest fixtures plus prebuilt test suites. Four conftests wildcard-imported the fixtures, but no test requested any of them, and the prebuilt suites were never imported at all -- so it added zero tests. The fixtures are not autouse, so nothing ever executed. Removing the imports leaves every suite byte-identical: core 48057, db 55886, client 6331, tools 76. It was also already broken here. `package_name_from_pyproject` reads `["tool"]["poetry"]["name"]`, and this workspace is PEP 621 + uv_build, so it would KeyError if requested. That is why the tools conftest hardcoded a `package_submodule_name` override -- a workaround for a fixture chain that cannot read this repo's pyproject. What it cost: it pinned `ruff>=0.2.2,<0.3`, which forced the `[tool.uv] override-dependencies` block (nothing else pins ruff); it capped `pytest<9` and `pytest-cov<5` workspace-wide; and it pulled in black, mypy, radon and tomli, none of which our code imports and none of which CI uses -- CI lints with ruff only. Removing it drops 8 packages and 233 lines of lockfile. Replaces the one assertion worth keeping, as `tests/test_namespace_integrity.py`. `geneweaver` is a PEP 420 namespace package shared by five distributions, and a stray `src/geneweaver/__init__.py` in any one of them shadows the rest: verified by adding one to packages/core, which left core importable while api, db, client and tools all raised ModuleNotFoundError. The upstream check covered a single package; this covers all five, globs for new ones, and anchors paths to the file rather than pytest's rootdir -- which shifts because CI runs the root suite from the repo root and each package suite from its own directory. Also deletes two conftests left with no content, and updates the AGENTS.md setup and lint commands, which still said `poetry install` and `black src tests` -- black is no longer installed after this change.
belkassaby
force-pushed
the
chore/remove-unused-geneweaver-testing-dependency
branch
from
September 23, 2026 19:35
6d1a47e to
f79d493
Compare
belkassaby
changed the base branch from
main
to
feat/G3-750-tools-asynctask-plugin-readiness
September 23, 2026 19:35
belkassaby
requested a deployment
to
jax-cluster-dev-10--dev
September 23, 2026 19:42 — with
GitHub Actions
Waiting
This branch is waiting to be deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
geneweaver-testingcontributed zero tests to this repository while constraining the whole workspace. This removes it, and keeps the one assertion from it that was worth having.It was doing nothing — verified, not assumed
The package ships seven session-scoped pytest fixtures plus prebuilt test suites. Four conftests wildcard-imported the fixtures (
packages/{tools,core,db,client}), but:autouse, so none ever executed;Deleting the imports leaves every suite byte-identical:
It was also already broken here.
package_name_from_pyprojectreadspyproject_toml_contents["tool"]["poetry"]["name"]; this workspace is PEP 621 +uv_build, so it wouldKeyErrorif requested. That is whypackages/tools/tests/unit/conftest.pyhardcoded apackage_submodule_nameoverride — a workaround for a fixture chain that cannot read this repo'spyproject.toml.What it cost
geneweaver-testing 0.1.2requiresblack<25,isort<6,mypy<2,pytest<9,pytest-cov<5,radon<7,ruff>=0.2.2,<0.3,tomli<3. So one unused dependency was:[tool.uv] override-dependencies = ["ruff==0.15.11"]block — nothing else in the workspace pins ruff, so that hack existed solely for this;pytest<9andpytest-cov<5workspace-wide (onlypytest>=7.1.3floors remain now);_format-lint-action.ymlrunsruff checkandruff format --check, not black.Removal drops 8 packages and 233 lines of
uv.lock.What is kept:
tests/test_namespace_integrity.pyOf ~34 prebuilt test functions, one assertion was worth keeping, and it matters more here than it did upstream.
geneweaveris a PEP 420 namespace package shared by five first-party distributions —geneweaver.api(root) pluscore,db,client,tools. A straysrc/geneweaver/__init__.pyin any one of them turns that portion into a regular package and shadows the others: the offender keeps importing while the rest silently stop resolving, and the symptom surfaces far from the cause.I verified the guard catches it by adding
packages/core/src/geneweaver/__init__.py:corestayed importable; the other four raisedModuleNotFoundError. Upstream's version guarded one package — this covers all five, globspackages/*/srcso new packages are included without editing the file, and anchors paths toPath(__file__)rather than pytest'srootdir, which shifts because CI runs the root suite from the repo root and each package suite from inside its own directory. That fragility is what made the upstream fixtures unusable.What was deliberately not kept
[tool.poetry],poetry-core,poetry.masonry.apiandpackages = [{from = "src"}]— this repo is PEP 621 +uv_build, so they would fail, not help. The version-consistency job already inpull_requests.ymlis the useful descendant.[tool.ruff] selectholds exactly 14 rules and the section has no other keys. Ruff is configured in a top-levelruff.tomlhere and modern ruff uses[tool.ruff.lint]; these encode a 2023 house style as a hard assertion.subprocess.run(["ruff", "check", "src"])inside pytest — CI already does this properly, and black is not used by this repo.src/,tests/, README, LICENSE, CONTRIBUTING) — true by construction; a missing LICENSE is a release concern, not a unit test.Also in here
packages/db/tests/conftest.pyandpackages/tools/tests/unit/conftest.py, both of which had no remaining content once the import and the dead override were gone.core's andclient's conftests keep their own real fixtures.AGENTS.md, which still saidpoetry install/poetry run uvicornandblack src tests. Per the repo guardrail about updating setup notes when touching that area — and black is no longer installed after this change.Verification
Note on conflicts
Based on
mainas requested. It touchespyproject.tomlanduv.lock, so it will conflict with #32 (which addsgeneweaver-toolsto the dependency list). Whichever merges second needs a trivial rebase — the two edits are in different parts of the file.