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
Part of #5756. Design: RFC THV-0083 (D3, Phase 4, Testing Strategy); arch doc §"The dual-era matrix" + §"Testing strategy". Mirrors the transport-proxy e2e issue #5837.
Bridge the two era-mismatched client×backend cells RFC-0081 defers to vMCP, and close with a live dual-era e2e suite. Both cells are single-request-scoped on one pod — no durable store required.
Changes
Legacy-client → Modern-backend (easy cell): terminate the client session with existing machinery, re-originate stateless calls downstream (no Mcp-Session-Id).
Modern-client → Legacy-backend (hard cell, confused-deputy boundary): synthesize and hold a backend session for the duration of the single request (pod-local; ephemeral for a bare tool call), initialized with the calling principal's per-request outgoing auth (existing OBO / header-injection / token-exchange strategies), partitioned by (principal, backend) — never shared across principals.
Live dual-era e2e suite: out-of-process go-sdk v1.7 peers (do NOT import go-sdk v1.7 into the module — run separate binaries/containers over the wire, as the Add MCP conformance CI job for thv run proxy #5806 conformance job does) plus a raw-HTTP client; exercise all four matrix cells; concurrency- and confidentiality-focused.
Dependencies
#5910 (server-side Modern path) and #5911 (client-side per-backend dual protocol).
Verification
Both bridge cells end-to-end.
Hard cell: (principal, backend) partition prevents cross-principal session reuse; the synthesized initialize presents the calling principal's OBO, not a shared vMCP identity.
Legacy↔Legacy and Modern↔Modern cells; concurrency cross-delivery safety.
Notes
Split into PRs: easy cell, hard cell, e2e suite. The hard cell is security-critical and should not share a PR with anything else.
Part of #5756. Design: RFC THV-0083 (D3, Phase 4, Testing Strategy); arch doc §"The dual-era matrix" + §"Testing strategy". Mirrors the transport-proxy e2e issue #5837.
Bridge the two era-mismatched client×backend cells RFC-0081 defers to vMCP, and close with a live dual-era e2e suite. Both cells are single-request-scoped on one pod — no durable store required.
Changes
Mcp-Session-Id).(principal, backend)— never shared across principals.Dependencies
#5910 (server-side Modern path) and #5911 (client-side per-backend dual protocol).
Verification
(principal, backend)partition prevents cross-principal session reuse; the synthesizedinitializepresents the calling principal's OBO, not a shared vMCP identity.Notes
Split into PRs: easy cell, hard cell, e2e suite. The hard cell is security-critical and should not share a PR with anything else.