docs(19.7-02): record deferred items from the pier session router
This commit is contained in:
@@ -22,3 +22,25 @@ was changed by the plan that recorded it.
|
||||
at `schema_types.go:376`, not a duplicate of the new `RecordAction.Prompt`;
|
||||
the criterion's "prints 1" was written without that line in mind. No change
|
||||
needed.
|
||||
- Stateful pier sessions cannot carry the SDK's protocol-version context value (found during 19.7-02 Task 3)
|
||||
status: open
|
||||
**What:** go-sdk v1.8.0's `StreamableHTTPHandler.ServeHTTP` stores the
|
||||
`Mcp-Protocol-Version` header under an unexported context key that the
|
||||
transport's `servePOST`/`serveGET` read; pier's own session router (needed
|
||||
for Redis-shared sessions, D-25) serves `StreamableServerTransport`
|
||||
directly and cannot set that key, so stateful streams run with the SDK's
|
||||
2025-03-26 defaults for stream close/reconnect hints and the JSON-RPC
|
||||
batch rule (lenient, spec-compliant for older clients; 2026-07-28 clients
|
||||
go through the SDK's own stateless handler). Revisit if a later SDK
|
||||
exports the key or a transport-level setter; plan 05 may add a test
|
||||
pinning the behaviour.
|
||||
- `notifications/initialized` landing on another instance than `initialize` (found during 19.7-02 Task 3)
|
||||
status: open
|
||||
**What:** the session state is persisted after `initialize` and again
|
||||
after the client's `initialized` notification; when a load balancer sends
|
||||
the notification to a second instance, the first instance's local copy
|
||||
keeps `InitializedParams` nil and refuses calls until that copy is
|
||||
dropped (session end, revocation or process restart) while the second
|
||||
instance serves them. Sticky sessions or a per-request re-read of the
|
||||
stored `initialized` flag would close the gap; not needed for the
|
||||
single-instance demo.
|
||||
|
||||
Reference in New Issue
Block a user