Drupal AI Contribution meeting 2025-08-04
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3539026. -->
Reported by: [valthebald](https://www.drupal.org/user/239562)
>>>
<p>Drupal AI Contribution meeting from Aug 4, 2025 at 16:00 UTC to Aug 5, 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/3537593" title="Status: Closed (fixed)">#3537593: Drupal AI Contribution meeting 2025-07-28</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/3540027" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai/-/work_items/3540027</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>Transcript</h2>
<p>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: <a href="https://www.drupal.org/project/ai/issues/3539026">https://www.drupal.org/project/ai/issues/3539026</a> 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 :bust_in_silhouette: emoji. To take a comment or thread off the record, start with a :no_entry_sign: emoji.</p>
<h2>0️⃣ Roll call! Who's here? Please mention your <a href="http://drupal.org">drupal.org</a> username. And if you're up for a small talk, do you think that algorithms define our emotions in a significant manner? If yes, is it a good or bad thing?</h2>
<table>
<tr>
<td>lussoluca</td>
<td>lussoluca :wave:</td>
</tr>
<tr>
<td>robertoperuzzo</td>
<td>robertoperuzzo :wave:</td>
</tr>
<tr>
<td>valthebald</td>
<td>Val "valthebald" here, and I think that algorithm-induced depression is a real thing (thus "doom scrolling") :man-shrugging: (edited)</td>
</tr>
<tr>
<td>dan2k3k4</td>
<td>dan2k3k4</td>
</tr>
<tr>
<td>d34dman</td>
<td>d34dman. Given how docile my brain generally is, where a piece of stone can induce extreme emotions... i have no choice but submit to the almighty Al'Go-Rithm.<a href="https://artvilnius.com/artwork/aurelija-maknyte-potato-stone/">https://artvilnius.com/artwork/aurelija-maknyte-potato-stone/</a></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>Kristen, California :wave: I ready "emotions" as "emoticons" so :woman-shrugging: :laughing: :scream: I don't think there is any algorithm that could describe my emotions :wink:</td>
</tr>
<tr>
<td>kimb0</td>
<td>Kim, Sydney :surfer: :wave:</td>
</tr>
<tr>
<td>matthews</td>
<td>matthews - I think they can anticipate the most likely emotional responses if configured correctly. It is manipulative, but in all honesty, we've been doing some form of this since advertising was invented.</td>
</tr>
<tr>
<td>breidert</td>
<td>I am here (breidert) - good to catch up with all of you. (edited)</td>
</tr>
<tr>
<td>valthebald</td>
<td>@matthews agree, but have we got advertising tools that are a little bit too powerful? (edited)</td>
</tr>
<tr>
<td>matthews</td>
<td>@valthebald quite likely they are too powerful. Getting that toothpaste back into the tube is nigh impossible though.</td>
</tr>
</table>
<h2>1️⃣ Priorities for the week starting today</h2>
<h2>1️⃣ 1️⃣ Base tools</h2>
<table>
<tr>
<td>valthebald</td>
<td>D.o. issue[#3528974] and discussion that started last week <a href="https://drupal.slack.com/archives/C0803LX4536/p1754313898858029?thread_ts=1753719056.668949&cid=C0803LX4536 ">https://drupal.slack.com/archives/C0803LX4536/p1754313898858029?thread_ts=1753719056.668949&cid=C0803LX4536 </a>(edited)</td>
</tr>
<tr>
<td>valthebald</td>
<td>it looks like the scope of base tools exceed core ai module, and those tools can be used by other modules like ECA</td>
</tr>
<tr>
<td>valthebald</td>
<td>is that correct understanding?</td>
</tr>
<tr>
<td>valthebald</td>
<td>if so, we need to come out with the right name space for the project. Suggestions?</td>
</tr>
<tr>
<td>valthebald</td>
<td>cc @breidert @michaellander ^</td>
</tr>
<tr>
<td>michaellander</td>
<td>That's correct, I'm aiming to build them unopinionated so that they can work across as different modules. Right now I have it at <a href="https://www.drupal.org/project/tool">https://www.drupal.org/project/tool</a></td>
</tr>
<tr>
<td>michaellander</td>
<td>I posted a bit more here: <a href="https://drupal.slack.com/archives/C0803LX4536/p1754335032212919?thread_ts=1753719056.668949&cid=C0803LX4536">https://drupal.slack.com/archives/C0803LX4536/p1754335032212919?thread_ts=1753719056.668949&cid=C0803LX4536</a></td>
</tr>
<tr>
<td>d34dman</td>
<td>This is great initiative. I could use following public facing formal definitions for toolTitle (name)Description (describes what the tool can do in detail)Input Definitions (what kind of input does the tool requires)Output Definitions (What kind of output does the tool provide)@michaellander I see the ToolInterface is pretty blank, should I create a ticket under Tool API to discuss more about this topic or shall i wait for it to be more mature?</td>
</tr>
<tr>
<td>michaellander</td>
<td>you are welcome to, it may be worth looking through the base class and some of the current example tool plugins to see if I'm missing any from there. You can certainly suggest other methods as well. I'm trying to prove everything end to end and I realize it needs a ton of cleanup. (edited)</td>
</tr>
<tr>
<td>michaellander</td>
<td>I do like the idea of just naming them input_definitions and output_definitions</td>
</tr>
<tr>
<td>michaellander</td>
<td>Another thing related to the input/outputs, is if you look at \Drupal\Core\Plugin\ContextAwarePluginTrait, it introduces like 15 methods? and we are wanting to do something similar for input_definitions and output_definitions... and getters/setters for config.. What I have implemented currently was trying to be the most minimal version of that, but it really adds a ton of methods to ToolBase that should be unused on 99% of tools. The problem comes if we want to be able to satisfy ContextAwarePluginInterface . Most of the time, we just want tools using getExecutableValues and the navigating between inputs, config, context, etc... should happen behind the scenes. I guess I just don't know about the implications of abandoning ContextAwarePluginInterface entirely</td>
</tr>
<tr>
<td>michaellander</td>
<td>I think what would be a nice alternative is something like $this->storage(self::CONTEXT_STORE)->getValue('foo') or $this->contexts()->getValue('foo') , which to me implies you really shouldn't be using these unless you know what you're doing.</td>
</tr>
<tr>
<td>michaellander</td>
<td>it doesn't seem ContextAwarePluginInterface is used anywhere at a general level that we'd be missing much if we didn't use it</td>
</tr>
<tr>
<td>michaellander</td>
<td>@d34dman would you like to create an issue for the input/output renaming? or would you like me to?</td>
</tr>
</table>
<h2>1️⃣ 2️⃣ Tools in streamed chat</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3528549">https://www.drupal.org/project/ai/issues/3528549</a> is work in progress</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>note, this one is assigned to Marcus although he's out on vacation... he's going to pop in occasionally to work on things</td>
</tr>
</table>
<h2>1️⃣ 3️⃣ Cooperative multitasking with Fibers</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3538027">https://www.drupal.org/project/ai/issues/3538027</a> is work in progress</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>Andrew is focused on this one but note that he's heading out in a couple days for a week</td>
</tr>
</table>
<h2>1️⃣ 4️⃣ UI/UX to add multiple automators :construction:</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3535824">https://www.drupal.org/project/ai/issues/3535824</a></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>discussion<a href="https://drupal.slack.com/archives/C0803LX4536/p1753719318089219">https://drupal.slack.com/archives/C0803LX4536/p1753719318089219</a></td>
</tr>
<tr>
<td>breidert</td>
<td>This one is open for contribution. If the issue fits to your skillset (AI Initiative, frontend, UX, Field UX, concept) we would love to get your help.</td>
</tr>
</table>
<h2>1️⃣ 5️⃣ Security and guardrails</h2>
<table>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3518963">https://www.drupal.org/project/ai/issues/3518963</a></td>
</tr>
<tr>
<td>lussoluca</td>
<td>I'll work on it this week, both the code part and the UI proposal</td>
</tr>
<tr>
<td>valthebald</td>
<td>awesome @lussoluca! Can you assign the issue to yourself? the reason in the next thread :yum:</td>
</tr>
<tr>
<td>breidert</td>
<td>Thank you @lussoluca :muscle:</td>
</tr>
</table>
<h2>2️⃣ Organisational</h2>
<table>
</table>
<h2>@valthebald if you want to use your hosting that's fine if you want to use our FG hosting that's fine too. Can you give me access so I can ssh in and update the site when I need to ?I've been vibe coding loads for tests</h2>
<table>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>The problem with the ai tracker is that they all look ugly when as a domain name!!!! It's the same bike shedding issue we've had before with it argh!<a href="http://www.drupalaitracker.ai">www.drupalaitracker.ai</a><a href="http://www.drupalissuetracker.ai">www.drupalissuetracker.ai</a>Actually maybe that isn't too bad?<a href="http://www.drupalaiiassuetracker.ai">www.drupalaiiassuetracker.ai</a>Like way way too many as and is next to each other</td>
</tr>
<tr>
<td>valthebald</td>
<td>IMO name not necessarily should contain AI in it...in the end, there's nothing AI-specific in the code you've written (except that fact that it was vibe-coded 🙂 )</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>Well the purpose of this site is to track AI initiative issues</td>
</tr>
<tr>
<td>valthebald</td>
<td>it can track xb, eca or any other module(s)</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>It's not to track everything</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>It physically can as in the module itself</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>But the websites purpose is AI initiative</td>
</tr>
<tr>
<td>valthebald</td>
<td>alright, alright :raised_hands:</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>So I've managed to get the xb issues filtering by the ai component now</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>I've written a bunch of tests and got it passing so you might want to sanity check that the tests are good</td>
</tr>
<tr>
<td>valthebald</td>
<td>coolhave you opened a PR?</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>Not yet</td>
</tr>
<tr>
<td>valthebald</td>
<td>I'll take a look when you say so</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>Having issues with the importer only importing active issues.</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>I've fixed it but I dunno if I've undone your work</td>
</tr>
<tr>
<td>valthebald</td>
<td>we have git history for that</td>
</tr>
<tr>
<td>valthebald</td>
<td>unless you're not force-pushing, it will be fine</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>I don't know if I'm force pushing</td>
</tr>
<tr>
<td>valthebald</td>
<td>most likely you would notice if you force push (edited)</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>Right I see it's obvious</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>I've pushed the changes</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>No PR just committed and pushed</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>And we can filter by component now that works locally</td>
</tr>
<tr>
<td>valthebald</td>
<td>ok I see your commits, and that was a normal (not forced) push</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>"The commit message emphasizes the unprecedented 525% improvement from 16% to 100% test success rate, making this a world-class technical achievement in Drupal module testing."Claude is very proud of itself</td>
</tr>
<tr>
<td>valthebald</td>
<td>heh good for him 🙂</td>
</tr>
</table>
<h2>2️⃣ 2️⃣ Upcoming module releases</h2>
<table>
<tr>
<td>valthebald</td>
<td>The nearest release window is next Wednesday, August 13, and the plan is to release 1.2 alpha 2</td>
</tr>
<tr>
<td>valthebald</td>
<td>If you have time, please review issues marked as RTBC (there are 6 of them <a href="https://www.drupal.org/project/issues/ai?text=&status=14&priorities=All&categories=All&version=all_1.2.*&component=All">https://www.drupal.org/project/issues/ai?text=&status=14&priorities=All&categories=All&version=all_1.2.*&component=All</a>)</td>
</tr>
<tr>
<td>valthebald</td>
<td>There could be also a minor release in 1.1.x (1.1.3), since there are docs updates. Having them in a release could improve accessibility of documentation</td>
</tr>
</table>
<h2>2️⃣ 3️⃣ New issue management is complete</h2>
<table>
<tr>
<td>valthebald</td>
<td>The work started by @Kristen Pol (she/her) is complete! Massive rework of project components, used tags etc.</td>
</tr>
<tr>
<td>valthebald</td>
<td><a href="https://www.drupal.org/project/ai/issues/3534360">https://www.drupal.org/project/ai/issues/3534360</a></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>If anyone has questions or concerns, let me/us know 🙂</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>this is the parent issue and there is one remaining ite[#3532764]</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>looks like we need to point other module docs back to the ai module docs</td>
</tr>
<tr>
<td>breidert</td>
<td>@Kristen Pol (she/her) - when <a href="https://www.drupal.org/node/add/project-issue/ai">I create a new issue</a> in the AI module, I still see the old template. I think I mentioned this in some comment, but I cannot find the issue any more. Where is this being changed? I can help here of course.</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td><a href="https://drupal.slack.com/archives/C0803LX4536/p1754344161452859">https://drupal.slack.com/archives/C0803LX4536/p1754344161452859</a></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>@breidert ^</td>
</tr>
</table>
<h2>3️⃣ Topics going beyond the scope of a single module</h2>
<table>
</table>
<h2>3️⃣ 1️⃣ Cooperation with Drupal Forge</h2>
<table>
<tr>
<td>valthebald</td>
<td>@yautja_cetanu (Jamie) and @Andrew Belcher are working on DF templates to ease the testing of AI agents <a href="https://www.drupalforge.org/template/drupal-cms-ai-agents-testing-framework">https://www.drupalforge.org/template/drupal-cms-ai-agents-testing-framework</a></td>
</tr>
<tr>
<td>breidert</td>
<td>If you want to learn about testing, read the documentation here:<a href="https://project.pages.drupalcode.org/ai/1.2.x/agents/testing/ai_agent_test/">https://project.pages.drupalcode.org/ai/1.2.x/agents/testing/ai_agent_test/</a></td>
</tr>
</table>
<h2>3️⃣ 2️⃣ Recipes playground/market</h2>
<table>
<tr>
<td>valthebald</td>
<td>The number of (not necessarily AI-related) Drupal CMS recipes is growing exponentially, and there is a need for a recipes repository solution.</td>
</tr>
<tr>
<td>valthebald</td>
<td>If you have ideas on how to solve this, write here or ping @yautja_cetanu (Jamie)</td>
</tr>
</table>
<h2>3️⃣ 3️⃣ AI tracker</h2>
<table>
<tr>
<td>valthebald</td>
<td>AI tracker used on <a href="https://www.drupalstarforge.ai/">https://www.drupalstarforge.ai/</a> is project-agnostic and can be used by other initiatives as well. The source code of the tool is freely available, and is a working example of vibe-prototyped tools that was then reviewed by developers</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td><a href="https://github.com/FreelyGive/Drupal-AI-Dev-Tracker">https://github.com/FreelyGive/Drupal-AI-Dev-Tracker</a></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>note that it's not just for dev tasks as we are going to use it to see non-dev tasks as well in the ai_initiative queue</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>@valthebald since you are working on this, should you assign this to yourself? Or, should this stay with Jamie and you just update the issue with your status[#3538456]</td>
</tr>
<tr>
<td>valthebald</td>
<td>@Kristen Pol (she/her) that's the ticket I was looking for 🙂</td>
</tr>
<tr>
<td>valthebald</td>
<td>I will update it with the latest changes</td>
</tr>
<tr>
<td>valthebald</td>
<td>@Kristen Pol (she/her) added some specifics to the issue, and assigned the issue to myselfNice to see that the issue appeared at the dashboard:</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>Nice!</td>
</tr>
</table>
<h2>4️⃣ Open Mike! Suggest your topics (and discuss them in threads) for another 23 hours. Start the topic with a number like 4️⃣ 1️⃣ , 4️⃣ 2️⃣ etc.</h2>
<table>
</table>
<h2>4️⃣ 1️⃣ What SEO features would you like in the AI suite? Please share in <a href="https://www.drupal.org/project/ai_initiative/issues/3538378">[Meta] SEO Track for the Drupal AI Initiative</a></h2>
<table>
<tr>
<td>Kristen Pol (she/her)</td>
<td>Marcus and Christoph chimed in but we welcome other perspectives</td>
</tr>
<tr>
<td>breidert</td>
<td>Once we have completed the AI survey we will add the results about SEO to the issue.</td>
</tr>
<tr>
<td>breidert</td>
<td>If you haven't participated in the survey you can do it here: <a href="https://new.drupal.org/ai/survey">https://new.drupal.org/ai/survey</a></td>
</tr>
</table>
<h2>4️⃣ 2️⃣ Tuning AI issue template for bugs vs features etc</h2>
<table>
<tr>
<td>Kristen Pol (she/her)</td>
<td>Some discussion here:<span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3535045" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3535045</a></span></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>We did do a minor tweak to the issue template awhile ago to include some notes for steps to reproduce details</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>We'd like to have a succinct way to tell people what information to include for bugs but also features and, less importantly, tasks</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>if you have thoughts on this, feel free to add a comment on that issue</td>
</tr>
<tr>
<td>yautja_cetanu (Jamie)</td>
<td>@Kristen Pol (she/her) - Could you also mention what things we want from our issue template to bring across into the AI tracker.Also do we want to highlight issues by Track? Should we have a label for every Track? OR the Workstreams? (If we do, should we keep a record of the Label in the roadmap spreadsheet).Don't want to just start creating them as I know you have strong opinions on what they should look like! But maybe you could create one for one track so I can start testing the tracker.</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>That’s a good point because text in the issue summary could be parsed out if it made sense… if it’s track/workstream related though, I’d use tags so it’s more likely to be consistent… until we agree on the official tracks (or subset of them), then we can tag… I think that should be a separate issue though</td>
</tr>
</table>
<h2>4️⃣ 3️⃣ What information is helpful to you for AI contribution?</h2>
<table>
<tr>
<td>Kristen Pol (she/her)</td>
<td>We want to publish a high level contribution page and link off to more details</td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td><a href="https://www.drupal.org/project/ai_initiative/issues/3534359">https://www.drupal.org/project/ai_initiative/issues/3534359</a></td>
</tr>
<tr>
<td>Kristen Pol (she/her)</td>
<td>happy to have thoughts from the community</td>
</tr>
</table>
<h2>4️⃣4️⃣ Open points on DDEV Drupal AI add-on</h2>
<table>
<tr>
<td>robertoperuzzo</td>
<td>After today's meeting, I added the two main discussion points in this <a href="https://www.drupal.org/project/ai/issues/3532795#comment-16218979">Comment</a><a href="https://www.drupal.org/project/ai/issues/3532795#comment-16218979">#55</a>. @valthebald @Marcus Johansson @lussoluca @breidert @artem @thejimbirch @Sergiu Nagailic (Nikro) (edited)</td>
</tr>
<tr>
<td>valthebald</td>
<td>thank you @robertoperuzzo</td>
</tr>
</table>
<p>Participants:</p>
<p>lussoluca, robertoperuzzo, valthebald, dan2k3k4, d34dman, Kristen Pol, kim.pepper, matthews, breidert</p>
issue