Skip to content

Pin drifted deps: mcp<2, ruff==0.15.12 (main is red from upstream releases, not from code) - #62

Merged
Aztec03hub merged 1 commit into
mainfrom
fix/pin-drifted-deps
Aug 10, 2026
Merged

Pin drifted deps: mcp<2, ruff==0.15.12 (main is red from upstream releases, not from code)#62
Aztec03hub merged 1 commit into
mainfrom
fix/pin-drifted-deps

Conversation

@Aztec03hub

Copy link
Copy Markdown
Owner

Main is red, and not because of any code change

The last successful main CI run was 2026-06-26. PR #60 merged today and triggered the first run since, which exposed six weeks of unpinned-dependency drift. Both failures are in files no recent PR touched.

1. All three Python jobs: ModuleNotFoundError: No module named 'mcp.server.fastmcp'

pyproject.toml declared mcp>=1.20.0 with no upper bound. mcp 2.0.0 has since shipped and moved that module, so CI resolved 2.0.0 and every FastMCP import died. Local dev was unaffected because the venv still holds 1.26.0.

Fix: mcp>=1.20.0,<2. Verified in a clean venv that this resolves to 1.29.0 and that from mcp.server.fastmcp import FastMCP succeeds.

2. Lint: 212 errors in untouched files

The Lint job ran an unpinned pip install ruff, so a newer ruff than local (0.15.12) reported 212 pre-existing violations (SIM117 and others) in files like tests/test_web_app_routes.py.

Fix: pin ruff==0.15.12, the version the tree is verifiably clean against (ruff check -> All checks passed, ruff format --check -> 94 files already formatted).

Scope

Deliberately minimal: this restores the known-good resolution, it does not change behavior. Migrating to mcp 2.x, or upgrading ruff and clearing the 212 findings, are each deliberate pieces of work that deserve their own PR and review.

🤖 Generated with Claude Code

The last main CI run was 2026-06-26. In the six weeks since, two upstream
releases broke CI on code that had not changed:

- mcp 2.0.0 shipped and moved mcp.server.fastmcp. pyproject declared
  mcp>=1.20.0 with no upper bound, so CI resolved 2.0.0 and every FastMCP
  import failed with ModuleNotFoundError across all three Python versions.
  Pinned <2, which resolves to 1.29.0 and imports FastMCP cleanly.

- The Lint job ran an unpinned pip install ruff, so a newer ruff surfaced
  212 pre-existing violations (SIM117 and friends) in files nobody had
  touched. Pinned to 0.15.12, the version the tree is clean against, so
  lint is reproducible instead of drifting with each ruff release.

Restores the known-good resolution rather than changing behavior. Upgrading
to mcp 2.x or a newer ruff is deliberate work for its own PR.
@Aztec03hub
Aztec03hub merged commit 3915738 into main Aug 10, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant