14:56:33 RRSAgent has joined #webmachinelearning 14:56:37 logging to https://www.w3.org/2026/09/03-webmachinelearning-irc 14:56:37 RRSAgent, make logs Public 14:56:38 please title this meeting ("meeting: ..."), anssik 14:56:39 Meeting: WebML CG Teleconference – 3 September 2026 14:56:44 Chair: Anssi 14:56:49 Agenda: https://github.com/webmachinelearning/meetings/blob/main/telcons/2026-09-03-cg-agenda.md 14:56:53 Scribe: Anssi 14:57:00 ScribeNick: anssik 14:57:04 Present+ Anssi_Kostiainen 14:57:09 RRSAgent, draft minutes 14:57:10 I have made the request to generate https://www.w3.org/2026/09/03-webmachinelearning-minutes.html anssik 15:00:18 Present+ Mikhail_Klimenko 15:00:20 mklimenko has joined #webmachinelearning 15:00:27 Present+ Mike_Wasserman 15:01:09 Present+ Victor_Huang 15:01:41 Anssi: as a reminder, we'll use IRC-based queue management in this meeting: 15:01:45 -> https://www.w3.org/guide/meetings/zakim.html#speakerqueue 15:01:52 msw has joined #webmachinelearning 15:01:55 Julia has joined #webmachinelearning 15:01:58 Anssi: to suggest agenda topics, use Agenda+ label, e.g.: 15:02:02 -> Agenda+ https://github.com/webmachinelearning/webmcp/labels/Agenda+ 15:02:12 Present+ Mike_Wasserman 15:02:19 Anssi: please welcome our latest new participants 15:02:29 ... Josh Inch from Meta 15:02:34 ... Naveen Chatlapalli from Ashling 15:02:39 ... Chamara Somaratne from Sovereign Stack Global 15:02:43 ... Nadia Eldeib from CodeYam 15:02:48 Mark_Foltz has joined #webmachinelearning 15:03:01 Alex9 has joined #webmachinelearning 15:03:03 ... Prashastha Mudannayake, Hitesh Parmar, James Yang, Wei Herr Teng, Channy Yun, Mahesh Lambe and Arnab Mandal Arnab as individual contributors 15:03:09 ... welcome all! 15:03:21 Topic: Announcements 15:03:33 Subtopic: Awesome Built-in AI APIs and WebMCP 15:03:45 Anssi: our community has launched two curated directories of awesome things for built-in AI APIs and WebMCP 15:03:54 ... special thanks to Kenji for contributing the first stab for the Built-in AI directory! 15:03:58 -> Awesome Built-in AI https://github.com/webmachinelearning/awesome-built-in-ai 15:04:02 -> Awesome WebMCP https://github.com/webmachinelearning/awesome-webmcp 15:04:13 Anssi: to contribute to these repos, please see the Contribution Guidelines 15:04:19 ... contributions are welcome from group participants as well as from the broader community and public at large 15:04:35 Subtopic: WebMCP ecosystem growth update 15:04:43 Anssi: strong growth in the WebMCP ecosystem has been observed recently 15:05:02 ... first, new implementation experience includes ChatGPT Desktop and Brave 15:05:11 -> https://github.com/webmachinelearning/webmcp/blob/main/implementation-status.md 15:05:27 ryan-roemer has joined #webmachinelearning 15:05:34 Victor has joined #webmachinelearning 15:05:43 Anssi: these new implementations complement the existing Chrome and Edge implementation currently in Origin Trials 15:05:59 Anssi: second, I'm pleased to signal boost The WebMCP Challenge for developers 15:06:03 -> https://openai.com/webmcp-challenge/ 15:06:13 present+ Thomas_Steiner 15:06:21 Victor6 has joined #webmachinelearning 15:06:23 Anssi: this challenge is still open for 5 hours, after which the judges including Sarah, Ilya and Alex from this Community Group will evaluate all submissions 15:06:36 ... top 10 will receive prizes from OpenAI and hackathon supporters 15:07:04 ... the innovative apps built during the challenge will showcase the potential of WebMCP in real-world scenarios and will inform the WebMCP spec development 15:07:31 Subtopic: WebMCP polyfill 15:07:35 gb, this is webmachinelearning/webmcp 15:07:35 anssik, OK. 15:07:39 Anssi: issue #252 15:07:39 https://github.com/webmachinelearning/webmcp/issues/252 -> Issue 252 Hosting official polyfill for WebMCP (by beaufortfrancois) 15:07:53 sushraja has joined #webmachinelearning 15:08:00 ... in our last meeting we resolved to adopt and host an official polyfill for WebMCP in the webmachinelearning GitHub organization 15:08:05 ... feedback has been highly positive 15:08:10 ... to that end, I've created a new repository for the official WebMCP polyfill: 15:08:13 -> https://github.com/webmachinelearning/webmcp-polyfill 15:08:24 Anssi: interested contributors should reach out to me 15:09:04 Topic: Translator and Language Detector APIs 15:09:09 gb, this is webmachinelearning/translation-api 15:09:09 anssik, OK. 15:09:18 Subtopic: Batched translation 15:09:23 Anssi: issue #85 15:09:24 https://github.com/webmachinelearning/translation-api/issues/85 -> Issue 85 Support for batched translation (by sushraja-msft) [Agenda+] 15:09:44 VictorHuang has joined #webmachinelearning 15:09:50 ... this issue proposes an enhancement to allow process multiple inputs in a single batch for translation 15:09:55 ... a concrete example is to translate multiple unrelated comments with independent context 15:10:18 ... the proposed API shape change is to overload translate() and translateStreaming()'s input argument to accept a sequence of DOMStrings 15:10:24 ... currently input is a single DOMString 15:10:39 ... there's an issue #60 discussing HTML as input, this is a separate issue from the batched translation enhancement, to be discussed separately at a later date 15:10:40 https://github.com/webmachinelearning/translation-api/issues/60 -> Issue 60 Input formats for translation and language detection (by tomayac) 15:10:53 ... batching increases throughput and allows separating context for each input in the batch 15:10:57 q? 15:11:30 Sushant: well covered, Edge is prototyping this feature using an on-device model, we find different elements running in parallel is required for good performance, improving UX significantly 15:12:13 ... if a developer calls this API multiple times and does not wait for the promise, we could batch the calls on the server side, but this brings that feature to the client-side API 15:12:39 ... time to first translation slightly slower when batched, but total runtime significantly reduced with multiple inputs 15:13:30 ... looking for other supporters for this feature 15:13:31 q? 15:13:38 q+ 15:13:41 ack anssik 15:14:03 Julien has joined #webmachinelearning 15:14:03 q+ 15:14:07 ack reillyg 15:14:17 Reilly: I think I'm generally supportive 15:14:50 ... a question whether this exactly is the style batching should work is the long term? 15:15:09 q+ 15:15:10 ... wondering if there are other APIs where we could add similar batching feature 15:15:13 ack msw 15:15:46 MikeW: I generally agree with Reilly, there's an obvious performance benefit to this, assuming API shape is reasonable, algorithm keeps entries in order 15:16:07 ... PR is a good next step 15:16:08 q? 15:16:39 q+ 15:16:51 q+ 15:17:05 ack mklimenko 15:17:43 Nico has joined #webmachinelearning 15:17:54 Mikhail: no concerns, one thing to consider, maybe instead of explicit, alternative allow implementations to do smart batching, push to queue and allow implementation to run them batched internally, pros and cons consideration 15:17:56 q? 15:18:01 ack sushraja 15:18:24 Sushant: we've prototyped what Mikhail proposed, did not see the full 2x performance improvement 15:18:41 ... API would be cleaned but also introduces complexity, we're evaluating 15:18:56 ... another topic to raise, HTML as input for translation, issue #60 15:18:56 https://github.com/webmachinelearning/translation-api/issues/60 -> Issue 60 Input formats for translation and language detection (by tomayac) 15:19:34 ... maybe we need to submit pieces of content, e.g. some bolds bolded, how to translate that, if preserving the bold tag, the result would be incorrect translation currently 15:20:03 ... how does this interact with batching feature is something I've thought about 15:20:04 q? 15:20:09 q+ 15:20:13 ack msw 15:20:44 MikeW: in the past we discussed having markers in the stream of content and try to preserve those, perhaps worth exploring that approach 15:21:13 ... either location in the text, or ranges of text, look for prior cases in text processing libraries tackling the same issues 15:21:14 q? 15:22:16 +1 15:22:19 +1 15:22:29 RESOLUTION: Draft spec change for batched translation feature. (issue #85) 15:22:34 Topic: Prompt API 15:22:38 gb, this is webmachinelearning/prompt-api 15:22:38 anssik, OK. 15:22:50 Subtopic: Extended thinking, tool calling, multi-turn execution 15:22:54 Anssi: issue #209 15:22:55 https://github.com/webmachinelearning/prompt-api/issues/209 -> Issue 209 Extend the Message format to support tool calling, extended thinking, and multimodality (by nico-martin) [Agenda+] 15:23:33 ... I want to continue the discussion on this issue, and zoom in to the subset of features on which the plans seem to mostly align between Chrome and Transformers.js/ORT implementation 15:23:39 ... Jingyun from Chrome team summarized this intersect of plans in a comment: 15:23:43 -> https://github.com/webmachinelearning/prompt-api/issues/209#issuecomment-5432415131 15:23:44 https://github.com/webmachinelearning/prompt-api/issues/209 -> Issue 209 Extend the Message format to support tool calling, extended thinking, and multimodality (by nico-martin) [Agenda+] 15:24:17 q+ 15:24:20 ack msw 15:24:40 MikeW: brief update from Chrome 15:24:57 ... we're able to enable dev trial prototype for tool calling using Gemma 4 15:25:10 ... behind a flag, using an open-loop pattern 15:25:24 ... next stage to do validation and constrain decoding 15:25:27 https://chrome.dev/web-ai-demos/prompt-api-tool-use/ 15:25:32 ... we published demo ^ 15:25:47 Guru has joined #webmachinelearning 15:25:59 MikeW: this demo asks the model to generate call, and invoked those calls, closes the loop 15:26:18 ... the demo is functional, I can do quick live demo at a later stage 15:26:33 ... excited to hear Nico's comments and thoughts 15:27:06 ... on the spec side want to resolve constraints issues, multi-model needs some baking in 15:28:22 Nico: quick background, our Transformers.js implementation has so many tasks, so that we don't have LLM specific API, so I created and Agent SDK to align with a standard API, thus adopted Prompt API 15:28:29 ... ran into tool calling issue 15:28:38 ... where are you using constained decoding in tool calling? 15:28:58 MikeW: in generation, ensuring the model can generate an input schema that validates the JSON schema 15:29:11 Nico: could generate just text, or schema that it uses for tool calling 15:29:30 ... we support so many models and tokenizers, each have different signatures etc. 15:29:46 ... I want to bake in some sort of mapping, and parse all into one structure that can be used with the API 15:29:47 q? 15:30:07 MikeW: in our case we've used JSON to describe, align with imperative tool declarations 15:30:16 ... would like to see how that aligns with multi-modal inputs 15:30:24 ... any feedback on that? 15:30:46 Nico: not yet, output would be something that returns to the conversation loop? 15:30:58 Victor has joined #webmachinelearning 15:31:08 ... if the messages support multi-modal input, the modal should not case if it's coming from the user or the tool 15:31:27 ... fetching an image, passing to another tool, haven't thought about this much 15:31:50 q+ 15:32:13 MikeW: about thinking modes, using LiteRT for implementation, no specific proposal at this stage 15:32:31 Nico: we have to parse thinking and the rest is response 15:33:05 MikeW: would that correspond to a different role, or be another tagged response? 15:33:30 Nico: I think it'd be an object with one property and content is another property 15:33:31 q? 15:33:52 Nico: the message coming back, role content thinking and then tool calls 15:33:55 MikeW: SGTM 15:34:05 Sushant: how would you manage streaming in that case? 15:34:36 Nico: when text comes back, would parse and return always the same structure 15:35:08 ... the return would be the whole object, thinking text, the next chunk comes in, the same object but with one token more 15:35:26 Sushant: API for streaming return ReadableStream and you can iterate chunk objects in the stream? 15:35:35 ... first object would be a thinking object? 15:35:58 ... implementer has to swallow the thinking marker 15:37:00 Nico: would always return everything generated up until now, always return the full response so it is easy to parse by developers, no need to get the chunks and parse the response 15:37:03 q? 15:37:12 https://developer.chrome.com/docs/ai/prompt-api#streamed_output 15:37:18 Sushant: that is different from how the Web API is today 15:37:19 q? 15:37:22 ack reillyg 15:38:03 Julien has joined #webmachinelearning 15:38:19 Reilly: question, do we return thinking token at all, do developers care, should we allow to not return that optionally 15:38:23 ... want to be least confusing 15:38:33 MikeW: a second ReadableStream dedicated for thinking? 15:38:55 Reilly: similar to open-loop vs closed-loop tool calling question 15:39:03 Victor has joined #webmachinelearning 15:39:10 ... can be confusing, we want one stream, I think 15:39:58 Nico: how do you handle streaming with tool calling? 15:40:18 Reilly: for tool calling, not sure 15:40:34 Sushant: accummulates and return a different object on the stream, I think 15:41:08 https://crsrc.org/c/third_party/blink/renderer/modules/ai/language_model_create_options.idl;drc=c715d8755be0931dc48f3ff1fcbceb111bf97d19;l=15 15:42:01 Nico: for each iteration of the stream, if the text gets longer, can use the latest iteration, returning the same object for each iteration seemed easier to work with 15:42:02 q? 15:42:44 q+ 15:42:46 Topic: WebMCP 15:42:54 ack MikeW 15:43:05 s/Topic: WebMCP// 15:43:41 https://isaacahouma.github.io/prompt-api-sampling-presets/ 15:43:56 MikeW: we've adjusted the Prompt API based on feedback, the demo showcases this ^ 15:44:06 Topic: WebMCP 15:44:10 gb, this is webmachinelearning/webmcp 15:44:10 anssik, OK. 15:44:14 Subtopic: Wide review 15:44:19 Anssi: first, I'd like to discuss actionable feedback from the ongoing TAG, Privacy and Security reviews 15:44:22 jFYI - The explainer needs to be implemented for how tool call works https://github.com/webmachinelearning/prompt-api#tool-use. It does not describe the current open loop design. 15:44:23 ... the TAG and Privacy reviews are work in progress 15:44:35 Anssi: Security group has delivered a Threat Model for WebMCP document for your review: 15:44:39 -> https://simoneonofri.github.io/threat-model-webmcp/ 15:44:46 Anssi: review comments are welcome via the GH repo: 15:44:51 -> https://github.com/simoneonofri/threat-model-webmcp/issues 15:44:57 Anssi: please note this is an "Unofficial Proposal Draft", so rough around the edges 15:45:10 ... thanks to the Security Group's Simone, Zahra, Amir and Giovanni for their contributions 15:45:15 ... and thank you to Victor for stepping in to review this document 15:45:42 Victor: I had a chance to read the document, it is a good starting point for analysis WebMCP 15:45:56 ... going forward I'll open GH issues on the threat model repo 15:46:19 q? 15:47:38 Julia: I have reviewed security aspects of the spec 15:48:18 Anssi: in our last meeting we resolved to initiate wide review of WebMCP with the i18n and a11y groups 15:48:34 ... in this second phase of WebMCP wide review we expand to the web internationalization (i18n) and web accessibility (a11y) experts 15:48:40 ... there's careful pre-work for both 15:48:50 Anssi: a11y review expects two pre-work items to go along the review request 15:49:06 ... 1) completed a11y review checklist, staged in issue #272 15:49:07 https://github.com/webmachinelearning/webmcp/issues/272 -> Issue 272 WebMCP accessibility review checklist (by anssiko) [Agenda+] [a11y-tracker] 15:49:39 ... I've included instructions in the issue itself, and welcome contributions from the group participants via issue comments there 15:50:03 ... 2) respond to the a11y group's initial comment: 15:50:07 -> https://github.com/webmachinelearning/webmcp/issues/65#issuecomment-5440638117 15:50:08 https://github.com/webmachinelearning/webmcp/issues/65 -> Issue 65 WebMCP accessibility considerations (by anssiko) [a11y-tracker] 15:50:38 Anssi: feel free to ask questions from the a11y group, we want this to be a collaborative exercise that strengthens the WebMCP accessibility story even further 15:51:08 Anssi: questions, comments? 15:52:40 i18n will be very interesting for WebMCP :) Not an expert here, but kind of implied that the model has to handle different kind of metadata inputs? and what if the model properties are different for different languages? there has been demonstrations where for example prompt injections happen in one language on a model, but not the other. 15:52:42 Sarah: I talked to folks interested in a11y 15:52:59 ... will loop them in 15:53:55 Anssi: i18n reviewers expect us to work with the checklist staged in issue #273 15:53:56 https://github.com/webmachinelearning/webmcp/issues/273 -> Issue 273 WebMCP internationalization review checklist (by anssiko) [Agenda+] [i18n-tracker] 15:54:26 ... for any item on this checklist that has open questions, open a new i18n-tracker issue so i18n experts are notified and can help address the issue 15:54:35 ... we have identified the following i18n issues so far: 15:54:42 -> i18n-tracker https://github.com/webmachinelearning/webmcp/issues?q=is%3Aissue%20state%3Aopen%20label%3Ai18n-tracker 15:55:09 Anssi: please review the i18n checklist, the existing i18n-tracker issues, and open new i18n-tracker issues for any open questions you encounter 15:55:35 ... I look forward to initiating both the a11y and i18n review processes with the group as we prepare WebMCP for wide-scale global adoption 15:55:57 q? 15:56:02 ack msw 15:57:05 Subtopic: Tool collections 15:57:09 Anssi: issue #255 15:57:10 https://github.com/webmachinelearning/webmcp/issues/255 -> Issue 255 Tool collections: coarse-grained grouping with progressive disclosure (by sdras) [Agenda+] 15:58:40 Dominic: explicit group primitive may be too early, based off of the MCP precedent, would like to hear how these tools are used and how harnesses use these 15:58:59 ... would like to seek more feedback from MCP folks working in this problem space 15:59:20 Sarah: that makes sense, I suggest we don't get just agent perspective but also site developer perspective 15:59:58 Dominic: it is delicate balance, the question is what small information we can offer to help agents, or handle this on the platform side 16:00:13 Sarah: simplicity of WebMCP is important 16:00:54 ... we want to keep those benefits in mind, mental model of keeping skills, autonomy issue with a very large app, initially the user does not have access to the entire toolset 16:01:50 Alex: this space evolves so quickly, MCP has been going back and forth on the design, we should listen to developer feedback, too early to develop a solution 16:02:15 Dominic: does MCP help harness guide its search? 16:02:31 Alex: very much undecided 16:02:32 q? 16:03:44 domfarolino has joined #webmachinelearning 16:03:46 +1 16:03:47 +1 16:03:56 RESOLUTION: Seek explicit model harness creator feedback and defer the tool collections feature. (issue #255) 16:03:58 q? 16:04:44 RRSAgent, draft minutes 16:04:45 I have made the request to generate https://www.w3.org/2026/09/03-webmachinelearning-minutes.html anssik 16:05:15 Present+ Alex_Nahas 16:05:36 Present+ Dominic_Farolino 16:05:45 Present+ Iris_Johnson 16:05:51 Present+ Julia_Pagnucco 16:05:59 Present+ Julien_Bataille 16:06:05 Present+ Mark_Foltz 16:06:16 Present+ Nico_Martin 16:06:25 Present+ Reilly_Grant 16:06:46 Present+ Ryan_Roemer 16:07:01 Present+ Sarah_Drasner 16:07:18 Present+ Saron_Yitbarek 16:07:31 Present+ Sushanth_Rajasankar 16:07:50 Present+ Yoav_Weiss 16:07:56 RRSAgent, draft minutes 16:07:58 I have made the request to generate https://www.w3.org/2026/09/03-webmachinelearning-minutes.html anssik 16:08:36 Present+ Guru_Singh 16:09:05 Present+ Naveen_Chatlapalli 16:09:15 Present+ Tom_Jones 16:11:56 s/implementation currently/implementations currently 16:15:19 s/that feature/this feature 16:16:00 s/alternative allow/alternative to allow 16:16:28 s/cleaned/cleaner 16:18:46 s/invoked those/invokes those 16:19:06 s/multi-model/multi-modal 16:19:53 s/so that/so that's why 16:20:10 s/and Agent/an Agent 16:20:30 s/constained/constrained 16:21:24 s/modal should not case/model should not care 16:24:38 s/analysis WebMCP/a security analysis of WebMCP 16:28:36 RRSAgent, draft minutes 16:28:37 I have made the request to generate https://www.w3.org/2026/09/03-webmachinelearning-minutes.html anssik