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
Implement SEP-2260: Require Server requests to be associated with a Client request #2186
Outstanding (acceptance criteria from the spec page)
R-2260-1 (wire): s→c requests (roots/list, sampling/createMessage, elicitation/create) MUST only be sent on the POST-response SSE stream of an originating client request.
R-2260-3 (sdk): no API for unsolicited s→c.
R-2260-4 (wire): SSE keepalive SHOULD be used during nested waits.
R-2260-5 (wire): client receiving an orphan s→c request SHOULD respond -32602.
R-2260-6 (wire): GET-initiated standalone SSE streams MUST NOT carry s→c requests (notifications/pings only).
Standalone bugfix (~90 LOC per the spec-page sequencing plan): ensure ctx.elicit / ctx.sample only emit on the originating request's response stream, never on a separate channel. Lands on current-spec code, doesn't need 2026-06 mode.
Scope clarification from implementation analysis: SEP-2260's MUST-strength rules never landed in the published 2025-11-25 spec pages (they remain SHOULD-strength there: server→client messages "SHOULD relate to the originating client request"), and in the current draft spec they are enforced structurally by MRTR (SEP-2322) rather than as standalone rules.
The remaining rules (client rejects unsolicited server→client requests; no API for unsolicited pushes) assert draft-era semantics and are delivered by the MRTR implementation (Implement SEP-2322: Multi Round-Trip Requests #2187), where they hold by construction.
No separate "SEP-2260 implementation" beyond these two pieces should be expected.
Activity
mattzcarey commentedon May 29, 2026
Status — SEP-2260 (Server requests associated with Client requests)
Track: A (core, sequential spine) — starts now (current spec, doesn't require 2026-06 mode)
Spec: seps/2260-Require-Server-requests-to-be-associated-with-Client-requests.md · merged & marked Final in spec#2730
What's done
mainyet.handleHttp()per-request entry,SessionCompat, dual-conformance) — Felix'sr3-handlehttpbranch laid the per-request HTTP entry-point groundwork the bugfix will land into.Outstanding (acceptance criteria from the spec page)
roots/list,sampling/createMessage,elicitation/create) MUST only be sent on the POST-response SSE stream of an originating client request.-32602.pingexempt.Fixes long-standing bugs #963 and #1167.
Test backlog
Open spec PRs to watch
Suggested first PR
Standalone bugfix (~90 LOC per the spec-page sequencing plan): ensure
ctx.elicit/ctx.sampleonly emit on the originating request's response stream, never on a separate channel. Lands on current-spec code, doesn't need 2026-06 mode.felixweinberger commentedon Jun 1, 2026
Scope clarification from implementation analysis: SEP-2260's MUST-strength rules never landed in the published 2025-11-25 spec pages (they remain SHOULD-strength there: server→client messages "SHOULD relate to the originating client request"), and in the current draft spec they are enforced structurally by MRTR (SEP-2322) rather than as standalone rules.
So this issue's deliverables split as follows:
relatedRequestIdand ride the originating request's response stream, plus an opt-in SSE keepalive for long nested waits.No separate "SEP-2260 implementation" beyond these two pieces should be expected.
norika1207-lab commentedon Jun 2, 2026