diff --git a/meetings/2026-01-28_weekly.md b/meetings/2026-01-28_weekly.md new file mode 100644 index 0000000..47e84ce --- /dev/null +++ b/meetings/2026-01-28_weekly.md @@ -0,0 +1,81 @@ +# 2026-01-28 Transports WG (Weekly) + +## TL;DR +The group discussed updates on the Python SDK refactoring, noting a "holding +pattern" while waiting for a PR from Google's Powan. Shaun Smith confirmed the +submission of a Specification Enhancement Proposal (SEP) to formally deprecate +unsolicited sampling and elicitation on the background channel. The primary +focus was reconciling the Multi-Round Trip Request (MRTR) proposal with the +"Tasks" mechanism. The group agreed that the "get stream" (SSE) must be optional +for core functionality like elicitation. A technical debate regarding data +structures (Map vs. Array) for server-initiated requests led to a decision to +split the work into two parallel, consistent proposals—one for the ephemeral +case (led by Mark Roth) and one for the persistent case (led by Caitie +McCaffrey)—to be reviewed after an offline sync. + +## Detailed Summary + +### SDKs and Process +* **Python SDK Refactoring:** Kryspin Ziemski and Mark Roth discussed the status + of the Python SDK. The group is waiting for a Pull Request from Powan + regarding the separation of server and runner before pushing further changes. +* **Verscell Integration:** Kryspin Ziemski asked about contacts at Verscell + regarding their custom MCP implementation. Shaun Smith confirmed he is in + touch with Matt Lenhard and offered to connect them offline. +* **Unsolicited Requests SEP:** Shaun Smith submitted the SEP discussed the + previous week to formally deprecate unsolicited sampling and elicitation on + the background "get stream." +* **Data Usage:** Shaun Smith offered to share data from "several million + sessions" of MCP usage scraped from his server to assist with decision-making. + +### Technical Decisions: MRTR and Tasks +* **Optionality of SSE Streams:** Caitie McCaffrey argued that to ensure the + protocol works in stateless environments like Cloud Run, the "get stream" + (SSE) must not be required for core functionality like elicitation and + sampling. The group agreed to scope this change to elicitation/sampling first, + deferring progress notifications. +* **Ephemeral vs. Persistent Flows:** + * **Tool Calls (Ephemeral):** Defined as short-running, synchronous, and + stateless. Mark Roth proposed a flow where the server returns an + incomplete response, and the client retries with the original info plus + the response. + * **Tasks (Persistent):** Defined as long-running, asynchronous, and + stateful. Caitie McCaffrey and Luca Chang clarified the "Input Required" + state, where the client polls for a result and receives an elicitation + request. +* **Message Structure Alignment:** + * Mark Roth argued for using consistent message types for the "elicitation + response" in both ephemeral and persistent cases. + * **Map vs. Array:** A debate arose regarding the container for + server-initiated requests. Mark Roth proposed a Map structure (key-value) + to handle multiple parallel requests and ensure association if server + logic changes. Caitie McCaffrey and Luca Chang pushed back, suggesting + this introduces ambiguity and complexity, preferring arrays or reusing + existing `ToolResult` structures. +* **Unique Keys:** The group debated the necessity of unique keys for server + requests within a single tool call context. Mark Roth argued they are needed + for association; Caitie McCaffrey suggested parameter names might be + sufficient. + +### Path Forward +* **Dual Proposals:** To resolve the complexity, the group decided to split the + work into two parallel proposals that will be kept consistent: + 1. **Ephemeral Case:** Led by Mark Roth, focusing on the stateless + request/response flow without tasks. + 2. **Persistent Case:** Led by Caitie McCaffrey, focusing on how Tasks + utilize the request/response flow for stateful operations. +* **Synchronization:** Mark Roth, Caitie McCaffrey, and Luca Chang will meet + offline to align on data structures before the next meeting. + +## Action Items +- [ ] **Shaun Smith** to connect with Kryspin Ziemski offline regarding Matt + Lenhard and Verscell. +- [ ] **Mark Roth** to update the track brief to explicitly call out the agreed + goals (making SSE optional). +- [ ] **Mark Roth** to schedule an offline sync with Caitie McCaffrey and Luca + Chang for Friday to resolve data structure nuances (Map vs. Array). +- [ ] **Mark Roth** to update the Ephemeral MRTR proposal to explicitly cover + single back-and-forth, multiple back-and-forth, and multiple requests in a + single response. +- [ ] **Caitie McCaffrey** to update the Persistent/Tasks proposal to align with + the ephemeral definitions. \ No newline at end of file