You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5839a7f
Browse filesBrowse the repository at this point in the historyBrowse files
chore(deps): say why mcp<2 and pyiceberg-core<0.8 are load-bearing
Dependabot has re-proposed both ceilings since 2026-08-23 (#244, #245) and
both PRs sat unmergeable for sixteen days. Each pin had a one-line reason
in a comment; neither reason was checkable without doing the work, so
nobody did, and the PRs stayed open. Checked now, recorded where the pin
is, and taught Dependabot to stop asking.
mcp<2 holds. mcp 2.2.0 still exports Server from mcp.server, but its
lowlevel Server defines neither list_tools nor call_tool, and
integrations/agentflow_integrations/mcp/server.py is built entirely out of
@server.list_tools() and @server.call_tool(). #244 proposed <3; taking
mcp 2 is a port of that module, not a range change. Both halves of the
mirrored pin now say which decorators are missing and which file needs
the port.
pyiceberg-core<0.8 holds, for a reason the old comment only half stated.
PyIceberg 0.11.1 declares pyiceberg-core>=0.5.1,<0.9.0, so 0.8.0 is the
only step up inside the pairing upstream supports -- and 0.8.0 is the one
release in the line published as requires-python <3.13, which the
3.11-3.13 `environments` in [tool.uv] rule out. 0.9.0/0.9.1 restored 3.13
but sit outside PyIceberg's window. So nothing above 0.7 is installable
here, which #245's <0.11 does not change: widening alone leaves the lock
on 0.7.0 (verified -- `uv lock` rewrites only the recorded specifier),
and `uv lock --upgrade-package pyiceberg-core` under it jumps to 0.10.1,
i.e. exactly the pairing PyIceberg says it does not support. The ceiling
moves when PyIceberg raises its own, and that arrives as a pyiceberg PR.
.github/dependabot.yml ignores mcp majors -- in the root and integrations
ecosystems, since they own the two halves of the same pin -- and
pyiceberg-core minors, each with the reason and the exit condition inline.
The file's existing NOTE about `ignore` also suppressing security updates
applies unchanged: safety and pip-audit scan both packages and fail on a
CVE that only a blocked bump would fix.
No resolution change: `uv lock --check` passes untouched (256 packages).
test_security_tooling_policy.py, test_contract_dependencies.py,
test_cross_package_install_contract.py and test_mcp_server.py pass (44
passed), scripts/validate_project_claims.py OK, docs ratchets pass (33
passed).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ybRVCaL1Lyd9d5kFTndh3
0 commit comments