Daily Digest
Daily Digest – 29 June 2026
2026 Capabilities Progress
- Page generation — The AI agent can now work with block components and their properties, expanding the range of building blocks available for page generation [66][115]. Fixes were merged to resolve preview errors that disrupted AI-driven page creation [80][118].
- Context management — Work advanced on scope override functionality allowing sub-contexts to override parent settings, giving administrators finer control over how brand voice and style guides apply [120][127]. Work is in progress on a full-page view layout for context items [121][128], and accessibility issues affecting the interface are being addressed [124][125][129][130].
- Background agents — Two new agent skills were proposed to enable autonomous configuration of AI settings and guardrails [7][8], expanding agents' ability to operate without manual intervention. The meta issue tracking background agents remains active [23].
- Design system integration — A fix was in progress to properly compile JSX for AI-created code components, resolving rendering failures that prevented AI-generated components from displaying correctly [55][98]. The CLI tool now merges global asset library updates more efficiently [56][99].
- Content creation and discovery — Batch embeddings support progressed across multiple vector database providers, enabling faster indexing for AI-powered search [10][30][46][48][131][134][135]. The tone-of-voice CKEditor plugin now respects translated taxonomy terms [25][32], and improvements to the AI Writer interface are under review [16].
- Advanced governance — Client-side publishing now prevents users from overwriting changes when conflicts are detected [117], complementing backend conflict detection work. Guardrail capabilities expanded with semantic topic matching [14][31] and a new sensitive content stream guardrail for mid-stream evaluation [3].
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — No direct progress today.
Shipped
- AI module deprecated field widget actions removed — Work is in progress to remove the bundled field_widget_actions sub-module and require the standalone project to eliminate namespace conflicts [4][26].
- AI module streaming HTML preservation being worked on — Work is in progress to preserve HTML tags during streamed translation workflows [5][27].
- AI module JSON schema element now works in off-canvas dialogs — Work is in progress to support the ai_json_schema form element in off-canvas dialogs, which will enable more flexible configuration interfaces [9][29].
- AI module tone-of-voice plugin now supports translated taxonomy — Work is in progress to make the CKEditor tone-of-voice plugin correctly use translated versions of linked taxonomy terms [25][32].
- AI Context module accessibility improvements in progress — Work is in progress to address multiple issues affecting screen reader access to tooltips, icons, and links [124][125][129][130].
Ongoing
- AI module batch embeddings architecture under review — A new first-class operation type for batch embeddings is being evaluated to enable faster vector database indexing [10][30].
- AI module semantic topic matching for guardrails in development — The RestrictToTopic guardrail is being enhanced to match topics by meaning rather than exact strings [14][31].
- Canvas AI chat message persistence issue under review — A fix to prevent in-progress chat messages from disappearing when page metadata is edited mid-run is awaiting merge [53][90].
- Canvas AI code component server-side compilation bug being addressed — AI-created code components currently fail to compile server-side and render incorrectly, with a fix in review [55][98].
- Reading Room Gold partner onboarding nearing completion — Most onboarding tasks are complete, with final audit and public listing steps remaining [33][34][35].
AI (Artificial Intelligence)
Development continues on the AI module with progress across user interface improvements, architectural enhancements, and tooling for agent-driven configuration. Several items moved forward during the period.
Work on batch embeddings for improved indexing performance advanced with a new merge request that introduces batch embeddings as a first-class operation type, preserving backward compatibility while enabling faster vector database indexing. This change enables multiple chunks to be processed simultaneously rather than sequentially, addressing performance bottlenecks in search indexing workflows.
Two new agent skills were proposed to allow AI-driven site configuration: setup-guardrails and configure-ai-settings. These would enable agents to configure operational settings and guardrails via command-line tools rather than requiring manual admin UI interaction, expanding autonomous agent capabilities. Both issues have been assigned for development.
A fix for preserving HTML in streamed output is under review, addressing an issue where HTML tags were being malformed during translation workflows. A merge request to support translated taxonomy terms in the CKEditor tone-of-voice plugin was also opened. Work continued on adding semantic topic matching to the RestrictToTopic guardrail, allowing topic matching by meaning rather than exact string comparison.
The bundled field_widget_actions sub-module, already deprecated, is now being fully removed to eliminate namespace conflicts with the standalone project. A merge request removing 34 files and adding the standalone package as a dependency was opened. Issue tracking for dark-theme rendering bugs in the Tool Explorer and MDX Editor, off-canvas dialog support for the JSON schema form element, and functional testing for AI CKEditor are all in progress.
How can I help on this project?
- Prioritize review and sign-off on the batch embeddings architecture change to unblock indexing performance improvements for production sites.
- Clarify acceptance criteria for autonomous agent configuration skills to ensure they align with broader automation and security strategy.
Contributors: Ahmad Khader (Ahmad-Khader), Ahmad Khalil (ahmad-khalil-imagex), Joshua Fernandes (joshua1234511), Pravesh Poonia (Pravesh_Poonia), Rob Loach (robloach), Thomas Werthmüller (weri)
Drupal AI Initiative
The Drupal AI Initiative completed foundational work on the AI CMS Demo System during this period. Four related work items were closed, covering repository setup and access configuration for partner organizations, the technical architecture defining how the system will be structured and maintained, the creation of a baseline demonstration instance, and the development of a hosting-specific implementation. This system will showcase AI capabilities integrated into Drupal CMS and provide a reference model for partners.
Onboarding continues for Reading Room, a new Gold partner. Most onboarding steps have been completed, with outstanding items including adding the partner to public-facing pages and conducting a follow-up audit to verify successful integration. Additionally, work is underway to convert partner onboarding templates to native GitLab formats to streamline future partner integrations.
Two infrastructure tasks were opened to configure domain name settings for the GitLab control server and module finder tool, which will support the initiative's technical operations.
How can I help on this project?
- Ensure legal and invoicing contacts for Reading Room are provided to the Drupal Association to complete partner onboarding.
- Review and approve marketing content for the Reading Room partner announcement on public-facing pages.
- Confirm infrastructure resources are available to complete DNS configuration for initiative tools.
AI Integration - ECA
This module connects the AI Integration framework with Drupal's Event-Condition-Action (ECA) system, allowing automated workflows to incorporate AI capabilities.
Development work focused on expanding the range of AI operations available to automation workflows. A new task was opened to add support for text translation workflows, which would enable automated content translation using AI providers. This addresses a gap in the current offering, which already supports chat, embedding, content moderation, and speech conversion, but lacks translation capabilities. The addition would allow organizations to automate multilingual content workflows without custom development.
No code changes were merged during this period. The module remains in active development toward its 1.0.0 release. As an evolving integration project, open feature requests like this are a normal part of building out comprehensive coverage of AI operations.
How can I help on this project?
- Clarify organizational priorities for which AI operations are most valuable to automate, to help the team sequence remaining feature work toward the stable release.
- Consider allocating dedicated testing resources to validate AI workflow integrations as new operation types are added.
AI Agents Test
The AI Agents Test module saw limited activity in the past 24 hours. One research initiative examining the potential consolidation of testing infrastructure was closed. The Research: merging ai_agents_test with ai_eval (and AiLlm test harness) issue was resolved, which had been exploring whether multiple overlapping testing approaches in the Drupal AI ecosystem should be unified. This research is part of broader work to streamline how AI configurations are validated across different tools and modules.
No code changes were merged or committed during this period. The module remains in an exploratory phase as architectural decisions around testing infrastructure are being finalized.
How can I help on this project?
- Clarify strategic priorities for testing infrastructure consolidation, ensuring the team has clear direction on whether to pursue integration or maintain separate tools.
- Allocate resources to move from research to implementation once architectural decisions are confirmed.
OpenAI Provider
A new merge request has been opened to add support for batch embeddings. This enhancement will allow the module to process multiple embedding requests together, which can improve efficiency and reduce costs when working with OpenAI's services. Batch processing is particularly valuable for organizations handling large volumes of content or data that needs to be analyzed or indexed. The work is currently under review.
No other activity was recorded during this period.
How can I help on this project?
- Prioritize review resources to evaluate the batch embeddings feature, ensuring it meets business requirements before merging.
- Consider allocating budget for testing with realistic data volumes to validate cost savings from batch processing.
Contributors: Paul Sheldrake (paulsheldrake)
Anthropic Provider
A merge request was opened to address a compatibility issue affecting conversational AI features. When multiple AI agents pass control to one another, the conversation can end with a message from the system or assistant rather than the user. The Anthropic service rejects these conversations, causing failures in tools like Drupal Canvas AI. The proposed fix ensures conversations always end with a user message, preventing rejections and allowing multi-agent workflows to function smoothly. This work supports more sophisticated AI-powered features in Drupal.
How can I help on this project?
- Prioritize testing and review of the conversational fix to ensure multi-agent AI features can ship reliably.
- Assess whether additional integration testing resources are needed to validate complex AI workflow scenarios before release.
Milvus VDB Provider
This module enables Drupal to work with Milvus, a vector database used for AI-powered search and content recommendations. It remains in active development as the team works to improve performance and scalability.
During this period, a new merge request was opened to add support for batching on indexing operations. This work will allow the system to process multiple pieces of content at once when building search indexes, rather than handling them one at a time. For sites with large content libraries, this should significantly reduce the time required to index content and improve system efficiency during content updates.
The merge request is under review. No bugs or blocking issues were reported during this period.
How can I help on this project?
- Ensure the team has dedicated review capacity to evaluate and merge the batching functionality, which could deliver measurable performance improvements for content-heavy sites.
- Clarify whether production deployment timelines require expedited testing resources for this indexing enhancement.
Contributors: Artem Dmitriiev (a.dmitriiev)
AI Image Alt Text
A merge request was opened to add support for newer versions of the Drupal AI module, which the AI Image Alt Text module depends on. This compatibility work ensures the module can continue functioning as its underlying dependencies evolve, maintaining access to AI-powered alternative text generation for images across newer Drupal environments.
The merge request is currently under review. Once integrated, this will allow sites using more recent versions of the AI module to adopt or continue using automated image accessibility features without compatibility constraints.
How can I help on this project?
- Prioritize code review resources to evaluate and merge the compatibility update, reducing time to deployment.
- Consider funding automated compatibility testing to catch dependency issues earlier in future development cycles.
Contributors: Peter Philipp (daspeter)
AI Agents
A bug was identified and addressed during this period that was causing warning messages to appear each time an AI agent ran. The issue, Array to string conversion in Token::doReplace() when a dynamical token value is an array (applyTokens), resulted from certain data values being incompatible with the text replacement system used by agents. This caused disruptive warnings to appear in the editing interface, affecting the user experience for anyone building or testing AI agent workflows.
A fix has been prepared and is under review. Once merged, this will eliminate the warnings and provide a cleaner, more professional interface for users working with AI agents in the Drupal Canvas editor.
The module remains in active development with normal iteration on quality and usability improvements as issues are discovered and resolved.
How can I help on this project?
- Prioritize code review resources to merge the pending fix, ensuring a smoother user experience for teams testing AI agent functionality.
- Consider expanding testing coverage or user feedback cycles to catch interface issues earlier in the workflow.
Contributors: Rajab Natshah (RajabNatshah)
Tool API
No development activity was recorded during this period. One issue remains under discussion: MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization (same as #3568588), which affects how content is delivered through REST endpoints when the Tool module is enabled. This issue could prevent integrations that rely on REST APIs from functioning correctly. The problem is assigned and flagged for attention by the AI Initiative Sprint team, but no solution has been merged yet.
The module is currently in beta, and active work on compatibility issues like this is a normal part of maturing toward a stable release.
How can I help on this project?
- Confirm whether REST API compatibility is a priority for planned integrations, and communicate urgency to the development team if needed.
- Ensure the team has sufficient testing resources to validate fixes across different API configurations before the stable release.
Drupal Canvas
Over the past 24 hours, the project delivered several foundational improvements to AI functionality, conflict handling, and tooling quality. The AI agent's ability to work with block components was completed, enabling richer page-building capabilities. A longstanding issue causing unexpected errors during AI-driven page generation was resolved by consolidating how the system updates page fields during preview, improving reliability and user experience.
On the conflict-resolution front, the client-side publishing flow now prevents users from publishing changes when conflicts are detected, reducing the risk of overwriting edits made outside their session. This complements earlier backend work and moves the conflict-detection feature closer to full integration.
Guidelines for AI-assisted development were refined based on recent contributor experience, helping maintain code quality as the project scales. The CLI tool's output was cleaned up for consistency and better usability by both humans and AI agents. A test workaround was removed following an upstream fix, and several issues related to translation, auto-save behaviour, and component metadata were opened with merge requests already in progress.
Two bugs remain under investigation: a rendering issue affecting AI-created code components (which fail to compile server-side and display as [object Object]), and a problem where in-progress chat messages disappear when editing page metadata during an active AI run. Both have open merge requests.
How can I help on this project?
- Prioritise review and merge of the two AI user-experience issues (chat messages disappearing mid-run, and code component rendering failures) to unblock quality improvements in the AI agent workflow.
- Evaluate whether conflict-resolution UI work should be resourced for faster integration, as the backend and client-side pieces are now largely in place.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative), AKHIL BABU (AkhilBabu) [2], Andrew Belcher (andrewbelcher), Bálint Kléri (balintbrews) [1], Chandan Singh (chandu7929), Christian López Espínola (penyaskito), Feliksas Mazeikis (f.mazeikis), Gábor Hojtsy (goba), Kunal Sachdev (kunal.sachdev) [1], Narendra Singh Rathore (NarendraR), Rajab Natshah (RajabNatshah), Ravi Maniyar (ravi.maniyar.123) [1], Ted Bowman (tedbow), utkarsh_33 (Utkarsh_33), Wim Leers (wimleers) [2]
Context Control Center (CCC)
The project is nearing its first release candidate and work over the last 24 hours has concentrated on refining user experience and accessibility ahead of that milestone. Two key areas of functionality progressed: a new full-page view layout for context items that improves readability and navigation, and a feature that allows sub-contexts to override their parent's scope settings, giving users more control over how context is applied. Both have open merge requests undergoing final review and testing.
Separately, work began on improving accessibility across the module's interface. Issues related to tooltip and icon-only content and interactive and external links both saw new merge requests opened to address best-practice findings. A third merge request corrected a minor configuration inconsistency and outdated documentation. These changes ensure the interface is usable by screen readers and assistive technology.
A broader tracking issue, Fix CCC issues based on AI Best Practices results, has been opened to coordinate outstanding items flagged by automated review. Most are non-blocking enhancements, with only a handful affecting configuration or public interfaces. Normal for pre-release software, these will be resolved in parallel with final testing.
How can I help on this project?
- Prioritize manual testing and sign-off for the two open layout and scope override features currently awaiting final validation.
- Ensure design and UX stakeholders are available to review the context importer naming and extensions page changes outlined in this issue.
Contributors: Eric Homanchuk (erichomanchuk), Joshua Fernandes (joshua1234511), Kristen Pol (kepol), Pravesh Poonia (Pravesh_Poonia)
AI Search
The AI Search module saw limited activity over the past 24 hours, with two issues updated but no code merged or committed. The focus remains on compatibility and performance improvements as the project evolves.
Work continues on batch embeddings for improved indexing performance, which aims to make search indexing faster and more efficient when processing large amounts of content. This feature is being ported from related work in the AI Core module.
A compatibility issue was also identified: Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated. Tests are currently failing due to changes in the underlying AI Core module. This issue is on hold pending completion of prerequisite work in AI Core, after which compatibility updates will be made to ensure the module continues functioning correctly.
Both issues remain open with no assigned owners. This is typical for a module in active development, though progress depends on coordination with the AI Core project.
How can I help on this project?
- Assign resources to address the open compatibility bug, which is currently blocking test success and depends on coordination with the AI Core team.
- Consider prioritizing the batch embeddings feature if indexing performance is a business priority for upcoming releases.
Field Widget Actions
No code changes or merge activity occurred during this period. One feature request remains under discussion: Generate UUIDs for list-style widget-action settings applied via config actions. This work would allow recipes to declare multiple action buttons on a single form without conflicts, enabling each button to target its own field correctly. Currently, hard-coded identifiers cause all buttons to write to the same location, limiting the flexibility of automated configuration deployment.
The issue is part of the AI Initiative Sprint and has been assigned for development, but no implementation has been submitted yet. Progress on this feature would improve the experience for teams deploying AI-assisted content editing tools at scale.
How can I help on this project?
- Clarify priority and timeline expectations for the unique identifier generation feature to help focus development effort.
- Ensure the assigned developer has protected time and necessary access to move the work forward this sprint.
Pinecone VDB Provider
The Pinecone VDB Provider module enables organizations to integrate with Pinecone, a vector database service used to power AI-driven search and recommendation features. During this reporting period, work began on improving how the system handles large-scale data indexing operations.
A proposal to support batching on indexing operations was opened for review. Currently, indexing large volumes of data into Pinecone can be inefficient. The proposed enhancement would process data in batches, improving performance and reliability when populating the vector database with content. This matters for sites with substantial content libraries or those planning to scale their AI features, as it reduces processing time and resource consumption. The approach is inspired by similar work in a related provider, demonstrating alignment with broader platform improvements.
No code changes were merged during this period. The batch indexing work is currently awaiting review.
How can I help on this project?
- Allocate reviewer capacity to evaluate the batching implementation currently awaiting feedback, accelerating its path to production readiness.
- Clarify performance requirements or scaling targets for the vector database integration to help prioritize optimization work.
Contributors: Rob Loach (robloach)
AI powered Search Block
Development activity this period focused on safety and content moderation capabilities. A new merge request was opened to add guardrail set selection to the module, spanning approximately 800 lines of changes. This feature will allow administrators to configure safety boundaries and content filtering rules for AI-powered search interactions, helping organizations maintain appropriate user experiences and reduce risk of inappropriate or off-brand responses.
The work remains in review and has not yet been integrated into the module. No other development activity, issue updates, or commits occurred during this period.
How can I help on this project?
- Ensure the team has access to code review resources to assess and merge the pending guardrail functionality.
- Clarify organizational requirements for AI content moderation to guide feature prioritization and testing.
- Consider allocating quality assurance support to validate safety controls before wider deployment.
AG-UI
No significant activity was recorded for AG-UI during this reporting period. The module's development continues with an open meta issue tracking improvements to the Drupal Assistant Implementation. This work aims to evolve a proof-of-concept conversational interface into a production-ready feature that could replace an existing chat component. The effort involves refining how the assistant handles requests and aligns with backend services, which would improve the user experience for site editors and administrators seeking contextual help.
No merge requests were completed, commits were made, or status changes occurred in the last 24 hours. This is normal for an actively developed module between work cycles.
How can I help on this project?
- Confirm strategic priority: clarify whether the Drupal Assistant feature aligns with near-term product goals and allocate developer capacity accordingly.
- Support cross-team coordination: ensure alignment between AG-UI and AI module teams to avoid duplication and enable shared infrastructure.
References
[1] Tool Explorer does not render correctly with Gin dark theme
[2] MDX Editor does not render correctly with Gin dark theme
[5] Preserve HTML in streamed output
[8] Add a setup-guardrails agent skill to configure guardrails, guardrail sets, and global guardrails
[9] Support the `ai_json_schema` element inside off-canvas dialogs
[10] Batch embeddings for improved indexing performance
[14] RestrictToTopic guardrail: add semantic topic matching mode
[16] ai_ckeditor: Add option to show or hide the "AI Writer" status information
[23] [META] AI background / autonamous agents
[25] Tone of voice CKEditor Plugin does not use the translated version of the linked taxonomy
[26] Issue #3586556: Remove deprecated bundled field_widget_actions and require standalone.
[27] Resolve #3586558 "Preserve HTML in streamed output"
[29] Issue #3586536 Support the `ai_json_schema` element inside off-canvas dialogs
[30] Issue #3568648: Batch embeddings as a first-class operation type (follow-up to !1704)
[31] Issue #3584977: RestrictToTopic guardrail: add semantic topic matching mode.
[32] fix: #3586573 Tone of voice CKEditor Plugin does not use the translated...
[33] Onboard Gold AI partner: Reading Room
[34] Run AI partner audit report: Reading Room
[35] Add Gold AI partner to d.o pages: Reading Room
[46] add support for batch embeddings
[48] add support for batching on indexing operations
[53] Canvas AI: In-progress chat messages disappear when editing page metadata during an active run
[56] Merge global asset library updates into one PATCH in CLI push
[66] Canvas AI: Expose Props of Blocks to the Agent
[80] Canvas AI: An unexpected error has occurred while rendering preview
[90] Issue #3591731: Keep in-progress AI chat messages when page metadata is edited mid-run
[98] fix: #3591751 Compile JSX server-side for AI-created code components
[99] chore(CLI Tool): #3591750 Merge global asset library updates into one PATCH in CLI push
[115] Issues/3569120: Canvas AI: Expose Props of Blocks to the Agent.
[117] feat(Conflict detection): #3587526 "Client side prevention of publishing"
[118] Issues/Canvas AI: An unexpected error has occurred while rendering preview
[120] Allow subcontext scope to override parent scope
[121] Add full view layout for context item canonical and revision pages based on new design
[124] Clean up CCC tooltip, truncation, and icon-only content
[125] Clean up CCC accessible interactive links and external links
[127] Issue #3586218: Allow subcontext scope to override parent scope.
[128] Issue #3586220: Add single context item display.
[129] Issue #3586302: Exposed tooltip/truncated content and icon meaning to assistive tech.
[130] Issue #3586301: Clean up CCC accessible interactive links and external links.
[131] Batch embeddings for improved indexing performance
[134] Support batching on indexing operations
[135] Issue #3586209: Add support for batching on indexing operations
Shipped
- AI module removes bundled field_widget_actions sub-module — Deprecated bundled copy removed in favor of standalone drupal/field_widget_actions package to eliminate namespace collisions [4][26].
- AI module adds BatchEmbeddingsInterface as first-class operation type — Batch embeddings now route through ProviderProxy with event and logging support without breaking existing EmbeddingsInterface implementations [10][30].
- AI module working on HTML preservation fix for streamed output — Escaping problems in streamed LLM responses that corrupt markup are being addressed [5][27].
- AI module implementing ai_json_schema support for off-canvas dialogs — Work is underway to make the ai_json_schema element render correctly inside Drupal off-canvas dialogs [9][29].
- AI Agents working on array-to-string conversion warning in token replacement — A fix to coerce dynamical token values that are arrays to strings in applyTokens() to eliminate PHP warnings is in progress [50][51].
Ongoing
- AI module SensitiveContentStream guardrail under development — New guardrail with kernel tests for StreamableGuardrailInterface mid-stream buffering and evaluation is being implemented [3].
- AI module batch embeddings OpenAI provider implementation in review — 284-line MR adds batch embedding support to ai_provider_openai [46].
- AI module RestrictToTopic guardrail semantic matching mode awaiting merge — MR adds semantic topic matching mode to RestrictToTopic guardrail [14][31].
- Canvas AI server-side JSX compilation fix in review — AI-created code components left with empty compiledJs are now compiled server-side [55][98].
- Context Control Center accessibility fixes under review — Two MRs address tooltip/truncation exposure to assistive tech and accessible interactive link rendering [124][125][129][130].
AI (Artificial Intelligence)
Activity in the AI module over the past 24 hours focused on bug fixes, UI improvements, and preparations for agent-driven configuration workflows.
Two merge requests remain open for HTML rendering issues: Preserve HTML in streamed output addresses escaping problems in streamed LLM responses that corrupt markup, while Tone of voice CKEditor Plugin does not use the translated version of the linked taxonomy ensures the CKEditor tone-of-voice selector respects content translation. Both have open MRs awaiting review.
A new MR for Remove the deprecated bundled field_widget_actions sub-module was opened, which deletes the 34-file bundled copy and adds the standalone drupal/field_widget_actions package to composer.json, eliminating namespace collisions for sites that depend on both. A follow-up MR for Batch embeddings for improved indexing performance introduces BatchEmbeddingsInterface as a first-class operation type, routing batch calls through ProviderProxy for event and logging support without breaking existing EmbeddingsInterface implementations.
Two new agent skills were defined to enable programmatic site configuration: Add a setup-guardrails agent skill and Add a configure-ai-settings agent skill, both targeting the Tool module's drush tool:run API.
How can I help on this project?
Review MR !1734 for Preserve HTML in streamed output or MR !1733 for Tone of voice CKEditor Plugin translation support. Test the batch embeddings follow-up in MR !1726 with a live vector DB indexing workflow.
Contributors: Ahmad Khader (Ahmad-Khader), Ahmad Khalil (ahmad-khalil-imagex), Joshua Fernandes (joshua1234511), Pravesh Poonia (Pravesh_Poonia), Rob Loach (robloach), Thomas Werthmüller (weri)
Drupal AI Initiative
The past 24 hours saw significant administrative progress. Four meta issues related to the AI CMS Demo System were closed, covering repository access setup, technical concept documentation, the demo proof-of-concept, and the amazee.io hoster-specific implementation. A partner onboarding template issue was also closed, consolidating the workflow for bringing new partners into the initiative.
Several onboarding tasks progressed for new Gold partner Reading Room, including mailing list additions, Slack channel access, and meeting invitations. Follow-up work items were created for running an audit report to verify successful onboarding and updating partner listings on drupal.org pages. A new task was opened to convert partner templates into GitLab templates, moving away from the previous drupal.org issue-based approach.
Two DNS configuration issues were opened for infrastructure updates: pointing GitLab Control Server DNS and Module Finder DNS to their respective DevPanel endpoints.
How can I help on this project?
Both DNS configuration tasks (GitLab Control Server and Module Finder) are unassigned and ready to be picked up if you have infrastructure access. The GitLab template conversion task needs someone to create and test the new partner onboarding templates.
AI Integration - ECA
No merge requests were merged during this period. The module's development activity centered on planning new functionality.
A new task was opened to add ECA execute action support for the TranslateText operation. The Add ECA execute action for Translate Text issue highlights a gap in the current action plugin coverage: while the AI Integration module provides a TranslateText operation type, there is no corresponding ECA action plugin to invoke it from ECA flows. The proposed solution involves creating a new action plugin extending AiConfigActionBase, similar to existing actions for Chat, Embedding, Moderation, Speech to Text, and Text to Speech operations. This work is tagged for the AI Initiative Sprint and the Road to 1.0.0 effort.
No commits were pushed and no merge requests entered review during the reporting period.
How can I help on this project?
- Implement the TranslateText action plugin for issue 3585012 by creating a new plugin class modeled after the existing Chat action.
- Test the existing ECA action plugins with recent AI Integration module changes to identify integration issues.
AI Agents Test
The module saw one significant planning update during the period. The research issue Research: merging ai_agents_test with ai_eval (and AiLlm test harness) was closed. This issue explored whether ai_agents_test should be consolidated with ai_eval, and how the core ai module's tests/src/AiLlm test harness fits into the overall testing strategy for AI configurations in Drupal. With this research now complete, the path forward for test tooling consolidation has been determined.
No merge requests were merged and no commits were pushed during the reporting period.
How can I help on this project?
Review the outcomes of the recently closed research issue to understand the planned direction for test module consolidation. Check the issue queue for any follow-up tasks that may need implementation based on those findings.
OpenAI Provider
Activity this period centered on embeddings support. A merge request for add support for batch embeddings was opened, introducing 284 lines of changes to enable batched embedding operations. The work addresses issue #3568659 and is currently awaiting review.
No merge requests were completed or commits pushed during this period. The batch embeddings implementation remains the primary work item in progress.
How can I help on this project?
- Review the batch embeddings merge request to help move it toward completion. Test the implementation with various batch sizes and provide feedback on the API design.
- Check the issue queue for unassigned bugs or feature requests that could benefit from attention.
Contributors: Paul Sheldrake (paulsheldrake)
Anthropic Provider
A merge request was opened to address chat request rejections caused by conversations ending with non-user messages. The fix: #3607044 Append a trailing user message when a conversation ends with a non-user role MR modifies the AnthropicProvider::chat() method to automatically append a minimal user message ("Continue.") when the last message in a conversation is from the assistant or system role. This resolves issues with AI Agents multi-agent handoff scenarios, such as Drupal Canvas AI, where Anthropic's API requirement that conversations must end with a user message was causing generic error messages.
How can I help on this project?
Review and test the open trailing user message MR to validate the fix works across different multi-agent handoff scenarios. Test edge cases where conversations end with system or assistant messages to ensure the automatic user message append behaves correctly.
Contributors: Rajab Natshah (RajabNatshah)
Milvus VDB Provider
A new merge request was opened to add support for batching on indexing operations. The 297-line patch introduces batch insert functionality specifically for index operations, which should improve performance when indexing large volumes of vector data into Milvus. The merge request is currently awaiting review.
No issues were updated, merged, or closed during this reporting period.
How can I help on this project?
- Review the open batching on indexing operations merge request, testing the implementation with various dataset sizes and providing feedback on the API design.
- Test the module with different Milvus server configurations to identify edge cases or compatibility issues that may need documentation or code fixes.
Contributors: Artem Dmitriiev (a.dmitriiev)
AI Image Alt Text
A merge request was opened to support newer versions of drupal/ai, updating compatibility with the AI module. The MR is currently under review with no commits merged during the reporting period.
How can I help on this project?
- Review the open drupal/ai compatibility merge request and test it against newer versions of the AI module.
- Check the module's issue queue for unaddressed bugs or feature requests that lack merge requests and could be picked up.
Contributors: Peter Philipp (daspeter)
AI Agents
No merge activity occurred during this period. An Array to string conversion in Token::doReplace() when a dynamical token value is an array (applyTokens) issue remains open, addressing a PHP warning that occurs on every AI Agent run when dynamical token values are arrays. The warning originates in core's Token.php and propagates through the token replacement chain in AiAgentEntityWrapper. MR !287 has been opened to fix this by coercing array values to strings in the applyTokens() method, but awaits review.
How can I help on this project?
- Review MR !287 to evaluate whether the array-to-string coercion approach properly handles edge cases in token replacement.
- Test the fix against typical AI Agent workflows to verify the warning is resolved without breaking token functionality.
Contributors: Rajab Natshah (RajabNatshah)
Tool API
The Tool API project saw discussion around a serialization regression during the reporting period. A MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization issue remains under investigation, where the module's normalizers interfere with standard Drupal REST entity serialization. When Tool is enabled alongside REST endpoints that normalize content entities to JSON, the serializer returns raw ContextDefinition and PluginDefinition objects instead of properly normalized data structures. This affects any ResourceBase plugins calling the serializer's normalize() method with JSON format.
The issue is assigned but no merge requests have been opened yet. The root cause appears to be that MapDefinitionNormalizer and ContextDefinitionNormalizer are too broadly scoped and intercept serialization calls intended for entity fields. A similar issue was previously reported in the AI module (#3568588), suggesting this may be a cross-cutting concern for modules using these normalizer patterns.
How can I help on this project?
- Investigate the serialization regression in MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization and prepare a patch that scopes the normalizers more narrowly to avoid interfering with entity serialization.
- Test the reproduction steps with different entity types and REST configurations to confirm the scope of the issue.
Drupal Canvas
Over the past 24 hours, several significant merges improved data integrity, conflict detection, and AI tooling. The refinements to LLM guardrails in /AGENTS.md were merged, tightening guidance on running npm run lint:cspell for all code changes and addressing common PHPCS violations. A new /docs/adr/AGENTS.md file was introduced to ensure ADRs remain timeless and reference only other ADRs rather than transient code or issue links.
The client-side conflict detection was merged, preventing publication of auto-save items with unresolved conflicts and disabling selection of conflicted changes in the review UI. The Canvas AI: Expose Props of Blocks to the Agent fix was committed, allowing the AI to see block component props. The Canvas AI preview rendering issue was resolved by consolidating field updates into a single preview update. The CLI command output cleanup was merged, consolidating and simplifying CLI tool messages.
Active work includes open MRs for server-side JSX compilation for AI-created code components, diamond-dependency import-map fixes, and prop deletion validation. Translation work continues on TMGMT assertion errors and translation onboarding UX.
How can I help on this project?
Review the open MR for server-side JSX compilation to validate the fix for AI-created code components. Review the diamond-dependency test and help identify the root cause in import-map scoping. Pick up recipe validation for prop structure, which has no MR yet.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative), AKHIL BABU (AkhilBabu) [2], Andrew Belcher (andrewbelcher), Bálint Kléri (balintbrews) [1], Chandan Singh (chandu7929), Christian López Espínola (penyaskito), Feliksas Mazeikis (f.mazeikis), Gábor Hojtsy (goba), Kunal Sachdev (kunal.sachdev) [1], Narendra Singh Rathore (NarendraR), Rajab Natshah (RajabNatshah), Ravi Maniyar (ravi.maniyar.123) [1], Ted Bowman (tedbow), utkarsh_33 (Utkarsh_33), Wim Leers (wimleers) [2]
Context Control Center (CCC)
Activity this period focused on accessibility fixes and pre-RC1 cleanup following an AI Best Practices audit. A meta issue tracking Fix CCC issues based on AI Best Practices results was updated with prioritized items blocking the release candidate. Two focused accessibility issues saw progress: Clean up CCC accessible interactive links and external links received MR !200 addressing link rendering, new-tab warnings, and cacheable access checks in list builders and revision UI, while Clean up CCC tooltip, truncation, and icon-only content gained MR !199 exposing tooltip and icon meaning to assistive technologies.
A new merge request was opened fixing two RC1-blocking items: MR !201 aligns the context prefix default string in AiContextSystemPromptSubscriber with the canonical config/install/ai_context.settings.yml value, and corrects stale documentation referencing the nonexistent getManageUrl() method—updating scope_api.md and custom_scopes.md to document the actual getManageRoute() method with correct return signatures.
Other open work includes MR !159 for Allow subcontext scope to override parent scope awaiting manual testing, and MR !151 implementing a two-column full view layout for Add full view layout for context item canonical and revision pages based on new design.
How can I help on this project?
Review MR !200 for accessible link rendering and external link handling patterns, or MR !199 for tooltip and icon accessibility improvements. Both are open and need technical review before merge. Alternatively, manually test MR !159 to verify subcontext scope inheritance toggle behavior works as designed.
Contributors: Eric Homanchuk (erichomanchuk), Joshua Fernandes (joshua1234511), Kristen Pol (kepol), Pravesh Poonia (Pravesh_Poonia)AI Search
Activity in the AI Search module this period was limited to planning and issue tracking. No merge requests were merged and no commits were pushed during the last 24 hours.
Two issues saw updates. Work on Batch embeddings for improved indexing performance is awaiting functionality to be ported from AI Core, as the ai_search submodule is now deprecated. Meanwhile, Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated remains blocked on an upstream AI Core issue that must be resolved before compatibility work can proceed. The integration issue is preventing tests from passing, including functional tests for content indexing.
Progress is currently blocked on upstream dependencies in the AI Core module. Once those are resolved, the 2.x branch will require compatibility updates and documentation of any breaking changes affecting VDB providers.
How can I help on this project?
- Monitor the upstream AI Core dependency blocking the 2.x integration and prepare compatibility patches once it merges.
- Review the batch embeddings feature requirements and assess what porting work is needed from the deprecated ai_search submodule.
Field Widget Actions
No merge requests were merged or commits pushed during this period. Activity focused on a feature request to Generate UUIDs for list-style widget-action settings applied via config actions, which remains in needs work status. The issue addresses a limitation in the setupFieldWidgetAction config action where hard-coded UUIDs cause collisions when multiple suggestion buttons are added to a single edit form via recipes. The proposal is to allow actions to be declared as a plain list and have the plugin generate unique UUIDs at apply time, matching the behavior of the interactive UI. This would ensure each button targets its own field rather than all buttons writing to the same field.
How can I help on this project?
- Review the requirements for UUID generation in the setupFieldWidgetAction config action issue and provide feedback on the proposed approach.
- Test the current collision behavior with multiple widget actions to document edge cases and help refine the solution.
Pinecone VDB Provider
Activity this period focused on feature development for batching support. Support batching on indexing operations remains in review. The work, which adds batching capability to the Pinecone provider similar to the Milvus provider implementation, has an open merge request (MR !32) awaiting feedback. No merges or commits landed during this reporting period.
How can I help on this project?
- Review MR !32 for the batching implementation, testing indexing performance with varying batch sizes.
- Test the batching changes against a Pinecone instance to validate compatibility with the Pinecone API.
AI powered Search Block
A new merge request was opened to add guardrail set selection to ai_search_block. This feature branch introduces guardrail set configuration functionality, with 799 lines of diff indicating substantial changes to the module's configuration and form handling. The merge request is currently awaiting review.
No commits were merged during this period, and no blocking issues were reported. The module appears to be in active development with focus on enhancing its AI safety and content moderation capabilities through guardrail integration.
How can I help on this project?
Review the open guardrail set selection merge request to provide feedback on the implementation. Test the new configuration options with different guardrail providers to ensure compatibility. Check the module's issue queue for unassigned bugs or feature requests that need attention.
Contributors: Abhisek Mazumdar (abhisekmazumdar)AG-UI
No merge requests were merged or commits pushed during this reporting period. The [META] Improve Drupal Assistant Implementation issue remains open. This meta issue tracks work to evolve the Drupal Assistant from a proof-of-concept demo into a full replacement for the ai_chatbot (Deepchat) module. The effort involves refactoring the assistant to align with the Polling service for AG-UI event emission and potentially spawning related issues in the AI module to integrate with necessary event hooks. The work considers both single non-streamed requests with all events and a streaming approach for improved user experience.
How can I help on this project?
Review the [META] Improve Drupal Assistant Implementation issue and contribute technical analysis on the best approach for integrating with the Polling service and AI module events. Help scope child issues for the refactoring work, or propose API patterns for the event emission architecture.
References
[1] Tool Explorer does not render correctly with Gin dark theme
[2] MDX Editor does not render correctly with Gin dark theme
[5] Preserve HTML in streamed output
[9] Support the `ai_json_schema` element inside off-canvas dialogs
[10] Batch embeddings for improved indexing performance
[14] RestrictToTopic guardrail: add semantic topic matching mode
[26] Issue #3586556: Remove deprecated bundled field_widget_actions and require standalone.
[27] Resolve #3586558 "Preserve HTML in streamed output"
[29] Issue #3586536 Support the `ai_json_schema` element inside off-canvas dialogs
[30] Issue #3568648: Batch embeddings as a first-class operation type (follow-up to !1704)
[31] Issue #3584977: RestrictToTopic guardrail: add semantic topic matching mode.
[46] add support for batch embeddings
[51] fix: #3586043 Coerce array dynamical token values to string in applyTokens()
[98] fix: #3591751 Compile JSX server-side for AI-created code components
[124] Clean up CCC tooltip, truncation, and icon-only content
[125] Clean up CCC accessible interactive links and external links
[129] Issue #3586302: Exposed tooltip/truncated content and icon meaning to assistive tech.
[130] Issue #3586301: Clean up CCC accessible interactive links and external links.