Skip to content

Drop _compat.py: if mcp/python-sdk#2610 still silent on 2026-06-12, port the fix as our own upstream PR — due 2026-06-12 #127

Description

@mlorentedev

Due date: 2026-06-12 (+21 days from the HIVE-115 PR-4 ship)

Why this issue exists

src/hive/_compat.py is a self-gated monkey-patch on mcp.shared.session.RequestResponder that works around the cancel-race tracked upstream at modelcontextprotocol/python-sdk#2610.

As of 2026-05-22:

  • Issue #2610 has been open for ~weeks with no maintainer engagement.
  • Independent confirmation of the same bug + same fix pattern was posted by jshaofa-ui on 2026-05-16 (we are not the only ones).
  • We have a battle-tested fix sitting in _compat.py — the patch is small, self-gated, degrades safely.
  • PR chore(deps): pin mcp <2.0 to guard _compat.py shim #125 capped mcp >= 1.26, <2.0 so the shim cannot silently break against a major refactor.

That gives the upstream maintainer a reasonable window to engage. 21 days is the escalation point.

The decision on 2026-06-12

On that date, evaluate:

  • Is modelcontextprotocol/python-sdk#2610 still OPEN?
  • Is there any maintainer comment since 2026-05-22 (even "we're looking at it" counts)?
  • Has any related PR been opened upstream?
  • Does the current mcp release ship a working fix (check mcp/shared/session.py for any guard around _completed)?

Outcome routes

  • Maintainer engaged / fix in flight → comment on this issue with the link, leave open until upstream merges, then drop _compat.py and bump mcp requirement.
  • Still silent + still brokenescalate: port src/hive/_compat.py into a clean PR against modelcontextprotocol/python-sdk. The shim is already self-contained and reviewable. Include the cancel-race regression test from tests/test_compat_shim.py::test_classify_cancellation_race so the upstream test suite gains coverage. Comment here with the PR link. Set a new deadline (+30d) to check on the PR review.
  • Bug reproduces, but we don't have bandwidth → comment here, defer this issue 14 days. Acceptable but document the choice.

Belt-and-braces

This issue is one of three notification layers (per _meta/patterns/pattern-triple-reminder-belt-and-braces in the maintainer's vault):

  • This GitHub issue (persistent record)
  • Remote routine queued for 2026-06-12 09:07 local (push notification via GitHub comment)
  • Dated TODO in vault 10_projects/hive/11-tasks.md

Any one of them is sufficient to surface the deadline; the others are redundancy against single-channel failure modes.

cc @mlorentedev

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions