Clean/cicd#2
Merged
will-fawcett-trillium merged 20 commits intomainfrom Apr 28, 2026
Merged
Conversation
Mirrors eve-api's CI shape so both repos run a multi-version matrix with cached .venv keyed on poetry.lock. Submodule init step is kept on top because the eve-api dep is still vendored as a submodule. Default runtime stays at 3.12 (pyproject floor is unchanged); the matrix exists to catch regressions on 3.13 and 3.14 early.
Matches the measured total reported by the local pre-commit run. client.py (39%) and helpers.py (19%) drag the average; the test_server suite covers everything else at 100%. Ratchet up as helpers/client tests land.
- black target-version py311 -> py312 (matches the ^3.12 floor) - coverage.run source dropped "tests" (tests are omitted anyway) - pytest.ini_options gains testpaths, addopts, and asyncio_default_fixture_loop_scope to mirror eve-api's setup
- pyproject.toml: python = ^3.12 -> ^3.11; classifier added; black target-version py312 -> py311 so generated code stays 3.11-valid - poetry.lock regenerated against the new floor - workflow matrix now spans 3.11/3.12/3.13/3.14, mirroring eve-api
Documents the intent: code is 3.12-shaped but must remain runnable on 3.11. Black formats compatibly with both, so output runs across the full 3.11-3.14 matrix.
Mismatched closing tag </PYTHON CODE> against opening <PYTHON_CODE> in the factuality-issues prompt could confuse the LLM and bias the extraction.
Neither package is imported anywhere in src/ or tests/; the stubs were dead weight. Mirrors eve-api's cleanup pass.
src/stars/mcp_servers/python_toolbox/** and src/stars/docs/conf.py do not exist in this repo and never have - leftover from a copy-paste of the .pylintrc from a sibling project.
This was referenced Apr 28, 2026
r-spiewak
approved these changes
Apr 28, 2026
Collaborator
r-spiewak
left a comment
There was a problem hiding this comment.
Cleanup is good.
I didn't pull and test though.
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
Adds CI/CD (GitHub Actions + pre-commit) and a test suite to eve-mcp, mirroring the setup landing in eve-api PR #1. Also fixes two real bugs that were on
mainand removes dead dev dependencies.CI/CD
pushrunning a Python matrix (3.11 / 3.12 / 3.13 / 3.14) onubuntu-latest, with Poetry dependency caching keyed onpoetry.lock. Submodule init step usesORG_PATso the vendoredlib/eve-apiresolves on the runner..pre-commit-config.yamlrunsdetect-secrets,autoflake,black,isort,mypy,pylint,pytest+coverage, and a conditional Sphinx build.helpers.pyandclient.pygain tests..pylintrcand.secrets.baselineadded.Tests
tests/tree added with full coverage of the simple modules:tests/test_client.pytests/test_server/test_app.pytests/test_server/test_init.pytests/test_server/test_main.pytests/test_server/test_tools_collections.pytests/test_server/test_tools_query.pyCoverage gaps remain in
client.py(39%) andserver/helpers.py(19%) — to be addressed in a follow-up PR.Code changes
src/eve_mcp/server/enums.pywithEventTypeenum replacing magic strings in_query_eve.helpers.pyreformatted (black/isort),Optional[X]→X | None, walrus operators, real exception docstrings. The buggyextract_tagregex (r'```{tag}(.*)```'.format(tag=tag)) is fixed to use an f-string.tools_query.py:_assess_factuality_issuewas registered as a tool but collided with the imported helper and had the wrong arity, so any call would self-recurse /TypeError. Renamed toassess_factuality_issue(tool wrapper) with the correct 6-arg signature forwarding to the helper.helpers.py: closing tag in the factuality-issues prompt was</PYTHON CODE>(no underscore) against opening<PYTHON_CODE>— fixed so the LLM sees a well-formed XML block.Dependency changes
pre-commit,autoflake,isort,mypy,pylint,pytest,pytest-asyncio,pytest-cov,pytest-testdox,pytest-mock,detect-secrets,pytest-env,pylint-per-file-ignores.types-requestsandtypes-toml(nothing importsrequestsortoml).^3.12to^3.11; classifiers updated 3.11 → 3.14.blacktarget-version = ['py311', 'py312']so generated code remains 3.11-runnable.lib/eve-apisubmodule bumped3c0a468→1f8de11(matches the head of eve-api's openclean/cicdPR; bump again to the merge commit when that PR lands).Verification
pre-commit run --all-filespasses.Follow-ups (not in this PR)
helpers.pyandclient.pyto push coverage to 80%.[project]block +poetry-dynamic-versioningfor full eve-api parity.Note on history
Branch contains 19 commits (r-spiewak's CI/test setup + recent follow-ups). Suggest squash-merge to keep
mainhistory readable.