Daily Digest
Daily Digest – 7 July 2026
2026 Capabilities Progress
- Page generation — Validation improvements ensure Canvas AI now rejects invalid component configurations, improving reliability of AI-generated pages [113]. Client-side orchestration work continues to address timeout issues on hosted platforms [71][72].
- Context management — The Context Control Center merged accessibility improvements and documentation fixes [143][144], with accessibility improvements in progress [141] and performance optimizations to prevent unnecessary catalog scans under review [145]. Integration of context into CKEditor AI tools progressed [148], with beta 3 release planning and quality improvements in progress.
- Background agents — New agent skills are under review to enable programmatic configuration of AI settings and field automators [5][8][16][17]. The AI-ECA interceptor submodule draft enables workflows to monitor and intervene in AI interactions [35][36], supporting automated governance scenarios.
- Design system integration — Canvas merged fixes ensuring component libraries can evolve without breaking existing pages, particularly on multilingual sites where component property changes previously caused validation failures [103]. Heuristics were added to streamline which content fields appear during component configuration [96].
- Content creation and discovery — A new AI reranking processor for Search API is under review to improve semantic search relevance [4][15]. Batch embedding indexing work continues [3], and Experience Builder added search capabilities for its content [33]. CKEditor AI tools received fixes for tone adjustment and summarization features [7][9][23-26][28][30].
- Advanced governance — Canvas completed a rudimentary conflict resolution UI allowing editors to visually compare and resolve conflicts between drafts and published content [63][105]. Security hardening for execution principals in agent API calls was merged [13][32], and usage record access controls were strengthened [133][155].
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — The AI translate module refactored its architecture to support agent-driven translation through a unified orchestrator service, enabling automated translation workflows beyond manual triggers [157][158][159].
Shipped
- AI Module CKEditor integration fixes — Fixed hardcoded error messages so each CKEditor tool displays appropriate guidance when no text is selected, and resolved fatal errors affecting Drupal 11.4 compatibility [7][9][23][24][25][26][28][30].
- AI Agents tool restriction enforcement — Fixed a bug where forced tool values were ignored when properties remained visible, ensuring agents now behave as configured [46][49].
- Canvas translation infrastructure improvement — Resolved issue where deleting optional component properties broke existing multilingual pages by tracking translation requirements per component version [61][103].
- Canvas conflict resolution interface — Delivered visual tool enabling editors to compare conflicting versions side-by-side and choose which to keep [63][105][110].
- Context Control Center accessibility and quality improvements — Merged fixes for form and table accessibility, resolved test failures from external dependency changes, and corrected documentation inconsistencies [122][123][125][141][143][144][156].
Ongoing
- AI Module Search API reranking processor — Development underway to enable AI-powered reranking of search results for improved relevance across all Search API backends [4][15].
- AI Module agent configuration tools — Command-line tools under review to enable scripted configuration of AI settings and field automators for deployment automation [5][8][16][17].
- Canvas headless preview authentication — Work in progress to establish security model for headless draft preview, currently blocked pending security review [64][102].
- OpenAI Provider migration to Responses API — Transition underway to newer OpenAI interface to maintain compatibility as older Chat Completions API is phased out [38].
- AI translate refactoring for agent integration — Core logic being restructured into shared service layer to support agent-driven automated translation workflows [157][158][159].
AI (Artificial Intelligence)
The AI module delivered several user-facing fixes to its rich text editor (CKEditor) integration. A longstanding issue where all AI CKEditor tools displayed the same "you must select text to summarize" message has been resolved; each tool (Translate, Tone, SpellFix) now shows appropriate context-specific guidance when no text is selected. A related fix ensures that plugin configuration fields are hidden entirely until the user selects text, reducing confusion. Additionally, a compatibility workaround was applied to address fatal errors affecting CKEditor tools on Drupal 11.4.0.
Work is progressing on new automation capabilities. Merge requests are under review to add command-line tools (called "agent skills") that will allow site operators to configure AI settings, guardrails, and field automators programmatically rather than only through the administrative interface. These tools are intended to support scripted deployment and integration with AI-driven site management workflows.
A new Search API processor for reranking search results using AI models is in development. Reranking improves the relevance of semantic search by re-ordering results after an initial query; the processor will work with any Search API backend (database, Solr, or vector stores). Separately, work continues on embedding performance improvements and code quality tasks, including resolution of static analysis issues in the API Explorer component.
How can I help on this project?
- Review and approve the Search API reranking processor merge request to enable the feature for semantic search users.
- Prioritize a decision on how the module should notify site administrators when AI providers release better models, as this affects long-term maintainability and user experience.
Contributors: Abhisek Mazumdar (abhisekmazumdar), Ann Mary Sruthy (annmarysruthy), Artem Dmitriiev (a.dmitriiev) [2], Daniel Rodriguez (danrod), scott falconer (scottfalconer)
Experience Builder
A new merge request was opened to create a configurable search api processor for XB data. This work will enable better search functionality for content created with Experience Builder, making it easier for site visitors to find relevant information. The change is currently under review and represents progress toward improving the discoverability of content built using the module.
No other activity was recorded during this period. The module continues its development toward production readiness.
How can I help on this project?
- Ensure the team has access to review and testing resources to move the search processor work toward completion.
- Clarify whether improved search functionality aligns with near-term product priorities and communicate any timeline expectations to the team.
Contributors: Luhur Abdi Rizal (el7cosmos)
AI Integration - ECA
Work this period focused on extending the module's coverage of AI operations and introducing capability for custom workflows to monitor and intervene in AI provider interactions.
A new work item was opened to add support for the Summarization operation, which will allow automated workflows to trigger text summarization tasks. This fills a gap in the module's current operation coverage and has been assigned for development.
A draft merge request was opened for the AI ECA Interceptor submodule, which will expose AI request and response events to workflow automation. This feature will enable organizations to inspect, log, transform, or block AI interactions before they reach providers or after responses are received. The capability is particularly relevant for governance, compliance monitoring, and custom error handling around rate limits and content safety violations.
Both initiatives are tagged as part of the road to version 1.0.0, indicating progress toward production readiness.
How can I help on this project?
- Clarify business priorities between operation coverage and interceptor capabilities to help guide which features reach 1.0.0 first.
- Ensure development resources remain allocated through the 1.0.0 milestone to sustain current momentum.
Contributors: Marcus Johansson (Marcus_Johansson)
OpenAI Provider
The OpenAI Provider module made progress this period on future-proofing its integration with OpenAI's platform. A significant update was merged to add support for file handling capabilities, broadening the types of content the module can work with. This enhances the module's utility for workflows that involve documents or images alongside text-based interactions.
A second update is in progress to migrate the module's chat functionality to OpenAI's newer Responses API. OpenAI is phasing out its older Chat Completions interface in favor of Responses, which will eventually become the standard. This work ensures the module continues to function reliably as OpenAI evolves its platform, avoiding disruption for users who depend on chat features. The approach aligns the module with how other providers are implemented, maintaining consistency across the broader integration framework.
Both efforts represent strategic investments in the module's long-term viability and feature set, positioning it to support emerging use cases and platform changes.
How can I help on this project?
- Prioritize testing and review resources for the Responses API migration to accelerate its completion before OpenAI deprecates the older interface.
- Assess whether documentation or training materials need updating to reflect new file handling and API capabilities for end users.
Contributors: Ahmad Khalil (ahmad-khalil-imagex), Bryan Sharpe (b_sharpe)
Google Vertex Provider
A significant merge request was opened to refactor the connection layer and add test coverage to the module. This work aims to improve the reliability and maintainability of the Google Vertex integration, making it easier to identify and prevent issues before they affect users. Testing infrastructure is a foundation for stable releases and reduces the risk of regressions as the module evolves.
The Refactor HTTP client & add tests merge request represents substantial progress toward production readiness, though the work is still under review and has not yet been integrated.
No issues were updated and no code was merged during this period. Activity remains focused on preparing the testing and architectural improvements for integration.
How can I help on this project?
- Prioritize review capacity to evaluate and merge the open testing work, which is essential for stable release readiness.
- Consider resourcing to support ongoing quality assurance efforts as the module matures toward production use.
Contributors: Tamás Nagy (yce)
Milvus VDB Provider
The Milvus VDB Provider module saw progress on reliability improvements during this period. Work addressing connection stability issues was merged, specifically targeting scenarios where the Milvus service becomes unresponsive while the rest of the hosting environment remains functional. This resolves interruptions that could prevent users from accessing vector search capabilities.
Additionally, a new proposal has been opened to address broader connection failure handling. This work aims to make the integration more resilient when communication with the Milvus database is disrupted, reducing downtime and improving the user experience for sites relying on vector-based search and retrieval.
These improvements strengthen the module's production readiness by addressing operational stability, which is essential for maintaining consistent service quality as adoption grows.
How can I help on this project?
- Prioritize testing resources to validate the connection failure fixes in real-world deployment scenarios, especially diverse hosting environments.
- Ensure the team has capacity to review and finalize the open connection handling work to maintain momentum on reliability improvements.
Contributors: Remco Hoeneveld (RemcoHoeneveld), Scott Euser (scotteuser) [1]
Model Context Protocol
A new merge request has been opened to add support for write operations, specifically create and update functionality. This capability would allow users to not only read data through the Model Context Protocol module, but also to create new content and modify existing content. This represents a significant expansion of the module's capabilities, moving it from a read-only integration to a bi-directional system that can actively manage content within Drupal.
The merge request is currently under review. No issues were updated and no code was committed to the main codebase during this period.
How can I help on this project?
- Ensure the team has dedicated code review capacity to evaluate the write operations merge request, as this feature significantly expands the module's scope and risk profile.
- Clarify the security and permission requirements for write operations to guide development decisions.
Contributors: Shubham Goel (shubhamgoel)
AI Agents
The project resolved a bug affecting how agents enforce tool restrictions. Previously, when administrators configured a tool to use a forced value but left the property visible, the restriction was silently ignored and the AI model could call the tool with any value it chose. This has now been fixed, ensuring that forced values are respected regardless of visibility settings. The correction means agents will now behave as configured, improving reliability and control over tool behavior.
Work is underway to improve the user experience when configuring agents. A change is being reviewed that would replace the plain text box for structured output schemas with a dedicated code editor featuring syntax highlighting and validation, making it easier to define and maintain complex output formats without errors.
Two additional issues were opened: one addressing a crash in the debugging interface when certain tool responses lack expected metadata, and another questioning whether the artifact storage checkbox is necessary given observed behavior. Both have proposed solutions under review.
How can I help on this project?
- Prioritize review and testing of the code editor improvement, which will reduce configuration errors and support faster agent development.
- Clarify the intended behavior of artifact storage to resolve user confusion and ensure documentation aligns with actual functionality.
Contributors: Ahmad Khader (Ahmad-Khader), AKHIL BABU (AkhilBabu), Prabhavathi Vanipenta (prabha1997)
Tool API
The Tool API project saw limited activity during this period. An issue titled File Input Handling was opened to investigate how the module should handle file inputs when tools are invoked by AI agents. This research task focuses on determining secure approaches for accepting and processing files, including input formats, file loading, and normalization. The work is exploratory in nature and will inform future design decisions about whether file handling capabilities should be integrated into this module or developed separately.
No code changes were merged or committed during the reporting period. As an early-stage module supporting AI integration, ongoing research and planning work like this is typical and helps ensure the foundation is built correctly before broader feature development begins.
How can I help on this project?
- Clarify strategic priority: Confirm whether file handling for AI agents is a near-term requirement or can be deferred based on adoption patterns.
- Ensure research findings are reviewed: Allocate time for decision-makers to evaluate outcomes once the proof of concept is complete.
Drupal Canvas
Over the past 24 hours, Drupal Canvas made significant progress on core infrastructure for translation, conflict resolution, and AI-powered page building, with three major integrations completed.
A fix for translation support was merged, addressing a critical issue where deleting optional component properties broke existing pages on multilingual sites. The system now tracks each property's translation requirements per component version, ensuring smooth evolution of component libraries without disrupting live content.
The rudimentary conflict resolution interface was completed, giving editors a visual tool to resolve conflicts between their draft changes and published content. Users can now compare conflicting versions side-by-side and choose which to keep, reducing the risk of lost work when multiple editors touch the same page.
Work also merged to refine which content fields appear in component configuration, filtering out internal metadata and duplicate options to streamline the editing experience. Additionally, a validation fix for Canvas AI prevents the system from accepting invalid component configurations, improving reliability of AI-generated pages.
Several open issues continue to evolve, including authentication infrastructure for headless preview, broader conflict resolution capabilities, and client-side AI orchestration to avoid timeouts on hosted platforms.
How can I help on this project?
- Allocate product management time to review the reference field data merging strategy before it becomes the foundation for future features.
- Prioritize security review resources for the headless authentication model, which is blocked from release without it.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative) [1], Ben Mullins (bnjmnm), Bálint Kléri (balintbrews), Christian López Espínola (penyaskito) [2], Feliksas Mazeikis (f.mazeikis) [1], Fons Vandamme (f0ns), Jakob P (japerry), Lauri Timmanee (lauriii), project update bot (Project-Update-Bot), Ravi Maniyar (ravi.maniyar.123) [1], scott falconer (scottfalconer), Stephanie Galata (sgalata), Wim Leers (wimleers)
Context Control Center (CCC)
The Context Control Center module made progress on quality improvements and release preparation during the reporting period. Two merge requests were completed: one addressing form and table accessibility, including replacing disabled read-only select elements with plain text and improving screen reader feedback, and another fixing documentation inconsistencies around default configuration values and outdated API references.
A test failure was also resolved. The module's functional tests had begun failing due to a change in an external dependency (the AI Agents module), which altered an administrative URL without notice. The hardcoded path in the test was updated to restore CI pipeline stability.
Work continues on the beta 3 release. A gap analysis comparing the current beta API against requirements for a stable 1.0 release was completed and closed, generating several follow-up issues. Multiple merge requests remain in progress addressing cacheability, access control, performance (particularly avoiding full-catalog scans for agents with no scope subscriptions), and further accessibility improvements. Several issues are exploring integration opportunities with related modules in the ecosystem, such as the Annotations and DUADP modules, to ensure the module supports emerging use cases.
The project remains in active development toward beta 3, with planning underway for release candidate and stable versions.
How can I help on this project?
- Prioritize review and merge decisions on the eight open merge requests currently awaiting maintainer feedback to unblock beta 3 release preparation.
- Clarify strategic direction on integrations with the Annotations and DUADP modules to guide whether follow-up work should be scoped into the stable 1.0 roadmap or deferred.
Contributors: Jesse Hofmann-Smith (jessehs), Joshua Fernandes (joshua1234511), Juan Correa (jucs7) [1], Kristen Pol (kepol) [1], Pravesh Poonia (Pravesh_Poonia) [1], Rob Loach (robloach), Tamas Balog (tbalog)
AI translate
The AI translate module is undergoing a strategic refactoring to support multiple ways of triggering translations. Currently, translations can only be requested through the user interface or command-line tools. Work is now underway to prepare the module to support a third method: agent-driven translation, where AI agents can perform translations automatically through a tool interface.
This expansion requires restructuring the module's core logic. Rather than maintaining separate code for each entry point, a unified service layer is being developed to handle all translation workflows. A draft merge request for refactoring entity translation into a shared orchestrator service has been opened, introducing new shared components that consolidate duplicated logic from existing interfaces.
This work positions the module to support more automated and programmatic translation workflows, which could reduce manual effort and enable new integration possibilities. The module remains in active development as the refactoring continues.
How can I help on this project?
- Consider allocating additional development resources to accelerate the refactoring work, which will unlock new automated translation capabilities.
- Identify early adopter teams who could benefit from agent-driven translation once available, to inform prioritization and testing.
Contributors: Sven Decabooter (svendecabooter)
Pinecone VDB Provider
The Pinecone VDB Provider is an integration module that connects Drupal to Pinecone's vector database service, enabling advanced search and content discovery capabilities powered by AI.
During this period, a new feature request was opened to add batching support for indexing operations. Batching allows the system to process multiple content items together rather than one at a time, which can significantly improve performance when indexing large volumes of content. This enhancement was inspired by similar work completed in a related database provider. The feature is currently awaiting review, with no development work started yet.
No code changes were merged or committed during this 24-hour window. The module continues in its current state while the batching feature is being considered.
How can I help on this project?
- Clarify whether improved indexing performance is a priority for your content strategy, which would help determine resource allocation for the batching feature.
- Consider connecting development teams across related database providers to share implementation approaches and accelerate delivery.
AG-UI
AG-UI saw two new feature requests opened during this period, both focused on improving observability and troubleshooting capabilities. The first request concerns Add events for failures, which would enable the system to detect and respond to connection issues or remote service exceptions in a way that provides meaningful feedback to users. The second request, Debug should include timestamps, would add human-readable timing information to debugging output to help diagnose performance and sequencing issues.
Both items represent incremental improvements to the module's reliability and developer experience rather than core functionality changes. No code was merged or committed during this period. As these are enhancement requests for an early-stage module, the open items do not present immediate concerns.
How can I help on this project?
- Clarify priority between reliability improvements and new feature development to guide resource allocation.
- Ensure developer capacity is available to address observability requests if user feedback indicates troubleshooting is a barrier to adoption.
References
[1] Document FunctionalJavascript test conventions and add CI check for ungrouped/unrecorded tests
[2] Fix PHPStan issues on API Explorer
[3] Batch embeddings for improved indexing performance
[4] Add an AI reranking processor for Search API (owned by the AI module)
[8] [1.x] Add a setup-automators agent skill to configure automators on fields
[9] AI CKEditor: Hardcoded “summarize” message shown for all plugins when no text is selected
[15] Issue #3586543: Add AI reranking processor for Search API.
[16] task: #3586562 Add a configure-ai-settings agent skill for general AI settings...
[17] task: #3586563 [1.x] Add a setup-automators agent skill to configure automators on fields
[23] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[24] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[25] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[26] replace hardcoded "summarize" no-selection message with overridable...
[28] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[32] Resolve #3574723 "Enforce execution principal"
[33] Create a configurable search api processor for XB data
[35] Add AI ECA Interceptor submodule: intercept AI requests/responses through ECA
[36] Draft: Resolve #3584407 "Ai eca interceptor"
[38] Issue #3558801: Route the OpenAI chat operation through the Responses API...
[46] force_value is ignored when hide_property is unchecked (AI Agents 1.2.x)
[49] fix: #3586045 persist force_value tool restrictions saved from the agent form
[63] Rudimentary conflict resolution UI
[64] Introduce the authentication and security model for headless draft preview
[71] Canvas AI: Client-side orchestration loop roadmap
[72] Canvas AI: Client-side orchestration loop for Canvas AI(POC)
[96] chore(Internal HTTP API): #3591669 Heuristics for the content-entity-reference selection UI
[102] Draft: feat: Introduce the authentication and security model for headless draft preview
[105] feat(conflict): Add conflict resolution UI with viewport selection and route integration
[113] Issue #3591663: Fail validation for props that do not exist on a component
[122] Clean up CCC form and table accessibility cleanup
[123] Clean up CCC documentation and API consistency
[125] AiContextAgentSettingsTest fails with ai_agents 1.3.2+ due to hardcoded edit form path
[133] Usage record page leaks context item content and grants links without access checks
[141] Issue #3586299: Fix test and documentation consistency before rc1.
[143] Issue #3586304: Clean up CCC form and table accessibility cleanup
[144] Issue #3586305: Fix context prefix default alignment and stale getManageUrl docs.
[145] Issue #3586315: Avoid full catalog scan when agent has no scope subscriptions.
[148] Issue #3581955: Add EventSubscriber to inject context into ai_ckeditor tools.
[155] Issue #3586311: Harden usage record and listing access checks.
[156] Issue #3586323: Update agent edit form path in test.
[157] Refactor translation workflow to support Tool API and agent-driven translation
[158] Draft: Refactor entity translation into a shared orchestrator service
[159] Draft: Refactor entity translation into a shared orchestrator service
Shipped
- AI CKEditor hardcoded message fix — The hardcoded "summarize" message has been replaced with an overridable getNoSelectedTextMessage() method in AiCKEditorPluginBase, allowing each plugin to display contextual messages [9][23][24][25][26][28][30].
- AI CKEditor form field visibility — CKEditor plugins now hide all form fields when no text is selected, not just the error message [10].
- AI CKEditor Drupal 11.4 compatibility — A workaround for a core request stack issue has been merged across multiple branches, resolving crashes in AiCKEditorPluginBase::buildCkEditorModalForm() on Drupal 11.4.0 [7][18][19][20][21].
- AI Agents force_value persistence fix — Fixed a bug where forced argument values were ignored when hide_property was unchecked due to an undefined $restrictions variable in AiAgentForm::save() [46][49].
- OpenAI Provider file handling support — File handling support has been merged to the 1.3.x branch, bringing 625 lines of changes [37].
Ongoing
- AI Search API reranking processor — A new ai_reranker Search API processor that consumes the rerank operation type is under review [4][15].
- AI agent configuration skills — Two agent skills are in development: configure-ai-settings for general AI settings and setup-automators for field automator configuration [5][8][16][17].
- OpenAI Responses API migration — A 1487-line MR proposes routing the chat operation through OpenAI's Responses API instead of Chat Completions [38].
- Canvas conflict resolution UI — A rudimentary conflict resolution UI with viewport selection and API integration is in development, allowing users to resolve conflicts between auto-saved and published versions [63][105][110].
- CCC beta3 release preparation — Multiple accessibility, documentation, and API consistency fixes are being merged ahead of the beta3 release, including form accessibility cleanup, usage record access checks, and scope plugin renaming [116][120][122][123][124][127][128].
AI (Artificial Intelligence)
Two CKEditor UX issues were closed during the reporting period. The fix for AI CKEditor: Hardcoded "summarize" message shown for all plugins when no text is selected was merged, replacing the hardcoded "summarize" error message with an overridable getNoSelectedTextMessage() method in AiCKEditorPluginBase, allowing each plugin (Translate, Tone, SpellFix) to display its own contextual message. Related work on Plugin shouldn't show any fields if no text is selected was also merged, ensuring CKEditor plugins now hide all form fields when no text is selected, not just the error message.
A workaround for a core issue affecting the request stack was merged across multiple branches (commits a7c87e95 and f8d47c97). The AI CKEditor tools fail with "Call to a member function get() on null" on Drupal 11.4.0 issue was closed as a duplicate, indicating the workaround resolves the AiCKEditorPluginBase::buildCkEditorModalForm() crash on Drupal 11.4.0.
New agent skills are under development. Merge requests remain open for Add a configure-ai-settings agent skill (MR !1708) and [1.x] Add a setup-automators agent skill (MR !1759), both targeting drush-driven configuration via the Tool module. A new Add an AI reranking processor for Search API feature is in review (MR !1729), introducing an ai_reranker Search API processor that consumes the existing rerank operation type.
Work continues on PHPStan level 7 compliance for the API Explorer submodule (MR !1074 open) and on enforcing execution principals in AiAssistantApiRunner (MR !1233 open).
How can I help on this project?
- Review the open merge request for Add an AI reranking processor for Search API (MR !1729) and test the new
ai_rerankerprocessor plugin with your Search API backend. - Pick up Add YAML support to the MDX editor code blocks, which is unassigned and has no related MR.
Contributors: Abhisek Mazumdar (abhisekmazumdar), Ann Mary Sruthy (annmarysruthy), Artem Dmitriiev (a.dmitriiev) [2], Daniel Rodriguez (danrod), scott falconer (scottfalconer)
Experience Builder
A new merge request was opened to Create a configurable search api processor for XB data. This work introduces a Search API processor that can be configured to handle Experience Builder data, expanding the module's integration with Drupal's search ecosystem. The MR is currently awaiting review.
No merge requests were completed or commits pushed during this period. Development activity remains focused on extending the module's search capabilities through the processor configuration work.
How can I help on this project?
- Review the open Search API processor MR to provide feedback on the implementation and configuration approach.
- Test the configurable processor against various Search API configurations to validate compatibility and identify edge cases.
Contributors: Luhur Abdi Rizal (el7cosmos)
AI Integration - ECA
Development activity this period focused on expanding ECA's coverage of AI operations and enabling deeper control over provider interactions.
A draft merge request was opened for Add AI ECA Interceptor submodule: intercept AI requests/responses through ECA, introducing a new submodule that exposes AI module events (PreGenerateResponseEvent, PostGenerateResponseEvent, PostStreamingResponseEvent) as first-class ECA events, conditions, and actions. The 4,886-line Draft: Resolve #3584407 "Ai eca interceptor" merge request remains under development and represents a significant architectural addition for intercepting and manipulating AI provider calls through ECA workflows.
Additionally, work began on Add ECA execute action for Summarization, which aims to add a missing execute action for the AI module's Summarization operation type. This would complete the set of per-operation actions alongside existing Chat, Embedding, Moderation, Speech to Text, and Text to Speech plugins.
How can I help on this project?
Review the draft AI ECA Interceptor merge request and provide feedback on the event architecture and plugin implementations. Test the Summarization action implementation once available to verify it correctly extends AiConfigActionBase and dispatches Summarization input objects.
Contributors: Marcus Johansson (Marcus_Johansson)OpenAI Provider
File handling support for the 1.3.x branch was merged during this period via Resolve #3548526 "1.3.x support file handling", bringing 625 lines of changes to the codebase.
A significant architectural change is under review: Issue #3558801: Route the OpenAI chat operation through the Responses API... proposes migrating the chat operation from OpenAI's Chat Completions endpoint to the newer Responses API. This 1487-line MR reflects a shift in direction from an earlier approach that would have exposed Responses as a separate operation type. The Responses API is OpenAI's intended successor to Chat Completions, which will eventually be deprecated.
How can I help on this project?
Review the Responses API migration in MR !78, testing backward compatibility and validating the architectural shift from Chat Completions. Given the 1487-line changeset, particular attention to edge cases and streaming behavior would be valuable.
Contributors: Ahmad Khalil (ahmad-khalil-imagex), Bryan Sharpe (b_sharpe)Google Vertex Provider
A significant Refactor HTTP client & add tests merge request was opened during this period. The MR introduces test coverage and refactors the HTTP client implementation, spanning over 1600 lines of diff. This work builds upon changes from a previous merge request focused on the same area. The refactor represents a substantial update to the module's architecture and quality assurance infrastructure.
No merge requests were merged and no commits were pushed during the reporting period. Activity was limited to the opening of the refactoring work.
How can I help on this project?
Review the Refactor HTTP client & add tests merge request, which is open and ready for feedback. Test the HTTP client changes and verify test coverage is comprehensive. Provide feedback on the refactored architecture and API design.
Contributors: Tamás Nagy (yce)
Milvus VDB Provider
A merge request addressing Milvus restart on failure was merged during the reporting period, bringing 24 lines of changes to improve stability when the Milvus service falls over in Mac environments within DDEV. This fix targets scenarios where the vector database service fails while the rest of the DDEV site continues to function normally.
A separate merge request remains open addressing Milvus connection failures fixes, which involves 253 lines of changes. This larger patch is currently awaiting review and appears to tackle broader connection reliability issues with the Milvus vector database provider.
The focus for this module continues to be improving connection resilience and handling failure scenarios in local development environments, particularly around DDEV configurations.
How can I help on this project?
- Review the open connection failures fixes merge request to help move the 253-line patch toward completion.
- Test the merged restart-on-failure fix in Mac and DDEV environments to verify stability improvements and report any edge cases.
Contributors: Remco Hoeneveld (RemcoHoeneveld), Scott Euser (scotteuser) [1]
Model Context Protocol
Activity over the past 24 hours centered on expanding the module's capabilities beyond read-only operations. A merge request for Write (Create/Update) Operations Support was opened, adding 1237 lines of code to enable create and update functionality. The MR remains under review and has not yet been merged.
No commits were pushed directly to the repository during this period, and no issues were updated or commented on. The write operations branch represents the primary area of active development.
How can I help on this project?
- Review the Write (Create/Update) Operations Support merge request, testing the create and update operations with various entity types and access permissions.
- Check for API documentation completeness and coding standards compliance in the 1237-line changeset.
AI Agents
The fix for force_value tool restrictions was merged, resolving an issue where forced argument values were ignored when the hide_property checkbox was left unchecked. The bug stemmed from AiAgentForm::save() referencing an undefined $restrictions variable, which prevented the action, values, hide_property, and not_break keys from being persisted. The merge includes a new functional test, ForceValueFormPersistenceTest, which verifies that restrictions are correctly saved and enforced at runtime.
Two open merge requests are under review. MR !295 addresses AgentStatusSubscriber fatals when tool status output has no function.name, fixing a fatal error in AgentStatusSubscriber.php:241 where getFunctionCallFromFunctionName() receives null instead of a string. MR !284 proposes switching the structured output schema field from a plain textarea to the ai_json_schema editor element, adding CodeMirror syntax highlighting and JSON linting to AiAgentForm::buildFormMetadata().
A support issue was opened questioning whether the "Use Artifact storage" checkbox is necessary, after observing that artifact storage is used even when the checkbox is disabled.
How can I help on this project?
Review MR !295 for the AgentStatusSubscriber fatal fix or MR !284 for the JSON schema editor improvement. Help investigate the artifact storage checkbox behavior by reproducing and documenting expected versus actual behavior.
Contributors: Ahmad Khader (Ahmad-Khader), AKHIL BABU (AkhilBabu), Prabhavathi Vanipenta (prabha1997)
Tool API
Activity in the Tool API module remained quiet over the past 24 hours, with no merge requests merged or commits pushed. The primary focus continues to be research and proof of concept work around File Input Handling, which explores how Tools should accept and process file inputs securely when invoked by AI agents. Key research areas include input formats, file loading, and normalization schemas. This work is part of the AI Initiative Sprint and will inform decisions about whether file handling features should be implemented within this module or externally.
No significant blockers were reported during this period, though the file input research remains in progress and is currently assigned.
How can I help on this project?
The Tool API has limited open work at present. Developers interested in contributing could monitor the File Input Handling research issue for emerging tasks once the proof of concept concludes and follow-up issues are created. Check the project's issue queue for any newly opened unassigned issues that may benefit from fresh contributions.
Drupal Canvas
Two major features merged this period. The rudimentary conflict resolution UI landed, providing a paginated conflict viewer with viewport selection and API integration. Users can now resolve conflicts by choosing between auto-saved and published entity versions. The heuristics for the content-entity-reference selection UI also merged, filtering out internal metadata (such as revision_default, workspace) and deduplicating computed properties like image URLs from the picker.
A critical bug fix addressed validation errors when deleting optional props from SDC or code components. The fix stores each prop's translatability per component version, preventing config-defined component trees from breaking when optional props are removed. Another fix resolved AI response validator failures for non-existent props by adding explicit validation.
Several issues remain open with active MRs: stale content template previews, filtering translation metadata from PropSourceSuggester, and removing the content entity reference feature flag. Progress on Drupal 12 compatibility and boolean prop handling continues.
How can I help on this project?
Review the open MR for stale content template editor preview snapshots. Test the PropSourceSuggester translation metadata filter. Pick up unassigned issues like documenting Component::preSave operation ordering.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative) [1], Ben Mullins (bnjmnm), Bálint Kléri (balintbrews), Christian López Espínola (penyaskito) [2], Feliksas Mazeikis (f.mazeikis) [1], Fons Vandamme (f0ns), Jakob P (japerry), Lauri Timmanee (lauriii), project update bot (Project-Update-Bot), Ravi Maniyar (ravi.maniyar.123) [1], scott falconer (scottfalconer), Stephanie Galata (sgalata), Wim Leers (wimleers)
Context Control Center (CCC)
Two accessibility and documentation merge requests landed in the reporting period. Clean up CCC form and table accessibility cleanup replaced disabled read-only selects with plain text, added visible labels for screen readers, updated JavaScript filter behaviors to announce result counts via Drupal.announce(), and added a table caption to the agent overview. Clean up CCC documentation and API consistency aligned the context prefix fallback string in AiContextSystemPromptSubscriber with the install config default and updated scope API documentation to replace stale getManageUrl() references with the current getManageRoute() method signature.
A test compatibility issue was resolved when AiContextAgentSettingsTest fails with ai_agents 1.3.2+ due to hardcoded edit form path closed after updating the hardcoded agent edit form path assertion to use the route-derived URL, preventing breakage when upstream modules change route paths.
Work continues on several API stability blockers ahead of the beta3 release and eventual rc1. Beta vs 1.1 CCC API gap analysis closed after findings were fed into follow-up issues covering scope plugin naming, conditional subcontext behavior, and selector performance. Multiple open merge requests address cacheability metadata, access checks in usage record pages, tooltip accessibility, and inconsistencies in constructor promotion and local variable naming conventions.
How can I help on this project?
Review open merge requests for Usage record page leaks context item content and grants links without access checks (MR !208), Selector loads the entire catalog when an agent has no scope subscriptions (MR !210), or Exposed tooltip/truncated content and icon meaning to assistive tech (MR !199). Test Improve conditional subcontext disabled-state behavior and admin UX (MR !194) manually with realistic subcontext hierarchies.
Contributors: Jesse Hofmann-Smith (jessehs), Joshua Fernandes (joshua1234511), Juan Correa (jucs7) [1], Kristen Pol (kepol) [1], Pravesh Poonia (Pravesh_Poonia) [1], Rob Loach (robloach), Tamas Balog (tbalog)
AI translate
A significant refactoring effort is underway to unify the module's translation workflow across multiple entrypoints. Currently, entity translation logic is duplicated between the UI batch translation controller and the Drush command. Work has begun to consolidate this into a shared orchestrator pattern to support a third entrypoint: Tool API translation for agent-driven workflows.
A draft merge request, Refactor entity translation into a shared orchestrator service, was opened during the reporting period. The refactor introduces EntityTranslationOrchestratorInterface, EntityTranslationOrchestrator, and EntityTranslationResult as new service components. The UI controller and Drush command are being updated to delegate orchestration to this shared service rather than maintaining separate implementations. The MR remains in draft status, addressing the Refactor translation workflow to support Tool API and agent-driven translation issue, which is currently marked as needs work.
How can I help on this project?
Review the draft orchestrator refactor MR and provide feedback on the service architecture, interface design, or test coverage. Testing the refactored workflow against existing UI and Drush translation scenarios would help validate the consolidation approach.
Contributors: Sven Decabooter (svendecabooter)
Pinecone VDB Provider
Activity on the Pinecone VDB Provider remained quiet during this period, with no merge requests merged or commits pushed. The open feature request for Pinecone: Support batching on indexing operations continues to await implementation. This issue proposes extending batching capabilities to the Pinecone provider, similar to work previously completed in the Milvus provider. No related merge requests have been opened yet, and the issue remains unassigned and in needs review state.
How can I help on this project?
- Pick up the batching operations feature request by implementing support for batch indexing, following the Milvus provider's approach as a reference.
- Review the provider's existing indexing API methods to identify where batching would provide the most performance benefit for bulk operations.
AG-UI
Activity in the AG-UI module over the past 24 hours focused on issue tracking rather than code integration. Two feature requests were updated relating to error handling and debugging capabilities for server-sent events (SSE).
The Add events for failures issue proposes introducing event triggers to handle remote exceptions and timeouts in a user-friendly manner. This would allow developers to react programmatically when the remote service throws exceptions or experiences connectivity issues.
A separate request to Debug should include timestamps aims to improve SSE debugging by adding human-readable timestamps to debug events, which would assist with timing-related troubleshooting.
No merge requests were opened or merged, and no commits were pushed during this period. Both issues remain open with no related patches or merge requests attached.
How can I help on this project?
- Pick up the Debug should include timestamps issue and implement timestamp support in debug event output.
- Design an event architecture for the Add events for failures feature, defining event types and subscriber interfaces for error handling.
References
[1] Document FunctionalJavascript test conventions and add CI check for ungrouped/unrecorded tests
[2] Fix PHPStan issues on API Explorer
[4] Add an AI reranking processor for Search API (owned by the AI module)
[8] [1.x] Add a setup-automators agent skill to configure automators on fields
[9] AI CKEditor: Hardcoded “summarize” message shown for all plugins when no text is selected
[10] Plugin shouldn't show any fields if no text is selected
[15] Issue #3586543: Add AI reranking processor for Search API.
[16] task: #3586562 Add a configure-ai-settings agent skill for general AI settings...
[17] task: #3586563 [1.x] Add a setup-automators agent skill to configure automators on fields
[18] Workaround until core issue is fixed
[19] Workaround until core issue is fixed
[20] Workaround until core issue is fixed
[21] Workaround until core issue is fixed
[23] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[24] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[25] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[26] replace hardcoded "summarize" no-selection message with overridable...
[28] feat: #3575346 AI CKEditor: Hardcoded “summarize” message shown for all...
[37] Resolve #3548526 "1.3.x support file handling"
[38] Issue #3558801: Route the OpenAI chat operation through the Responses API...
[46] force_value is ignored when hide_property is unchecked (AI Agents 1.2.x)
[49] fix: #3586045 persist force_value tool restrictions saved from the agent form
[63] Rudimentary conflict resolution UI
[105] feat(conflict): Add conflict resolution UI with viewport selection and route integration
[116] Clean up CCC test and documentation consistency before rc1
[120] Clean up CCC configuration policy checks
[122] Clean up CCC form and table accessibility cleanup
[123] Clean up CCC documentation and API consistency
[124] [Meta] CCC cleanup from beta3 code review findings for beta3
[127] Create CCC beta3 release
[128] CCC beta3 QA