Daily Digest
Daily Digest – 23 June 2026
2026 Capabilities Progress
- Page generation — Canvas AI added layout fixture support for testing page builder agents [67][92], and work continues on giving AI more context about site styling [66]. The chatbot title/description generation behavior is being refined [63].
- Context management — CCC delivered five enhancements including a public API for scope subscription forms [93][108], fixes for custom scope values [99][110], conditional subcontext improvements [97][109], and example context items from the Chicago demo [102][112]. New requests for RAG integration APIs [94] and CKEditor context injection [98] are under consideration.
- Background agents — ECA integration progressed with nine new automation action types in development covering audio, image, video, and text processing [26][27][28][29][30][31][32][33][34], with three merge requests under review [35][36][37]. AI Agents saw work assigned on executor tracking [44] and error handling improvements [43].
- Design system integration — Canvas progressed on component instance version propagation across translations [57][72], progressed on heuristics for content-entity-reference selection [46][73], and in progress multiple UI fixes [53][78][81]. Next milestone is completing the translation propagation architecture.
- Content creation and discovery — Batch embeddings progressed across AI Search [113][117], OpenAI [38], Gemini [40][42], and Pinecone providers [132], significantly improving indexing performance. Field Widget Actions progressed on interactive refinement capability [118][124] and fixed suggestion event handling [120][125]. AI translate work progressed on timeout issues on large content [128][131].
- Advanced governance — Canvas progressed on conflict detection improvements [76][83] with resolution UI in draft [75][91], and merged fixes to prevent data loss when reviewing multi-language pending changes [62][88]. A moderation guardrail plugin is under development [9][10].
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — No direct progress today.
Shipped
- Context Control Center public API released — A new API allows other modules to build context subscription forms without duplicating internal code, removing integration barriers [108].
- Context Control Center integration fixes delivered — Custom scope values from third-party modules are now properly recognized, and conditional context loading now reduces latency and provider costs [109][110].
- Canvas translation safety fix deployed — The pending changes review screen now shows only default-language content, preventing accidental corruption or deletion of translations [88].
- Field Widget Actions user experience improvements — Automated content suggestions now properly trigger follow-on actions, and configuration menus only show genuinely available tools [125][127].
- Canvas test infrastructure enhanced — AI agent testing now runs against realistic layouts, and test suite parallelization reduces pipeline wait times [92][71].
Ongoing
- Batch embedding performance upgrades in progress — OpenAI, Gemini, and AI Search providers are adding batch processing to reduce costs and speed up large-volume content indexing [38][42][117].
- Canvas translation synchronization under development — Component version updates will automatically propagate to all language translations, preventing content drift across localized sites [72].
- AI chatbot permission simplification under review — Administrators currently configure permissions in two separate locations; consolidation into a single model would reduce confusion and access errors [18].
- Large content translation reliability being addressed — Pages with over 1000 words currently time out during translation; chunking solution is under review [131].
- Field Widget Actions interactive refinement capability proposed — Users would be able to iteratively improve AI-generated content through conversation rather than regenerating from scratch [124].
AI (Artificial Intelligence)
The AI module saw focused activity on June 23rd addressing usability, configuration, and developer experience improvements. No code was merged during this period, but contributors advanced several in-progress features and identified important quality issues.
Work continued on improving the module's usability for site builders. A proposal to simplify chatbot permissions is under review—currently, administrators must configure permissions in two separate places, which can lead to confusing access errors. The solution would consolidate these into a single, clearer permission model. Similarly, contributors identified that the CKEditor AI integration can appear configured even when required provider modules are missing, causing silent failures when users attempt to use the feature.
Several enhancements are progressing with active development: support for using JSON schema elements in dialog windows, adding MariaDB as a vector database option, and batch processing for faster content indexing. The team is also working on expanding moderation capabilities to allow any moderation provider to function as a content guardrail.
Three bugs were documented: incorrect documentation about link security settings, a validation issue affecting forms with multiple AI prompt elements, and indexing failures with custom search data sources.
How can I help on this project?
- Prioritize user testing resources for the permission simplification work to validate whether the proposed single-permission model addresses administrator confusion.
- Support decision-making on the module deprecation strategy being researched—this affects how sites will transition bundled features to standalone modules.
Drupal AI Initiative
The Drupal AI Initiative has entered an intensive planning phase for the Enterprise AI Summit, scheduled for September in Rotterdam. Over the past 24 hours, the team has opened seven new work items focused on event logistics, marketing, and partnership development.
Key preparation work now underway includes finalizing sponsorship arrangements (with three gold, two silver, and one bronze tier confirmed or pending), developing sponsor lead registration forms, and improving the mobile experience of the event website. The team is also exploring partnerships with professional organizations like ThomsonReuters and CIONet to extend the event's reach to their audiences.
On the content side, Paul Johnson (pdjohnson) has initiated work to source case studies from summit session submissions, which will support broader marketing efforts and identify potential contributors to webinars and articles. Two organizational gaps remain: social media coordination and volunteer recruitment for on-site event support are both currently unassigned.
How can I help on this project?
- Assign an owner for social media promotion to ensure the summit reaches its target audience.
- Facilitate decision-making on partnership terms with member organizations to finalize outreach agreements.
- Allocate resources to recruit Dutch-speaking volunteers for registration and event coordination roles.
AI Integration - ECA
The project is advancing toward its version 1.0 milestone with a focused effort to expand support for AI-powered automation workflows. Over the past 24 hours, nine new work items were opened to enable business users to trigger additional AI capabilities through automated processes without writing custom code.
Marcus Johansson (Marcus_Johansson) identified gaps in the current automation coverage and created tasks to add support for advanced AI operations including audio processing, image and video generation, content summarization, and visual analysis tools like object detection and image classification. These additions will allow organizations to automate more sophisticated content workflows—such as automatically generating video from images, detecting objects in uploaded media, or summarizing lengthy documents.
Early community response has been positive, with Joshua Fernandes (joshua1234511) already submitting draft solutions for Text Classification and Summarization, and Marcus Johansson opening a comprehensive solution covering all nine operations. These submissions are under review.
The remaining items—Audio to Audio, Image Classification, Image to Image, Image to Video, Object Detection, and Speech to Speech—are available for contribution.
How can I help on this project?
- Prioritize code review capacity to evaluate the three pending merge requests, which would deliver all nine automation capabilities in one release cycle.
- Clarify strategic priorities if certain AI operations (video generation, speech processing) require earlier delivery than others to support specific business use cases.
OpenAI Provider
The OpenAI Provider module saw focused development activity this period, with work advancing on batch embedding capabilities. Paul Sheldrake (paulsheldrake) opened a merge request to add support for batch embeddings, which will allow the system to process multiple embedding requests together rather than one at a time. This enhancement is significant for efficiency: batch processing typically reduces costs and speeds up operations when working with large volumes of content, such as analyzing multiple documents or processing user queries at scale.
The change is currently under review and has not yet been merged into the main codebase. Once completed and tested, users should see improved performance and lower API costs when generating embeddings for multiple items simultaneously.
How can I help on this project?
- Ensure the batch embeddings work receives timely code review to maintain development momentum and deliver cost savings to users.
- Clarify priority roadmap items to help contributors focus efforts on the features that matter most to your organization's AI strategy.
Gemini Provider
The Gemini Provider module made progress on two key quality and capability improvements over the past day.
Work continues on Add support for batch embeddings, which will enable the module to process multiple embedding requests simultaneously. This capability is important for performance when working with large volumes of content, as it reduces the number of individual requests needed. Artem Dmitriiev (a.dmitriiev) has prepared a merge request that is currently under review.
The team also closed an issue related to code quality checks. Joshua Fernandes (joshua1234511) resolved Fix pre-existing PHPStan failures (deprecation issues), which was preventing the automated testing system from accurately reporting the status of new features. This was blocking clear visibility into whether new work was ready to ship. A fix has been opened to address known false positive errors in the testing framework.
How can I help on this project?
- Assign a reviewer to evaluate the batch embeddings merge request to prevent delivery delays
- Ensure the team has access to technical expertise on code quality tooling to finalize the testing infrastructure improvements
AI Agents
Activity over the past 24 hours centered on issue assignment and planning, with two existing issues now assigned to team members. Both relate to improving the reliability and flexibility of the AI Agents system.
Ahmad Khader has been assigned to work on Add a way to mark the executor on agent runner, which will enable the system to track who initiated an agent. This capability will allow different users or systems to receive customized responses based on their role or context, making the platform more adaptable to different business needs.
Joonas Meriläinen (mErilainen) is now assigned to address Exceptions in tool execute break the UI for the user. Currently, when configuration errors occur, users see a broken interface without explanation. This work will ensure users receive clear feedback when something goes wrong, improving the overall user experience and reducing support burden.
No code was merged during this period, as both issues are in the planning and assignment phase.
How can I help on this project?
- Ensure Ahmad Khader and Joonas Meriläinen have dedicated time allocated to complete their assigned work without competing priorities.
- Consider whether user experience testing resources should be lined up to validate the error handling improvements once implemented.
Tool API
The Tool API module saw discussion this week on improving how data is delivered to different types of systems. Currently, when the module executes a tool, it wraps the results in explanatory text. This works well when the output is being read by AI systems that analyze text, but creates problems when other software systems need to process the raw data directly.
A feature request to allow controlling tool return format was opened to address this limitation. The issue explores several approaches, including delivering raw results without wrapping text or separating the explanatory text from the actual data. Solving this would make the module more flexible and compatible with a wider range of integration scenarios, particularly for systems that consume structured data rather than natural language output.
No code changes were delivered during this period. The module remains in active development as part of the AI Initiative Sprint.
How can I help on this project?
- Confirm the priority and timeline for the return format feature, as this affects integration architecture decisions for teams building on the module.
- Identify and connect technical contributors who can evaluate the proposed approaches and begin implementation work.
Drupal Canvas
Over the past 24 hours, the Canvas team completed three key improvements and continued work on translation, conflict resolution, and AI capabilities.
The team merged Split the PHPUnit-Kernel CI test suite across 4 parallel jobs instead of 3, reducing pipeline wait times as the automated test suite has grown. This helps all contributors get faster feedback on their work.
A critical fix was merged to address Only show default-language entities when reviewing auto-saved (pending) changes. Previously, the pending changes review screen showed separate rows for each language translation, but acting on non-default translations could corrupt or delete the wrong content. The system now shows only the primary language version until full multi-language support is ready, preventing data loss.
The team also merged Canvas AI: add layout fixture support so page builder and template builder agent tests can run against a realistic layout, which provides infrastructure for automated testing of AI agents. This reduces the manual verification burden when improving AI prompts and behaviour.
Active development continues on component version updates across translations, conflict detection and resolution interfaces, boolean form field behaviour fixes, and AI chatbot refinements. Christian López Espínola (penyaskito) and Wim Leers (wimleers) are progressing on Symmetric translation: component instance version updates must propagate to all translations, ensuring that when a code component changes, all language versions stay synchronized.
How can I help on this project?
- Prioritize code review capacity for the translation propagation work (MR !1271), which is marked critical and requires architectural decisions about configuration override handling.
- Consider resourcing UI polish work, particularly the boolean field fixes that affect day-to-day editing experience.
Context Control Center (CCC)
The Context Control Center project delivered five significant enhancements over the past 24 hours, focused on making the platform easier to integrate and extend for downstream users.
The team merged a new public API for building scope subscription forms, contributed by Kristen Pol (kepol). This removes a barrier for other modules that want to offer context subscription interfaces outside of AI agents, eliminating the need for them to rebuild logic internally.
Two integration fixes were completed: Ahmad Khader (Ahmad-Khader) resolved an issue where custom scope values added by third-party modules were being ignored in forms, and Abhisek Mazumdar (abhisekmazumdar) delivered conditional subcontext provider improvements that reduce latency and provider usage when building dynamic context.
Anikó Viola (violaniko) added example context items from the Chicago Driesnote demo to help new users understand and test the system. Kristen Pol also standardized version requirements across submodules.
Two new feature requests have been raised by integrators: a formal API for external RAG and vector store integrations, and support for injecting context into rich-text editing requests. Both are under consideration for the stable release roadmap.
How can I help on this project?
- Decide whether the external RAG integration API request should be prioritized for stable release or deferred post-1.0, and ensure the team has clarity on ecosystem expectations.
- Allocate resources to deliver real-world sample context items for end users, potentially as a recipe, to reduce onboarding friction.
AI Search
Development work progressed on improving the module's indexing performance and addressing compatibility issues. Artem Dmitriiev (a.dmitriiev) opened a merge request to implement batch embeddings for improved indexing performance, which will allow the system to process multiple pieces of content at once rather than one at a time, significantly speeding up search indexing operations for sites with large content volumes.
Three existing bug reports saw updates during the period, indicating ongoing investigation into compatibility and reliability issues. These include problems with title field detection when custom field names are used, support for non-standard search data sources, and standardization of naming conventions across different database providers. While these issues remain unresolved, they represent normal maintenance work for a module in active development and do not block current functionality for standard use cases.
How can I help on this project?
- Prioritize testing resources for the batch embeddings feature once merged, as performance improvements will need validation across different deployment scenarios.
- Consider allocating developer time to address the open compatibility bugs, particularly if your organization uses non-standard search configurations.
Field Widget Actions
The Field Widget Actions module saw significant progress in the past 24 hours, with three improvements merged and one major feature under review.
Two bug fixes were completed that improve the user experience. The first addresses a problem where automated content suggestion tools were not properly communicating with other parts of the system — for example, users working with autosave features or other integrations would find that selecting a suggestion did not trigger expected follow-on actions. This has now been resolved by Volker Killesreiter (volkerk) through Missing events in suggestion.js. The second fix, contributed by Artem Dmitriiev (a.dmitriiev), eliminates confusion where users could see automation tools in a configuration menu that were not actually usable in their context — the interface now only shows options that are genuinely available (Field Widget Actions show in the "Add New Action" unavailable tools).
The project also received automated compatibility updates to ensure it will work with the next major platform release, and closed out several administrative and testing items.
A new feature is currently under review that would allow users to iteratively refine AI-generated content through a conversational interface, rather than having to regenerate from scratch or manually edit. This capability is being developed by Edward Zwart (ezeedub) in response to Add interactive refinement capability to Field Widget Actions.
How can I help on this project?
- Review and approve the interactive refinement feature proposal to give the team clarity on whether this strategic direction aligns with your content workflow goals.
- Connect the team with end users who could provide feedback on the refinement interface before it is finalized.
AI translate
The AI translate project saw progress on two key reliability issues during this period. A solution is now under review to prevent translation failures on large content pages. Currently, when users attempt to translate pages with more than 1000 words or several hundred HTML elements, the system times out and fails. A merge request has been submitted by Miriam Nugent (Peacog) to address 504 Time out on large content by breaking large content into smaller, manageable pieces before processing.
Separately, the team is addressing a significant user experience gap around error visibility. The issue titled Translation batch process does not handle translation errors, assigned to Ilia Nozadze (IliaNoz), highlights that when individual field translations fail, users receive no notification. In some cases, the system creates a translation record containing untranslated content without alerting the user to the failure, which can cause confusion and workflow problems.
A documentation question was also raised by Michael Anello (ultimike) regarding What's the point of the "Chat proxy to LLM" provider?, indicating a need for clearer explanation of certain integration options.
How can I help on this project?
- Prioritize code review and testing resources for the large content handling solution to unblock deployments for high-volume sites.
- Support documentation improvements to clarify provider selection and configuration for new users.
Pinecone VDB Provider
The Pinecone VDB Provider module enables Drupal sites to store and search vectorized data using Pinecone's cloud database service, supporting advanced search and AI-driven content features.
During this period, Rob Loach (robloach) opened and self-assigned work on Support batching on indexing operations. This enhancement will allow the system to process large volumes of content more efficiently by grouping indexing tasks together, rather than handling them one at a time. For organizations with substantial content libraries, this means faster indexing performance and reduced operational overhead when updating search indexes.
No code has been merged yet, which is expected for newly opened work. The module continues in active development as part of the broader AI integration ecosystem for Drupal.
How can I help on this project?
- Ensure Rob Loach has adequate time allocated to complete the batching enhancement, as this will directly impact performance for larger deployments.
- Consider identifying early adopter sites to test the batching functionality once available, providing real-world feedback on performance improvements.
References
[9] Add a Moderation Guardrail plugin (configurable moderation provider/model as a guardrail)
[10] Guardrail plugins only evaluate the last message
[18] Remove access deepchat api permission and use Assistant roles as the single source of truth
[26] Add ECA execute action for Audio to Audio
[27] Add ECA execute action for Image Classification
[28] Add ECA execute action for Image to Image
[29] Add ECA execute action for Image to Video
[30] Add ECA execute action for Object Detection
[31] Add ECA execute action for Speech to Speech
[32] Add ECA execute action for Summarization
[33] Add ECA execute action for Text Classification
[34] Add ECA execute action for Text to Image
[35] Resolve "9 different new actions"
[36] Issue #3585009: Added ECA execute action for Summarization.
[37] Issue #3585010: Added ECA execute action for Text Classification.
[38] add support for batch embeddings
[40] Add support for batch embeddings
[43] Exceptions in tool execute break the UI for the user
[44] Add a way to mark the executor on agent runner
[46] Add heuristics for exposing fields/props to the content-entity-reference selection UI
[53] Boolean props auto-enable when another prop is changed in the Canvas form
[57] Symmetric translation: component instance version updates must propagate to all translations
[62] Only show default-language entities when reviewing auto-saved (pending) changes
[63] Canvas AI: Chatbot generates page title and description without user request
[66] Give AI more context around the styling of the site
[73] feat(Internal HTTP API): #3591669 Heuristics for the content-entity-reference selection UI
[76] feat(Conflict detection): #3587526 "Detect conflicts during publishing of changes to Page entity"
[78] fix(ui): #3591716 boolean props auto-enable when another prop is changed (1.6.0)
[81] fix(ui): #3591716 boolean props auto-enable when another prop is changed
[83] feat(Conflict detection): #3587526 "Client side prevention of publishing"
[88] fix: #3591704 Hide non-default-translation auto-saves from the pending-changes GET response
[91] Draft: feat(conflict): Add conflict resolution UI with viewport selection and route integration
[92] Issues/3591591: Add fixture support for layout to use in tests
[97] Conditional Subcontext Provider Calls
[98] Inject context into ai_ckeditor requests
[99] hook_ai_context_scope_values_alter() is not honored in scope value forms
[102] Provide test context items for testing CCC
[109] Issue #3586207: Add conditional subcontext toggle, cap, and per-request cache.
[110] Issue #3586246: hook_ai_context_scope_values_alter() is not honored in scope value forms
[112] Issue #3586244: Add example context items from the Chicago Driesnote demo.
[113] Batch embeddings for improved indexing performance
[117] Resolve "Batch embeddings for improved indexing performance"
[118] Add interactive refinement capability to Field Widget Actions
[120] Missing events in suggestion.js
[124] Issue #3547306: Add interactive refinement capability to Field Widget Actions
[125] Trigger events in case of value update on suggestion
[127] Issues #3536116: Omit unavailable plugins in field widget actions configuration field widget form
[128] 504 Time out on large content
[131] Issue #3545381 Split large HTML fields into chunks of a maximum number of characters
Shipped
- CCC scope form API stabilization — Exposed AiContextScopeFormBuilderInterface as a public API so contrib modules can build scope subscription forms without depending on internal services [108].
- CCC hook_ai_context_scope_values_alter() fix — Fixed hook_ai_context_scope_values_alter() to properly work in both scope value forms and matching logic [110].
- CCC conditional subcontext performance — Added per-request cache and toggle to control latency from synchronous provider calls during conditional subcontext resolution [109].
- Canvas PHPUnit-Kernel CI parallelization — Split the PHPUnit-Kernel test suite across 4 parallel jobs instead of 3 to reduce pipeline wall-clock time [71].
- Canvas pending-changes translation visibility fix — Fixed pending-changes GET endpoint to hide non-default-translation auto-saves, preventing broken per-translation discard paths [88].
Ongoing
- AI batch embeddings for indexing — Multiple MRs implementing batch embedding support across ai module, OpenAI provider, Gemini provider, and ai_search for improved indexing performance [16][17][38][42][117].
- Field Widget Actions interactive refinement — MR implementing opt-in modal-based refinement workflow using Form API for iterative prompt interaction is under review [124].
- AI guardrail plugins evaluation scope — Guardrail plugins currently only evaluate the last message instead of full conversation context [10].
- Canvas symmetric translation propagation — Component instance version updates must propagate to all translations, requiring StagedLanguageConfigOverride entity [72].
- AI translate large content chunking — MR splits large HTML fields into chunks to prevent 504 timeouts on content over 1000 words [131].
AI (Artificial Intelligence)
Activity in the AI module over the past 24 hours focused on issue triage and new merge request submissions, with no commits merged to the codebase.
Three new MRs were opened addressing distinct functional gaps: Ahmad Khader (Ahmad-Khader) submitted MR !1680 to fix rendering and value synchronization for the ai_json_schema element inside off-canvas dialogs, which currently fails in contexts like the BPMN modeler. Juan Martinez (jcmartinez) opened MR !1705 to register the MariaDB vector database provider in the VDB registry, enabling UI discovery. Prabhavathi Vanipenta (prabha1997) proposed MR !1703 to consolidate chatbot access control by removing the access deepchat api permission in favor of Assistant entity role checks, addressing confusion documented in Permissions to use AI Assistant are confusing.
New issues raised include Darren Oh (darrenoh) identifying an inaccurate description in the external link security form text, and Javier Destefanis (javierdestefanis) reporting that AiPromptSubForm validates inline prompts against stale prompt types when multiple ai_prompt elements exist on a single form.
How can I help on this project?
Review MR !1680 for off-canvas dialog support in ai_json_schema, or MR !1703 for chatbot access permission consolidation. Pick up the unassigned documentation bug in AiSettingsForm. Test and provide feedback on AiPromptSubForm validation issue with multiple prompt elements.
Drupal AI Initiative
The Drupal AI Initiative saw organizational activity focused on the upcoming Enterprise AI Summit in Rotterdam. Seven work items were created or updated on June 23rd, covering event logistics and marketing efforts.
Key tasks opened include wouters_frederik (wouters_frederik) creating issues for sponsor lead submission forms, mobile site optimization, and volunteer recruitment. Scott Lawrence (slawrence10) was assigned to Make the site look nice on mobile and Update sponsors + subpages on Enterprise AI summit website, with the latter noting confirmed sponsorships including two silver spots (CKEditor and Yourself) and one bronze (Amazee), with three silver holds pending.
Paul Johnson (pdjohnson) created a task for Rosie Gladden (rgladden) to Source case studies from AI Summit Rotterdam, aiming to extract new Drupal AI use cases from session submissions and establish contact with presenters for further content development.
Several organizational tasks remain unassigned, including social media coordination and partnership outreach to organizations like ThomsonReuters and CIONet. No merge requests or commits were recorded during this period.
How can I help on this project?
- Pick up the unassigned organise social media (MARIA) task to coordinate Summit promotion efforts.
- Help with find dutch volonteers to help with the event by reaching out to local Drupal communities.
- Contribute to partnership strategy on submit offer to ThomsonReuters / CIONet / VOKA / Beltug for cooperation.
AI Integration - ECA
Activity this period centered on planning for the 1.0.0 roadmap. Marcus Johansson (Marcus_Johansson) opened nine new issues targeting missing ECA execute action plugins for AI operation types. The module currently provides actions for Chat, Embedding, Moderation, Speech to Text, and Text to Speech, but lacks coverage for newer operation types including Audio to Audio, Image Classification, Image to Image, Image to Video, Object Detection, Speech to Speech, Summarization, Text Classification, and Text to Image.
All proposed plugins follow the same pattern: extending AiConfigActionBase to build the matching Input class from the respective operation type namespace and dispatch through the configured provider. Joshua Fernandes (joshua1234511) has submitted merge requests for Summarization (MR !11) and Text Classification (MR !10), while Marcus Johansson has a comprehensive MR !9 covering multiple actions. No code was merged during this period.
How can I help on this project?
- Review the open merge requests for Summarization and Text Classification to help move these toward commit.
- Pick up one of the unassigned issues without MRs (Audio to Audio, Image Classification, Image to Image, Image to Video, Object Detection, or Speech to Speech) and implement the action plugin following the AiConfigActionBase pattern.
OpenAI Provider
Development activity this period centered on embeddings functionality. Paul Sheldrake (paulsheldrake) opened add support for batch embeddings, which addresses issue #3568659. The merge request adds 89 lines of code to enable batch processing of embeddings through the OpenAI provider. The MR is currently under review and has not yet been merged.
No commits were pushed or merge requests merged during this reporting period, leaving the batch embeddings work as the primary active development effort awaiting review and approval.
How can I help on this project?
- Review and test the batch embeddings MR to help move it toward merge.
- Check the project's issue queue for unassigned bugs or feature requests without active MRs that you could pick up.
Gemini Provider
The Gemini Provider module saw progress on code quality and feature development during this period. The Fix pre-existing PHPStan failures (deprecation issues) issue was closed, addressing false positives in PHPStan analysis that were blocking CI and masking the real status of feature MRs. Joshua Fernandes (joshua1234511) opened MR !40 to ignore known PHPStan false positives stemming from upstream AI module docblock issues.
Work continued on the Add support for batch embeddings feature. This enhancement will enable the module to leverage Gemini's batchEmbedContents method when processing multiple embeddings, following up on earlier AI module work. Artem Dmitriiev (a.dmitriiev) has an open MR !37 implementing this functionality with 375 lines changed, currently awaiting review.
How can I help on this project?
AI Agents
Activity in the AI Agents module over the past 24 hours focused on issue triage and assignment rather than code merges. Two issues saw updates as they were assigned to contributors for work.
Joonas Meriläinen (mErilainen) was assigned to Exceptions in tool execute break the UI for the user, a bug affecting the AI Agent Explorer where tool definition errors cause uncaught exceptions that break the UI without providing user feedback. The issue affects scenarios where context definitions are inaccurate, leaving users without visibility into failures.
Ahmad Khader (Ahmad-Khader) picked up Add a way to mark the executor on agent runner, a feature request to enable tracking which entity or user initiates an agent run. This would allow event subscribers to modify behavior based on the executor, with the executor context propagating to sub-agents as well. The feature is specifically needed for config agents.
No merge requests were completed or commits pushed during this period, indicating work is in the development phase on these assigned issues.
How can I help on this project?
- Review progress on the two actively assigned issues and offer code review feedback once patches are available.
- Test the AI Agent Explorer with various tool configurations to identify additional edge cases around exception handling.
Tool API
The Tool API module saw issue activity focused on output formatting concerns. A feature request for Allow controlling Tool return format was updated on 2026-06-23, highlighting a limitation in how tool execution results are currently returned. The issue notes that tools currently return textual output wrapped in execution status messages, which works for AI analysis but creates friction when integrations like MCP or AG-UI require raw results. The proposed approaches include either returning raw results directly or separating the result data from status text.
No merge requests were created or merged during the reporting period, and no commits were pushed. The feature request remains unassigned with no related MRs, representing an opportunity for contributors interested in improving the module's interoperability with AI tooling frameworks.
How can I help on this project?
- Pick up the unassigned Allow controlling Tool return format issue and propose an implementation approach for separating tool results from status messages.
- Review existing tool plugin return value handling to assess backward compatibility implications of changing output formats.
Drupal Canvas
Over the past 24 hours, the Canvas project merged three significant contributions. Christian López Espínola (penyaskito) and Wim Leers (wimleers) merged MR !1288, splitting the PHPUnit-Kernel CI test suite across four parallel jobs instead of three to reduce pipeline wall-clock time as the kernel suite has grown. Ted Bowman (tedbow) merged MR !1263, which fixes the pending-changes review UI to hide non-default-translation auto-saves from the GET response, preventing editors from triggering broken per-translation discard and partial-publish paths until langcode-aware endpoints land. AKHIL BABU (AkhilBabu) merged MR !1159, adding layout fixture support to enable page builder and template builder agent tests to run against realistic layouts.
Active development continues on several fronts. Multiple open MRs address boolean prop auto-enabling bugs in component forms, with root causes identified in both layoutModelSlice.ts (where || [] coerces false to an empty array) and Twig checkbox templates. Work is progressing on symmetric translation propagation, conflict resolution UI, and Canvas AI improvements including fixing deprecated Image imports and adding slots support to agent prompts.
How can I help on this project?
- Review MR !1285 fixing boolean prop auto-enable behavior across
layoutModelSlice.tsand Twig templates. - Review MR !1284 fixing flat named component validation in
@drupal-canvas/eslint-configto detect sibling entrypoints. - Pick up Add PHPat rules for keeping StagedLanguageConfigOverride config entity type-agnostic, which has no related MRs.
Context Control Center (CCC)
The CCC team merged five substantial MRs during Sprint 12, addressing API stability blockers and developer experience improvements ahead of rc1. Kristen Pol (kepol) shipped No public API for building scope subscription forms; consumers must depend on the internal scope manager (MR !191, 667 lines), exposing AiContextScopeFormBuilderInterface so contrib modules can render scope subscription UIs without depending on internal services. Ahmad Khader (Ahmad-Khader) fixed hook_ai_context_scope_values_alter() is not honored in scope value forms (MR !177, 1074 lines), ensuring the alter hook now works in both forms and matching logic. Abhisek Mazumdar (abhisekmazumdar) landed Conditional Subcontext Provider Calls (MR !166, 1902 lines), adding a per-request cache and toggle to control latency from synchronous provider calls in conditional subcontext resolution.
Anikó Viola (violaniko) contributed Provide test context items for testing CCC (MR !185, 915 lines), adding example items from the Chicago Driesnote demo. Kristen Pol also standardized core version requirements across test submodules (MR !192).
Two blockers remain open: [Feature] Add ExternalContextProviderInterface and ContextQueryInterface to support RAG/vector store integrations requests formal APIs for vector store integrations like AI Knowledge Connector, which currently workaround via BuildSystemPromptEvent. Sprint planning continues under Sprint 12 CCC roadmap updates, sprint planning, and issue triage.
How can I help on this project?
- Pick up Test AI Best Practices skills on AI Context codebase — install the ai_best_practices skills and run a code review pass, documenting findings.
- Contribute design feedback or API proposals to ExternalContextProviderInterface and ContextQueryInterface for stable RAG integration patterns.
AI Search
Activity in the AI Search module over the past 24 hours focused on batch embedding functionality and several bug fixes requiring attention.
Artem Dmitriiev (a.dmitriiev) opened MR !53 to address Batch embeddings for improved indexing performance. This work ports functionality from the AI Core module as development of the ai_search submodule has been deprecated. The merge request contains 189 lines of diff and is currently under review.
Two bugs saw updates but remain unresolved. The title field not found if machine name is different identifies an issue in EmbeddingBase.php where the groupFieldData() function incorrectly uses getFieldIdentifier() instead of getPropertyPath() when matching the title field. Additionally, Fix support of non-content entity SearchAPI datasources highlights hardcoded dependencies in AiSearchIndexFieldsForm::buildForm() that prevent indexing of non-content entities.
How can I help on this project?
Review MR !53 for the batch embeddings feature and provide feedback on the implementation. Pick up the title field bug which needs a patch to fix the getFieldIdentifier() call in EmbeddingBase.php. Add test coverage for non-content entity datasource support.
Field Widget Actions
The Field Widget Actions module saw significant activity over the past 24 hours, with three merge requests landed and several issues resolved.
Volker Killesreiter (volkerk) merged MR !18 fixing Missing events in suggestion.js. The suggestion.js code now properly dispatches input and change events when setting target.value, restoring compatibility with autosave, states API, and Tagify integrations that depend on these events.
Artem Dmitriiev (a.dmitriiev) resolved Field Widget Actions show in the "Add New Action" unavailable tools via MR !21, which filters unavailable plugins from the configuration widget dropdown. Previously, plugins would appear even when their isAvailable method returned false, causing confusion when users couldn't actually add them.
Automated Drupal 12 compatibility fixes landed through MR !23 from the Project Update Bot, addressing deprecated API usage.
Edward Zwart (ezeedub) has opened MR !19 for Add interactive refinement capability to Field Widget Actions, implementing an opt-in modal-based refinement workflow using Form API. This 2,238-line addition is currently assigned to Ahmad Khalil (ahmad-khalil-imagex) for review.
How can I help on this project?
- Review MR !19 for the interactive refinement feature, testing the Form API modal implementation and iterative prompt workflow.
- Help document complex field widget integrations by contributing examples to Examples of plugins for more complex field widgets?
AI translate
Activity over the past day focused on addressing translation reliability and performance issues. Miriam Nugent (Peacog) opened MR !24 to resolve 504 Time out on large content, implementing chunking logic to split large HTML fields into smaller segments before translation. The merge request contains 200 lines of diff and addresses timeout errors that occur when translating content with over 1000 words and 300-400 HTML tags.
Two other issues saw status updates during the period. Translation batch process does not handle translation errors remains in needs work state, assigned to Ilia Nozadze (IliaNoz). This issue tracks the problem where translation failures during batch operations are not surfaced to users, potentially creating translation entities with untranslated content. Additionally, Michael Anello (ultimike) raised a support request about the Chat proxy to LLM provider, seeking clarification on its purpose and why only amazee.io provider models appear in the model selector despite having OpenAI and Anthropic configured.
How can I help on this project?
- Review MR !24 for the chunking implementation that addresses 504 timeouts on large content translation.
- Provide technical guidance on Chat proxy to LLM provider confusion, which needs documentation or architectural clarification.
- Help design error handling UI for the batch translation process on Translation batch process does not handle translation errors.
Pinecone VDB Provider
Activity on the Pinecone VDB Provider module remained quiet over the past 24 hours, with no merge requests or commits pushed during the reporting period.
The open issue Support batching on indexing operations is currently assigned to Rob Loach (robloach). This work item proposes implementing batch processing functionality for indexing operations, following the approach taken in the Milvus provider module. The issue was last updated on 2026-06-23, but no new comments or development activity occurred within the reporting window.
No bugs were fixed and no API changes were merged during this period. Development appears to be blocked or on hold, with no visible progress on the batching implementation work.
How can I help on this project?
- Review the batching implementation in the Milvus provider (MR 44) and provide feedback or implementation guidance for applying similar patterns to Pinecone.
- Test the existing Pinecone provider functionality and document edge cases or performance characteristics that batching should address.
References
[10] Guardrail plugins only evaluate the last message
[16] Batch embeddings for improved indexing performance
[17] Allow batching for embedding and vector DB operations
[38] add support for batch embeddings
[88] fix: #3591704 Hide non-default-translation auto-saves from the pending-changes GET response
[109] Issue #3586207: Add conditional subcontext toggle, cap, and per-request cache.
[110] Issue #3586246: hook_ai_context_scope_values_alter() is not honored in scope value forms
[117] Resolve "Batch embeddings for improved indexing performance"
[124] Issue #3547306: Add interactive refinement capability to Field Widget Actions
[131] Issue #3545381 Split large HTML fields into chunks of a maximum number of characters