Daily Digest
Daily Digest – 7 June 2026
2026 Capabilities Progress
- Page generation — Canvas delivered a new permission system to control editing of global page regions, improving governance for page assembly workflows [18][25]. Configuration improvements are underway to simplify developer setup for page-building tools [16][17][21][22].
- Context management — The Context Control Center completed UX improvements by relocating its menu into the AI configuration area [28][35] and is addressing technical prerequisites for its release candidate including field storage updates [27][34]. Performance optimization decisions for conditional subcontext handling and usage tracking remain pending [31][32][37][38].
- Background agents — Work progressed on making automator queue processing configurable to handle more than one task per cron run [3][8], and ECA integration added summarization capabilities to expand what can be automated without code [9][11]. Agent execution now supports rate limit handling and per-tool ordering constraints [13][14].
- Design system integration — Canvas advanced several infrastructure improvements including content template override capabilities [24] and fixes for JSON schema validation issues [23], while addressing a bug affecting interactive forms within components [15].
- Content creation and discovery — AI Search resolved critical compatibility issues and is developing a heading-based content splitting strategy to improve search result coherence [39][41][42][43][44]. The chatbot interface received fixes for modal interaction issues [7].
- Advanced governance — Canvas delivered granular permissions for global region editing [18][25], and the Context Control Center is evaluating requirements for usage tracking and audit capabilities before its release candidate [31].
- Intelligent website improvements — The Langfuse observability module progressed on foundational trace storage and privacy-enhanced session tracking [45][46], which are prerequisites for capturing performance data that would inform AI-driven improvements.
- Multi-channel campaigns — No direct progress today.
Shipped
- Context Control Center menu reorganization — The module's menu was moved from top-level navigation into the AI configuration section, improving consistency and grouping related functionality together [28][35].
- Canvas global regions permission control — A new permission was delivered allowing organizations to restrict who can edit site-wide elements like headers and footers separately from page-specific content [18][25].
- AI Search compatibility restored — A blocking issue preventing the module from working with recent framework updates was resolved by temporarily locking to an earlier dependency version until full support is restored [40][44].
Ongoing
- Symfony AI platform modernization proposal — A substantial architectural change to adopt Symfony AI component version 0.8 is under review, which would modernize service integration and give administrators more flexibility in configuring AI backends [5].
- ECA automation coverage expansion — Work is progressing to add summarization capabilities to visual workflow automation, part of broader effort to cover 13 remaining AI operations and reduce need for custom development [9][11].
- AI Agents rate limit and execution control — Two improvements are under review to prevent service disruptions through configurable throttling and to give administrators better control over how automated tasks are sequenced [13][14].
- Canvas configuration simplification — Development is underway to streamline developer setup by moving sync settings to a standard configuration file and adjusting default paths to reduce manual configuration steps [16][17][21][22].
- Context Control Center storage format update — Work is in progress to change how context data is stored for cleaner editor integration, which must complete before the release candidate to avoid complicating future migrations [27][34].
AI (Artificial Intelligence)
The AI module project continued its regular collaboration cadence during this period. The team concluded their June 1 contribution meeting and scheduled the next session for June 15, maintaining consistent coordination among contributors.
Development activity focused on improving the module's infrastructure. Wolfgang Ziegler (fago) submitted a substantial proposal to adopt the Symfony AI component version 0.8 as the platform provider, which would modernize how the module integrates with AI services. This represents a significant architectural evolution, introducing new plugin types for inference providers and model routing that would give site administrators more flexibility in configuring AI backends.
Contributors also advanced work on quality-of-life improvements: Abhisek Mazumdar (abhisekmazumdar) continued development on making the automator queue processing configurable, addressing a limitation where only one queued task runs per scheduled job. Joshua Fernandes (joshua1234511) progressed on semantic topic matching capabilities and chatbot interface fixes.
How can I help on this project?
- Prioritize review and decision-making on the Symfony AI component adoption proposal, as this architectural change will shape the module's future direction and capability set.
- Consider allocating resources for testing and integration work if the platform modernization moves forward, as changes of this scale typically require validation across diverse deployment scenarios.
AI Integration - ECA
This module bridges Drupal's ECA (Event-Condition-Action) automation toolkit with AI capabilities. Development continues toward a stable 1.0.0 release, focused on expanding coverage of AI operations that non-technical site builders can use in visual workflows.
Over the past 24 hours, planning work has begun to close a significant gap in the module's functionality. Currently, only 5 of the 18 available AI operations can be automated through ECA workflows—limiting what site administrators can achieve without custom code. A [Meta] Cover remaining AI operation types with ECA execute actions issue has been updated to coordinate the remaining work. The first of these, Add ECA execute action for Summarization, now has an active merge request from contributor Joshua Fernandes (joshua1234511) ready for review.
Completing this coverage means site administrators will be able to build sophisticated AI-powered automation—such as content summarization, translation, or image analysis—without developer intervention, reducing operational costs and time-to-market for new content workflows.
How can I help on this project?
- Allocate senior developer time to review pending merge requests and provide feedback to contributors, ensuring quality and timely progression toward the 1.0.0 milestone.
- Prioritize which of the remaining 13 AI operations deliver the highest business value to focus contributor effort where it matters most.
AI Agents
The AI Agents module saw continued development activity over the past 24 hours, with progress on key operational capabilities and one new bug report.
Two substantial merge requests were opened that address how the system manages complex workflows. The first implements rate limit handling with configurable prompt delays and clearer error messaging, which will help prevent service disruptions when usage limits are reached and make it easier for users to understand when throttling occurs. The second adds per-tool execution ordering constraints for agent loops, giving administrators more control over how automated tasks are sequenced and executed.
A new issue was reported regarding a warning when accessing field configuration data that may be missing. This affects the AI Assistant field tools feature when certain configuration is absent. The issue is unassigned and represents a code assumption that needs refinement, though it does not appear to block core functionality.
How can I help on this project?
- Assign developer resources to investigate and resolve the field configuration warning, as it currently has no owner.
- Prioritize review of the two open merge requests to move operational improvements into production faster.
Drupal Canvas
The Drupal Canvas team completed work on a new permissions feature and is advancing several configuration and workflow improvements. One issue requiring attention has been identified.
The team delivered Add "Allow Edit Global Regions" permission to restrict editing of global page regions, which allows sites to separate who can edit common areas like headers and footers from who can edit page-specific content. This gives organizations better control over which roles can modify site-wide elements.
Three feature enhancements are now in active development. Balint Kleri (balintbrews) is working on Move CLI sync settings to canvas.config.json, enable everything by default and Change default global CSS path in CLI and Workbench config, both aimed at simplifying developer setup and making configuration more intuitive. These changes will reduce manual configuration steps for new projects.
A bug was reported affecting forms embedded within Canvas components: AJAX webform inside a Canvas component returns full HTML page instead of AjaxResponse when render cache is disabled. This prevents certain interactive forms from working correctly and needs investigation.
How can I help on this project?
- Assign developer capacity to investigate and resolve the webform AJAX bug, which currently blocks certain interactive form use cases.
- Review and approve the configuration simplification work to accelerate developer onboarding for new Canvas implementations.
Context Control Center (CCC)
Development activity focused on refining the user experience and preparing the module for a release candidate. Kristen Pol (kepol) completed work to move the Context Control Center menu from the top level into the AI configuration area, making the interface more consistent with other AI modules. This change was merged and improves navigation by grouping related functionality together.
Separately, work is underway to switch context item text fields to a new storage format that integrates more cleanly with the module's markdown editor. This technical change needs to be completed before the first release candidate, as updating the storage structure becomes more complicated once users have production data.
Several tasks opened to address performance considerations around conditional subcontext handling and usage tracking. These have been flagged for evaluation to determine whether they are critical for the release candidate or can be addressed after the initial stable version.
Two presentations are being prepared to introduce the Context Control Center to external audiences later in June, which will help gather user feedback and increase adoption.
How can I help on this project?
- Decide whether performance optimization work for conditional subcontext and usage tracking is required before release candidate or can be deferred post-launch.
- Support upcoming community presentations by identifying key stakeholders who should attend and providing testimonials or use cases.
AI Search
The AI Search module made progress on compatibility and feature work over the past day. A critical blocking issue was resolved that prevented the module from working with recent updates to the underlying AI framework. The team temporarily locked the module to an earlier version of its dependency until support for a key capability (embeddings) is restored, allowing users to continue working without disruption. This fix was merged and closed.
Two pieces of development work are in progress. Anikó Viola (violaniko) opened a merge request addressing integration test failures that occurred after recent framework changes, focusing on ensuring the search backend handles configuration properly during setup. Separately, Scott Euser (scotteuser) is developing a new content splitting feature that would improve how documents are broken into searchable chunks by respecting the natural structure of content (using headings as boundaries) rather than using a more generic approach. This should deliver more coherent search results when content is well-organized.
How can I help on this project?
- Monitor the timeline for when the AI framework restores embeddings support, as this is currently blocking the module's ability to use the latest platform version.
- Consider whether the new heading-based content splitting approach aligns with organizational content standards and whether editorial guidance may be needed.
Langfuse
The Langfuse module saw two new contributions opened in the past 24 hours, both focused on improving how the system handles user tracking and data storage.
The first contribution addresses session ID handling, introducing a way to protect user session identifiers before they are sent or stored. This change enhances privacy by ensuring sensitive session data is not exposed in its original form.
The second contribution tackles trace storage, implementing functionality to properly store tracking information. This represents a core capability for the module, enabling it to capture and retain the data it monitors over time.
Both contributions were submitted by Ivo Van Geertruyen (mr.baileys) and remain under review. No work has been merged yet, which is typical for new development. As an early-stage module, active development of foundational features like data handling and privacy controls is expected and healthy progress.
How can I help on this project?
- Ensure the contributor has access to timely code review resources to evaluate and merge the pending contributions.
- Clarify strategic priorities for the module's roadmap to help focus development effort on the highest-value features.
References
[3] Only one AI Automator worker queue item is processed per cron execution
[5] feat: #3586427 Adopt symfony/ai component v0.8 as platform provider
[7] Issue #3499451: Fixed chatbot not reopening after CKEditor/media modal closes.
[8] Issue #3575190: Add configurable queue items per cron for AI Automators
[9] Add ECA execute action for Summarization
[11] Issue #3585009: Added ECA execute action for Summarization.
[13] Issue #3489567: Add rate limit handling: configurable prompt delay and clearer 429 error message.
[14] Issue #3560681: Add per-tool execution ordering constraints for agent loops.
[16] Move CLI sync settings to canvas.config.json, enable everything by default
[17] Change default global CSS path in CLI and Workbench config
[18] Add "Allow Edit Global Regions" permission to restrict editing of global page regions
[22] chore(CLI Tool): #3591632 Change default global CSS path in CLI and Workbench config
[24] feat: #3567225 Allow per-node override of Content Template via checkbox in node selector
[25] feat: #3584713 Add "Allow Edit Global Regions" permission to restrict editing of global page regions
[27] Switch context item text fields to string_long for clean MDXEditor integration
[28] Move CCC menu from top-level to under AI configuration section
[31] CCC Usage Tracking Query/Save Pattern
[32] Conditional Subcontext Provider Calls
[34] Issue #3586256: Change text_long to string_long and remove workaround.
[35] Issue #3586253: Move CCC from main menu into AI configuration area.
[37] Issue #3586207: Add conditional subcontext toggle, cap, and per-request cache.
[38] Issue #3586208: Use SELECTION_MODE constants, add PHPDoc notes and broad-scan warning.
[39] Add embedding strategy that splits on heading 2s with fallback to contextual embedding strategy
[40] Lock 2.0.x to pre-Symfony AI Platform until it contains Embeddings endpoints
[41] Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated
[43] Issue #3584015: Fix 2.x branch integration with AI 2.x
[44] #3584020: Lock to pre-symfony AI until AI Core supports embeddings again
Shipped
- CCC menu relocated to AI configuration section — The Context Control Center menu item was moved from top-level navigation into the AI configuration area under "Tools and automation" to align with other AI modules [28][35].
- AI Search 2.0.x locked to pre-Symfony AI Platform — The 2.0.x branch was temporarily locked to pre-Symfony AI Platform versions until embeddings endpoint support is restored in AI Core [40][44].
- Canvas global regions permission added — A new "Allow Edit Global Regions" permission was merged to provide granular access control separating global region editing from content region editing [18][25].
Ongoing
- Symfony AI component v0.8 adoption in AI module — MR introducing new plugin types including ai_inference_provider, ai_model_router, and ai_platform with Generic and Gemini provider implementations is under active development [5].
- AI Automator queue processing configuration — MR adding configurable queue items per cron to address the issue where only one queue item is processed per cron execution [3][8].
- ECA Summarization action plugin — MR implementing the Summarization execute action for ECA integration following the pattern of existing actions like Chat is awaiting review [9][11].
- CCC field type migration to string_long — MR converting context item fields from text_long to string_long to enable clean MDXEditor integration and remove plain_text workaround [27][34].
- AI Search 2.x integration with Symfony Platform — MR addressing PluginNotFoundException errors in SearchApiAiSearchBackend when getVectorDb() is called before vector database backend selection [41][43].
AI (Artificial Intelligence)
Activity in the AI module over the past 24 hours focused on organizational work and ongoing merge request development. Valery Lourie (valthebald) closed the Drupal AI Contribution meeting 2026-06-01 issue and updated the upcoming Drupal AI Contribution meeting 2026-06-15 scheduled for the #ai-contrib Slack channel.
Several merge requests saw activity during the period. Wolfgang Ziegler (fago) continued work on MR !1619, which adopts Symfony AI component v0.8 as a platform provider. This introduces new plugin types including ai_inference_provider, ai_model_router, and ai_platform, with implementations for Generic (OpenAI-compatible) and Gemini providers. The MR builds upon MR !1613 and involves over 4700 lines of changes.
Issues receiving updates include Only one AI Automator worker queue item is processed per cron execution, which has an open MR !1647 by Abhisek Mazumdar (abhisekmazumdar) adding configurable queue items per cron. Artem Dmitriiev (a.dmitriiev) opened Use ai_provider_configuration form element in RestrictToTopic configuration form, calling for migration away from the deprecated AiProviderFormHelper service.
How can I help on this project?
- Review MR !1619 for the Symfony AI v0.8 adoption, testing the new
ai_inference_providerandai_platformplugin types. - Pick up the unassigned ai_provider_configuration form element migration issue to update RestrictToTopic away from AiProviderFormHelper.
- Review MR !1647 addressing AI Automator queue processing configuration.
AI Integration - ECA
The AI Integration - ECA module saw planning activity focused on expanding ECA action coverage. Marcus Johansson (Marcus_Johansson) opened [Meta] Cover remaining AI operation types with ECA execute actions, tracking the addition of execute actions for approximately 13 remaining AI operation types. The module currently supports only 5 operations (Chat, Embedding, Moderation, Speech to Text, Text to Speech), leaving most of the AI module's 18 operation types without ECA integration.
A child issue, Add ECA execute action for Summarization, was also opened during the period. Joshua Fernandes (joshua1234511) has an open merge request (MR !11) with 237 lines of changes implementing the Summarization action plugin following the pattern established by existing actions like Chat.php. The proposal extends AiConfigActionBase with plugin ID ai_integration_eca_execute_summarization.
No merge requests were merged and no commits were pushed during this 24-hour window.
How can I help on this project?
AI Agents
No commits were merged during the reporting period, though development activity continued on two open merge requests. Joshua Fernandes (joshua1234511) has MRs in progress for rate limit handling (245, 628 lines) and per-tool execution ordering constraints (252, 1691 lines). The rate limit MR adds configurable prompt delays and improved 429 error messaging, while the execution ordering MR introduces constraints for agent loops.
A new bug was reported by Angelo Keirsebilck (angelokeirsebilck) regarding a null array access warning in GetFieldDisplayForm::execute(). The issue occurs at line 190 when field display or form configuration data is unexpectedly null, causing PHP warnings during AI Assistant field tool operations. This issue remains unassigned with no patch available.
Progress is currently blocked on code review for the two substantial MRs, which require testing and feedback before landing.
How can I help on this project?
- Review and test the rate limit handling MR or execution ordering MR to help move them toward merge.
- Investigate and create a patch for the null array access bug in GetFieldDisplayForm::execute().
Drupal Canvas
Activity this period focused on permissions, CLI configuration improvements, and bug fixes. Bálint Kléri (balintbrews) opened two feature issues with draft merge requests: Move CLI sync settings to canvas.config.json, enable everything by default (MR !1211, 2480 lines) proposes moving sync preferences from environment variables like CANVAS_INCLUDE_PAGES into a codebase-level canvas.config.json file, while Change default global CSS path in CLI and Workbench config (MR !1210, 1110 lines) updates the default globalCssPath from src/components/global.css to src/global.css to align with starter projects.
The Add "Allow Edit Global Regions" permission to restrict editing of global page regions issue was closed, introducing granular access control to separate global region editing from content region editing via a new permission.
A critical AJAX bug was reported: AJAX webform inside a Canvas component returns full HTML page instead of AjaxResponse when render cache is disabled, affecting Webforms embedded in SDCs via drupal_block(), causing Drupal.AjaxError instead of proper JSON responses.
How can I help on this project?
Context Control Center (CCC)
Kristen Pol (kepol) merged Move CCC menu from top-level to under AI configuration section via MR !171, relocating the Context Control Center menu item from the top level into the AI configuration area under "Tools and automation" to align with other AI modules. The 1914-line merge request landed on June 7.
Several pre-RC1 schema and integration issues saw progress. Kristen Pol opened Switch context item text fields to string_long for clean MDXEditor integration with MR !172 to convert context item fields (content, purpose, description) from text_long to string_long, removing the forced plain_text workaround that conflicts with markdown authoring on Drupal CMS. Abhisek Mazumdar (abhisekmazumdar) has open merge requests addressing performance concerns: MR !166 for Conditional Subcontext Provider Calls and MR !167 for CCC Non-Agent match_all Convenience API.
New issues opened include Create SECURITY.md file for AI Context (CCC) to establish security reporting procedures, and two presentation tasks assigned to Kristen Pol for upcoming community meetings.
How can I help on this project?
- Review MR !172 for the string_long field type conversion, which is critical before RC1.
- Pick up the unassigned SECURITY.md file creation task by copying from AI core.
- Test and review Abhisek Mazumdar's performance optimization MRs (!166, !167) for conditional subcontext handling.
AI Search
The AI Search module faced integration challenges with AI Core 2.0.x following the Symfony Platform integration. Scott Euser (scotteuser) merged a critical fix via #3584020: Lock to pre-symfony AI until AI Core supports embeddings again, temporarily locking the 2.0.x branch to pre-Symfony AI Platform versions until embeddings endpoint support is restored in AI Core.
Work continues on Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated, where Anikó Viola (violaniko) opened MR !44 addressing functional test failures in AiSearchSetupMySqlTest. The fix resolves PluginNotFoundException errors in SearchApiAiSearchBackend when getVectorDb() is called before a vector database backend is selected during the multi-step configuration process.
Additionally, Scott Euser opened MR !48 proposing a new embedding strategy that splits content on H2 headings with fallback to contextual embedding, improving chunk quality when content editor discipline is strong.
How can I help on this project?
Langfuse
The Langfuse module saw two new merge requests opened during the reporting period, both authored by Ivo Van Geertruyen (mr.baileys). The first, Resolve #3594090 "Trace is stored", represents a substantial change with 340 lines of diff addressing trace storage functionality. The second, feat: #3594076 hash raw session_id, is a smaller 84-line change that implements session ID hashing to avoid sending raw session identifiers.
Both merge requests remain open and await review. No commits were pushed directly to the main branch during this period, and no issues were updated outside of these MR submissions. The focus appears to be on privacy and observability features, with the session ID hashing improvement particularly relevant for sites handling sensitive user data.
How can I help on this project?
References
[3] Only one AI Automator worker queue item is processed per cron execution
[5] feat: #3586427 Adopt symfony/ai component v0.8 as platform provider
[8] Issue #3575190: Add configurable queue items per cron for AI Automators
[9] Add ECA execute action for Summarization
[11] Issue #3585009: Added ECA execute action for Summarization.
[18] Add "Allow Edit Global Regions" permission to restrict editing of global page regions
[25] feat: #3584713 Add "Allow Edit Global Regions" permission to restrict editing of global page regions
[27] Switch context item text fields to string_long for clean MDXEditor integration
[28] Move CCC menu from top-level to under AI configuration section
[34] Issue #3586256: Change text_long to string_long and remove workaround.
[35] Issue #3586253: Move CCC from main menu into AI configuration area.
[40] Lock 2.0.x to pre-Symfony AI Platform until it contains Embeddings endpoints
[41] Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated
[43] Issue #3584015: Fix 2.x branch integration with AI 2.x
[44] #3584020: Lock to pre-symfony AI until AI Core supports embeddings again