Drupal AI Contribution meeting 2025-07-14
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3534867. -->
Reported by: [valthebald](https://www.drupal.org/user/239562)
>>>
<p>Drupal AI Contribution meeting from July 14, 2025 at 16:00 UTC to July 15, 2025 16:00 UTC (Check your local time at <a href="https://www.timebie.com/std/universal.php?q=16">https://www.timebie.com/std/universal.php?q=16</a>)</p>
<p>Previous meeting <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3533872" title="Status: Closed (fixed)">#3533872: Drupal AI Contribution meeting 2025-07-07</a></span><br>
Next meeting <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai/-/work_items/3536220" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai/-/work_items/3536220</a></span></p>
<h2>Where</h2>
<p>#ai-contrib channel in <a href="https://www.drupal.org/slack/">Drupal Slack</a></p>
<h2>Agenda</h2>
<h3>Attendees self-intro and interests</h3>
<h3>Follow-up to topics of previous meeting</h3>
<h3>Suggest your topic in comments</h3>
<h3>Add the issue you want to discuss as a related issue to this meeting</h3>
<h2>Attendees (in the order of appearance)</h2>
<p>valthebald, Nick Opris, dan2k3k4, Alex Renfert (nwom), Udhaya Kumar (udhaya-kumar), Luca Lusso (lussoluca), thejimbirch, Shibin Das (d34dman), Renaud - (bisonbleu), Rob Loach (robloach), Kristen Pol (she/her), Matthew Saunders (matthews), scott_euser</p>
<h2>Transcript</h2>
<h2>Hello everyone, and welcome to the Drupal AI contribution meeting!<br>
This meeting:<br>
➤ Happens every Monday in #ai-contrib channel<br>
➤ Starts at 16:00 UTC (check your time at <a href="https://www.timebie.com/std/universal.php?q=16">https://www.timebie.com/std/universal.php?q=16</a>)<br>
➤ Is text only!<br>
➤ Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously.<br>
➤ New topics are posted at least 5 minutes after previous, to give attendees time to respond/suggest their (sub) topics<br>
➤ Refers to various issues and plans tracking in d.o project:[#3534867]Please comment there so we can grant you credit for attending/contributing! Please note, we will only give attributions for active engagement.<br>
➤ Transcript will be exported and posted* to the agenda issue. For anonymous comments, start with a 👤 emoji. To take a comment or thread off the record, start with a 🚫 emoji.</h2>
<table>
<tr>
<td>breidert</td>
<td>FYI @Glenn Hilton @John Tran @bryan</td>
</tr>
</table>
<h2> :zero: Roll call! Who's here? Please specify your drupal.org username<br>
(and if you're up to an open discussion, what do you think about multi-million sign-up bonuses allegedly paid by Meta to hunt best AI researchers from its competetors?)</h2>
<table>
<tr>
<td>valthebald</td>
<td>as planned, release 1.1.1 was released last Wednesday1.2 alpha is blocked for now (later about it in another thread), but should be released quite soon</td>
</tr>
<tr>
<td>valthebald</td>
<td>
is it a sign of another bubble, or a desperate act to win in a game with practically unlimited prize?
</td>
</tr>
<tr>
<td>
Nick Opris</td>
<td>
(unqunq) Just keeping an eye on the convo. I have an issue in rtbt but haven't got time in weeks. :(
</td>
</tr>
<tr>
<td>
valthebald</td>
<td>
Val "valthebald" here, and I am totally confused about the subject. I was very skeptical about Real Madrid signing up Ronaldo for astronomical 80 million pounds, but then I've read that the club has sold T-shirts and other club symbols with Ronaldo name on them for 80 million euro during the first weekend after the news came out, so...
</td>
</tr>
<tr>
<td>dan2k3k4</td>
<td>
Dan (dan2k3k4).
</td>
</tr>
<tr>
<td>
Alex Renfert (nwom)</td>
<td>
"nwom" here. How do I join the call? Just coincidentally saw the post
</td>
</tr>
<tr>
<td>dan2k3k4</td>
<td>
The "call" is async in Slack :sweat_smile:
</td>
</tr>
<tr>
<td>
Alex Renfert (nwom)</td>
<td>
haha sounds good
</td>
</tr>
<tr>
<td>
Udhaya Kumar</td>
<td>
"udhaya-kumar" here..
</td>
</tr>
<tr>
<td>
lussoluca</td>
<td>
Luca Lusso (lussoluca) :wave:
</td>
</tr>
<tr>
<td>thejimbirch</td>
<p>thejimbirch
</p></tr>
<tr>
<td>
d34dman</td>
<td>
Shibin Das (d34dman)
</td>
</tr>
<tr>
<td>Bisonbleu</td>
<td>
Renaud - (bisonbleu). Top sports players get crazy amount of money, so why not developers. That said, it creates royalty and oversize egos that are difficult to manage… :crown: (edited)
</td>
</tr>
<tr>
<td>
RobLoach</td>
<td>
Rob Loach (robloach) :wave:<br>
RE: Meta. This isn't too far from their hiring history, so I'm not surprised. (edited)
</td>
</tr>
<tr>
<td>
Kristen Pol (she/her)</td>
<td>
Kristen, California :wave: I'll take some of that money please... my kitchen is from 1970 and would love a new one :smile:
</td>
</tr>
<tr>
<td>matthews</td>
<td>
Matthew Saunders - Colorado - (matthews). Meh, I think it is an obscene amount of money.
</td>
</tr>
<tr>
<td>
Bisonbleu</td>
<td>
But «obscene» fits right in our decadent world… :smirk:
</td>
</tr>
<tr>
<td>
Scott Euser</td>
<td>
scott_euser</td>
</tr>
</table>
<h2>1️⃣ Follow up from the previous meeting</h2>
<h2>1️⃣ 1️⃣ Release schedule</h2>
<table>
<tr>
<td>valthebald</td>
<td>as planned, release 1.1.1 was released last Wednesday1.2 alpha is blocked for now (later about it in another thread), but should be released quite soon</td>
</tr>
<tr>
<td>valthebald</td>
<td>next release window is Wednesday, July 23</td>
</tr>
</table>
<h2>2️⃣ Meta issues</h2>
<table>
</table>
<h2>2️⃣ 1️⃣ Security module</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai_initiative/issues/3454452">https://www.drupal.org/project/ai_initiative/issues/3454452</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>and related one[#3518963]</td>
</tr>
<tr>
<td>lussoluca</td>
<td>I hope I can start looking at the guardrails issue this week… (edited)</td>
</tr>
<tr>
<td>breidert</td>
<td>Before you start let's align. Similar work is being done for observability.</td>
</tr>
<tr>
<td>lussoluca</td>
<td>I'm not sure (yet) that is exactly the same, but of course! First of all I'll post my idea about a possibile implementation</td>
</tr>
</table>
<h2>2️⃣ 2️⃣ Local development with ddev</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3532795">https://www.drupal.org/project/ai/issues/3532795</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>@lussoluca the discussion is quite long in the comments, what is the current status here?</td>
</tr>
<tr>
<td>lussoluca</td>
<td>I think I come with a flexible solution, a new DDEV add-on that can be used by any contrib module, that doesn’t require any ddev artifacts to be committed in the module. Along with that, I’ve pushed a dev recipes to install and setup a minimum set of modules. Finally we need another add-on to add ai-specific components, like a vector database (we’re working on it) (edited)</td>
</tr>
<tr>
<td>breidert</td>
<td>This is great, do you need issue review?</td>
</tr>
<tr>
<td>lussoluca</td>
<td>tomorrow I'll write the status of the work on the issue, then yes, I'll need a review</td>
</tr>
</table>
<h2>2️⃣ 3️⃣ Conversational inteface UX/Design</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3533631">https://www.drupal.org/project/ai/issues/3533631</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>@breidert how is it going? any help needed?</td>
</tr>
<tr>
<td>breidert</td>
<td>It is still WIP, I will provide feedback as soon as we have something</td>
</tr>
</table>
<h2>2️⃣ 4️⃣ Base class for OpenAI based clients</h2>
<table>
<tr>
<td>valthebald</td>
<td>[#<a href="https://www.drupal.org/project/ai/issues/3531134">3531134</a>]</td>
</tr>
<tr>
<td>valthebald</td>
<td>This one is fixed!There is a long list of provider modules that are based on Open AI, with this issue merged, they can start removing duplicate code (this would lead to better functionality like grok supporting streamed responses, as noted by @artem)</td>
</tr>
<tr>
<td>breidert</td>
<td>Do we already have issue for this?</td>
</tr>
<tr>
<td>valthebald</td>
<td>@breidert there should be issue per provider,@Marcus Johansson has mentioned that he is in contact with according maintainers</td>
</tr>
<tr>
<td>breidert</td>
<td>Ah yeah, If you include me in a message thread I can help to organize this.</td>
</tr>
<tr>
<td>Marcus Johansson</td>
<td>I'll wait for @artem to test and review this:<span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai_provider_openai/issues/3535032" title="Status: Closed (fixed)">#3535032: Add trigger of the poststreamevent for logging</a></span>.If that works (it should), we can move that also into the base provider - I just want that confirmed first, otherwise we might need to contact them about two things.</td>
</tr>
<tr>
<td>artem</td>
<td>That was working, let me double check</td>
</tr>
<tr>
<td>artem</td>
<td>I have also included that change in this issue[#3535010] (it changes the base class)</td>
</tr>
<tr>
<td>artem</td>
<td>but there are some coding standard problems, I will check them now</td>
</tr>
<tr>
<td>artem</td>
<td>I have rebased the branch, now is all green <a href="https://git.drupalcode.org/project/ai/-/pipelines/547650">https://git.drupalcode.org/project/ai/-/pipelines/547650</a></td>
</tr>
</table>
<h2>3️⃣ High priority issues</h2>
<table>
<tr>
<td>valthebald</td>
<td>Your help needed! The following issues are marked as high priority by @Marcus Johansson</td>
</tr>
</table>
<h2>3️⃣ 1️⃣ Prompt library</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3509235">https://www.drupal.org/project/ai/issues/3509235</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>it was meant to enter alpha1, but if not finished this week, alpha1 will be released anyway</td>
</tr>
<tr>
<td>thejimbirch</td>
<td>This is very interesting.</td>
</tr>
<tr>
<td>Scott Euser</td>
<td>Its fixed and ready to go again. For background, test implementation is in ai content suggestions but contains detailed docs on how to upgrade existing prompt textareas to use this (and test coverage including test coverage for upgrade examples)</td>
</tr>
<tr>
<td>Marcus Johansson</td>
<td>I've been reviewing this in the morning and it looks good! Its merged into 1.2.x with a minor follow up issue:[#3535972]Thanks @Scott Euser!</td>
</tr>
<tr>
<td>breidert</td>
<td>:muscle:</td>
</tr>
</table>
<h2>3️⃣ 2️⃣ Field widget bug</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3534827">https://www.drupal.org/project/ai/issues/3534827</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>bonus issue -<span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai/-/work_items/3535824" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai/-/work_items/3535824</a></span></td>
</tr>
<tr>
<td>Marcus Johansson</td>
<td>Just for prioritization - <a href="https://www.drupal.org/project/ai/issues/3534827">3534827</a> should be done before alpha release, <a href="https://www.drupal.org/project/ai/issues/3535824">3535824</a> doesn't necessarily need to be released with 1.2.0 at all if the UI/UX work is complicated.</td>
</tr>
<tr>
<td>Marcus Johansson</td>
<td>3534827 is ready to be reviewed now.</td>
</tr>
</table>
<h2>3️⃣ 3️⃣ Streaming in OpenAI (edited) </h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai_provider_openai/issues/3535032">https://www.drupal.org/project/ai_provider_openai/issues/3535032</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>with the based class moved to ai module, maybe the issue should move as well?</td>
</tr>
</table>
<h2>3️⃣ 4️⃣ Move external moderation to ai core</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3479913">https://www.drupal.org/project/ai/issues/3479913</a></td>
</tr>
</table>
<h2>4️⃣ Important issues</h2>
<table>
<tr>
<td>valthebald</td>
<td>not immediately required for the next release (so not in the previous section), but still important</td>
</tr>
</table>
<h2>4️⃣ 1️⃣ Symfony AI</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535779">https://www.drupal.org/project/ai/issues/3535779</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>since its announcement last week, Symfony AI initiative has gained a lot of attention in Drupal AI community, and for a good reason!</td>
</tr>
<tr>
<td>valthebald</td>
<td>it would make both projects benefit from building the common low-level AI components</td>
</tr>
<tr>
<td>RobLoach</td>
<td>Had been looking at another library for using an MCP client. Curious if others have implemented something similar with Symphony AI. Will have to check it out.</td>
</tr>
</table>
<h2>4️⃣ 2️⃣ Base AI tools</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3528974">https://www.drupal.org/project/ai/issues/3528974</a></td>
</tr>
</table>
<h2>4️⃣ 3️⃣ Optional upcasting</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3533321">https://www.drupal.org/project/ai/issues/3533321</a></td>
</tr>
</table>
<h2>4️⃣ 4️⃣ Non-breaking change in logging</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535010">https://www.drupal.org/project/ai/issues/3535010</a></td>
</tr>
</table>
<h2>4️⃣ 5️⃣ Fix PhpUnit tests for Max version</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535810">https://www.drupal.org/project/ai/issues/3535810</a></td>
</tr>
<tr>
<td>Scott Euser</td>
<td>Fixed</td>
</tr>
</table>
<h2>4️⃣ 6️⃣ ChatInput changes</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535820">https://www.drupal.org/project/ai/issues/3535820</a></td>
</tr>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535821">https://www.drupal.org/project/ai/issues/3535821</a></td>
</tr>
</table>
<h2>4️⃣ 7️⃣ Remove provider and vdb stubs</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535847@Marcus">https://www.drupal.org/project/ai/issues/3535847@Marcus</a> Johansson claims it's a 5 minutes job 🙂</td>
</tr>
<tr>
<td>Scott Euser</td>
<td>No concerns here, replied in issue</td>
</tr>
</table>
<h2>4️⃣ 8️⃣ Field widget actions (edited) </h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535766">https://www.drupal.org/project/ai/issues/3535766</a> - FieldWidgetAction does not work on Select fields. Have not looked into it[#3534990] - Add documentation for Field Widget Actions.</td>
</tr>
<tr>
<td>Bisonbleu</td>
<td>I’ve been doing lots of testing with Field Widget Action (FWA) automator plugins. For this I added a lot of fields on my Basic Page CT (now looks like a Christmas tree). To remove the clutter, I sometime disable the Enable AI Automator on all fields except the one I’m working on. In doing so, all configs are lost and I have to redo them all.The good new is that I can now do it with my eyes closed (à la Muad’Dib). But it would definitely be nice to have a way to preserve those configs… :spinning-smiley-face:</td>
</tr>
<tr>
<td>Marcus Johansson</td>
<td>@Bisonbleu - Write a +1 on this :wink:<span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-14"><a href="https://www.drupal.org/project/ai/issues/3508800" title="Status: Reviewed & tested by the community">#3508800: Adding Disable Option for AI Automators</a></span></td>
</tr>
<tr>
<td>Marcus Johansson</td>
<td>I have yet had time to look into it, but you are not the only one that has this issue.</td>
</tr>
<tr>
<td>Bisonbleu</td>
<td>Oh… I’ll have a look, thanks!</td>
</tr>
</table>
<h2>4️⃣ 9️⃣ Artifacts gathering in ai_agents</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai_agents/issues/3528726">https://www.drupal.org/project/ai_agents/issues/3528726</a></td>
</tr>
</table>
<h2>4️⃣ 1️⃣ 0️⃣ Views automators</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3505053">https://www.drupal.org/project/ai/issues/3505053</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>Really old issue! Could be a potential game changer. Anyone ready to review?</td>
</tr>
</table>
<h2>4️⃣ 1️⃣ 1️⃣ Image to image operation</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3531212">https://www.drupal.org/project/ai/issues/3531212</a> - Image to Image. Connected issues:<span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-14"><a href="https://www.drupal.org/project/ai_provider_dreamstudio/issues/3531285" title="Status: Reviewed & tested by the community">#3531285: Add ImageToImage capabilities</a></span></td>
</tr>
</table>
<h2>4️⃣ 1️⃣ 2️⃣ Improve AI search indexing</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3487487">https://www.drupal.org/project/ai/issues/3487487</a></td>
</tr>
<tr>
<td>valthebald</td>
<td>that's the last issue preventing ai_search to become non-experimental!</td>
</tr>
<tr>
<td>Scott Euser</td>
<td>Will try to give this another round of testing sometime over the course of the next week</td>
</tr>
</table>
<h2>5️⃣ Non-code related questions</h2>
<table>
</table>
<h2>5️⃣ 1️⃣ Ethical aspects of AI</h2>
<table>
<tr>
<td>valthebald</td>
<td>Discussion issue[#3533875] (edited)</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>I added some notes on this</td>
</tr>
</table>
<h2>5️⃣ 2️⃣ Documentation</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3453630">https://www.drupal.org/project/ai/issues/3453630</a></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>updated the issue</td>
</tr>
</table>
<h2>6️⃣ Open mike! Suggest your topic(s) here (start new threads with 6️⃣ 1️⃣ , 6️⃣ 2️⃣ etc.Discussion will be open until 16:00 UTC July, 15</h2>
<table>
<tr>
<td>Kristen Pol (she/her)</td>
<td><a href="https://drupal.slack.com/archives/C0803LX4536/p1752516806460839?thread_ts=1752516511.595719&cid=C0803LX4536">https://drupal.slack.com/archives/C0803LX4536/p1752516806460839?thread_ts=1752516511.595719&cid=C0803LX4536</a></td>
</tr>
<tr>
<td>Marcus Johansson</td>
<td>One more follow up, that I prepared during the weekend as part of making the logging, but also general development and testing easier. We can now mock any AI Provider call using modules in the core module.This is documented here: <a href="https://project.pages.drupalcode.org/ai/1.2.x/developers/virtual_provider/Video">https://project.pages.drupalcode.org/ai/1.2.x/developers/virtual_provider/Video</a> of it in action here: <a href="https://www.youtube.com/watch?v=MK6JHmclC-E&ab_channel=DrupalAIVideos">https://www.youtube.com/watch?v=MK6JHmclC-E&ab_channel=DrupalAIVideos</a></td>
</tr>
</table>
> Related issue: [Issue #3533872](https://www.drupal.org/node/3533872)
issue