Skip to content

[TESTING][CF-DATAPLANE][TASKS]: Add modern Tasks extension conformance coverage #6188

Description

@lucarlig

Part of #5683.

Blocked by

Scope

Add Rust dataplane tests and fixtures for the MCP 2026-07-28 io.modelcontextprotocol/tasks extension. This is distinct from the closed MCP 2025-11-25 Python/control-plane coverage in #4295.

Work

  • Add modern RMCP task-capable backend fixtures, including a multi-backend virtual host.
  • Cover capability-on and capability-off requests using per-request client metadata.
  • Exercise server-directed CreateTaskResult, tasks/get polling, input_required plus tasks/update, cooperative tasks/cancel, and completed/failed/cancelled terminal states.
  • Verify task-handle rewriting and routing across replicas/restarts without MCP sessions.
  • Verify downstream and upstream Mcp-Method / Mcp-Name values use the exposed and restored task IDs at the correct boundary.
  • Verify removed legacy methods are not exposed.
  • Run the upstream Tasks extension conformance scenarios that are applicable to a federating proxy, or document any fixture limitation.
  • Add regression coverage for authorization, plugin-policy, malformed-handle, and partial-backend-failure cases.

Acceptance criteria

  • A task-capable modern client completes a full tool → task → poll lifecycle through the dataplane.
  • A client without io.modelcontextprotocol/tasks never receives a task handle.
  • Working, input-required, completed, failed, and cancelled states are covered.
  • Multi-backend task IDs cannot collide or cross virtual-host/authorization boundaries.
  • Polling survives dataplane restart/replica changes with no Mcp-Session-Id.
  • tasks/list and tasks/result return method-not-found on the modern dataplane path.
  • Applicable official Tasks extension conformance scenarios pass.

Out of scope

  • Python control-plane tests.
  • Legacy initialize, session, SSE, or MCP 2025-11-25 compatibility tests.
  • Optional task-status notifications unless a separate scoped issue enables them.

Metadata

Metadata

Assignees

Labels

CF-DATAPLANETasks related to the creation of new Data Plane for ContextForge.blockedBlocked by some other predecessor issue or PR. See notes.mcp-2026-07-28Issues related to compliance with MCP 2026-07-28rustRust programmingtestingTesting (unit, e2e, manual, automated, etc)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions