docs(19.7-02): record deferred items from the pier session router

This commit is contained in:
Jakub Zych
2026-10-22 18:36:23 +02:00
parent 8c6c0a3654
commit 1aff96f58a

View File

@@ -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.