Daily Digest
Daily Digest – 28 June 2026
2026 Capabilities Progress
- Page generation — No direct progress today.
- Context management — Significant progress was made on the Context Control Center, with a comprehensive quality review identifying improvements across eight areas including accessibility and documentation, and work advancing on external context provider interfaces to support vector store integrations [89][90][91][92][93][94][95][96][97][98][99][100][101][102][105]. The module is being prepared for its first release candidate.
- Background agents — Multiple issues were opened to expand agent-driven configuration capabilities, allowing AI assistants to set up automators, guardrails, and core settings through conversational commands [37][38][39][40]. Work also continued on defining a permissions model for agents that operate autonomously via scheduled tasks or queues [75][74][41].
- Design system integration — No direct progress today.
- Content creation and discovery — Work continued on batch embeddings support to reduce indexing time for vector databases [3][45][46][113], and AI Search reranking capabilities are being developed [35]. Five critical defects were identified in AI Search that prevent basic functionality [112][113][114][115][116][117]. Support for rich-text image descriptions in AI Automators was added [1], and interactive refinement capability for field widget actions is under development [27].
- Advanced governance — New guardrail capabilities were developed including semantic topic matching and sensitive content streaming evaluation [4][5][32], and guardrail evaluation across message history was being worked on [8]. Planning continued on batch approvals and branch-based versioning through the AI Content Review Workflow meta-issue [59].
- Intelligent website improvements — Planning work established how providers will notify administrators when better AI models become available [10], and AI usage reports in the admin panel progressed [21]. The module ecosystem documentation initiative was launched to help adopters understand available capabilities [28].
- Multi-channel campaigns — The Orchestration module progressed on ECA integration for bi-directional workflow automation [121] and n8n integration for connecting Drupal with external applications [120]. No content-specific multi-channel features were developed today.
Shipped
- AI CKEditor functional test suite in progress — Validation work closed, with implementation merge requests under review to ensure editor-based AI features continue to work correctly as the module evolves [2][44].
- Translation crash being worked on in Canvas — A critical issue preventing translation jobs for pages with certain content components is being addressed with a proposed fix under review [83].
Ongoing
- Batch embeddings for improved indexing performance — Work continues to reduce indexing time for vector databases by processing multiple content chunks simultaneously [3][45][46].
- Agent configuration capabilities expansion — Multiple issues opened to allow AI assistants to set up automators, guardrails, and core settings through conversational commands [37][38][39][40].
- Context Control Center release candidate preparation — Comprehensive quality review in progress across eight areas including accessibility, caching, documentation, and test coverage ahead of first stable release [89][90][95][97][98][99][100][101][102].
- AI Search critical defects identified — Five foundational integration and error-handling problems discovered that prevent basic search functionality in several configurations [112][114][115][116][117].
- Ecosystem documentation and provider matrix — Planning underway to create curated directory of related modules and automated provider compatibility matrix to help adopters understand available options [28][29].
AI (Artificial Intelligence)
The AI module saw focused development activity over the past 24 hours, primarily around documentation, architectural improvements, and long-term product planning.
A functional test suite for AI CKEditor was closed, completing validation work that ensures editor-based AI features continue to work correctly as the module evolves. Work continued on batch embeddings support, which will reduce indexing time for vector databases by processing multiple content chunks simultaneously rather than one at a time—a meaningful performance improvement for sites with large content libraries.
Several strategic planning issues were opened to guide the module's next phase. These include creating a curated directory of related modules and providers to help adopters understand the ecosystem, defining how to transition bundled submodules (such as validations and search) to standalone projects, and designing a mechanism to notify administrators when better AI models become available from providers. Additional issues were opened to expand agent-driven configuration capabilities, allowing AI assistants to set up automators, guardrails, and core settings through conversational commands.
A validation issue was identified in one of the agent skills, where a naming mismatch could prevent the skill from being invoked correctly. A merge request has been opened to resolve this.
How can I help on this project?
- Prioritize completion of the ecosystem documentation and provider matrix script so adopters can quickly understand what exists and how to use it.
- Support resource allocation for the batch embeddings and agent skill work streams, which are foundational to both performance and usability goals.
Contributors: Ahmad Khalil (ahmad-khalil-imagex), Artem Dmitriiev (a.dmitriiev), Ronald te Brake (ronaldtebrake), velmir_taky (root_emarketing)
Drupal AI Initiative
Activity during the reporting period was limited to routine issue tracking and planning. Several existing work items received status updates as part of ongoing sprint management, including issues related to content review functionality, demonstration systems, and AI-powered recipes for common use cases like comment moderation.
Two new areas of work were opened for exploration. The first involves automating GitLab workflow processes to reduce manual maintenance effort across AI Initiative repositories. The second explores deployment automation skills that would allow developers to set up and manage hosting environments through conversational instructions, with initial research focused on provider APIs.
A Module Finder beta testing initiative was also established to gather user feedback on the AI-powered semantic search tool designed to help developers discover existing contributed modules before building custom solutions.
No merge requests were completed during this period. Work continues across multiple streams including user experience design, technical architecture, and demonstration infrastructure.
How can I help on this project?
- Facilitate introductions to hosting provider technical contacts to accelerate API research and partnership discussions for deployment automation capabilities.
- Allocate budget or resources to support beta testing coordination and user research activities for Module Finder and other user-facing tools.
AI Agents Test
No development activity occurred in the reporting period. Two planning issues were updated with minor metadata changes but saw no substantive progress.
Both items remain in early discovery: one explores how users might run multiple test groups together in a single operation, and the other examines whether this module should be consolidated with a related evaluation tool to avoid duplication of effort across the AI ecosystem.
The module continues in an exploratory phase with no commits or merge activity in the past 24 hours.
How can I help on this project?
- Clarify the strategic direction: decide whether consolidating testing tools is a priority, or whether parallel development should continue.
- Allocate development capacity to move planning issues into implementation if the module is expected to progress toward a usable release.
Gemini Provider
The Gemini Provider module saw two feature requests updated this period, both focused on expanding the module's embedding capabilities to better leverage Google's Gemini platform strengths.
Work is being tracked to add Image Embeddings support, which would allow the system to index and search using images rather than just text. This capability is currently rare among AI providers and could differentiate the platform's content discovery features. A related merge request is already in development.
Additionally, Add support for batch embeddings is being explored to enable processing multiple items at once. This would improve efficiency when indexing large volumes of content. A merge request for this enhancement is also underway.
Both features remain in active development with no code merged this period. This is normal progress for a module working toward broader AI integration capabilities.
How can I help on this project?
- Clarify business priorities between image search capabilities and batch processing efficiency to help contributors focus resources on the highest-value feature first.
- Identify pilot use cases or content types where image embeddings would deliver immediate user value.
AI Agents
Development activity this period focused on planning and refinement ahead of a stable release. Seven issues received updates, concentrating on three strategic themes: better integration with external AI platforms, improvements to the agent configuration experience, and a clearer permissions model for autonomous agents.
Work is underway to explore how agents defined in Drupal could be exported or synchronized to external platforms like Claude Code or VAPI, allowing the module to participate in broader AI ecosystems. Meanwhile, two issues moved to "ready to be committed" status: one that would prevent configuration errors when agent names collide with code-level plugin IDs, and another to add a chat processor for conversational agents.
Several issues address how agents handle permissions when running tools—particularly important for agents that operate autonomously via scheduled tasks or queues, where no logged-in user session exists. Proposals include assigning agents their own permissions, user identity, or role and letting agents assume a specific role when executing tools.
How can I help on this project?
- Prioritize a decision on the agent permissions model—multiple overlapping proposals need consolidation to unblock autonomous agent use cases.
- Consider allocating resource to review and commit the two issues marked ready, accelerating progress toward a stable release.
Tool API
The Tool API project saw active discussion this period focused on improving how tools can be discovered, invoked, and integrated into AI workflows. Five issues were updated with new comments, though no code was merged.
Key themes include improving the developer and integration experience. Work continued on making tool declarations introspectable over the CLI, which would allow systems like command-line interfaces and AI agents to understand what a tool does and what inputs it needs without having to run it first. This supports a more predictable and maintainable integration pattern.
Discussion also continued on controlling tool return formats, which addresses how results are presented to different consumers, and allowing tool execution to be previewed, enabling teams to test and debug workflows without making permanent changes. Progress was also noted on strategies for discovery, planning, and execution patterns that help AI agents work more reliably when managing many tools.
One issue flagged a serialization conflict affecting REST endpoints when the Tool module is enabled, which impacts API integrations.
How can I help on this project?
- Help prioritize which integration improvements (introspection, return format control, preview mode) deliver the most value to early adopters and should be resourced first.
- Ensure the REST serialization issue is addressed quickly if API stability is important to your deployment timeline.
Drupal Canvas
Activity this period focused on addressing a critical issue and maintaining project dependencies. A fix was developed for a crash that occurs when requesting translation jobs in sites using the translation management system. This was blocking users from translating pages that include certain types of content components.
Automated dependency updates were proposed for development tools and infrastructure, including updates to code quality tools and database components. These keep the project aligned with current standards and security patches.
Existing work on allowing individual pages to override their templates remains under review. This capability would give content editors more flexibility to customize specific pages without changing site-wide templates.
How can I help on this project?
- Prioritize review and testing resources for the translation fix, as it impacts multilingual deployments.
- Clarify the decision timeline for the page override feature to help guide further investment in that capability.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Narendra Singh Rathore (NarendraR), Rajab Natshah (RajabNatshah)
Context Control Center (CCC)
Work this period focused on preparing the module for its first release candidate. A comprehensive quality review was completed, identifying improvements across eight areas including accessibility, caching, documentation, and test coverage. These have been organized into focused cleanup issues that will strengthen the product before wider adoption.
Two strategic discussions advanced. A feature proposal was submitted for external context provider and query interfaces to support vector store and retrieval-augmented generation integrations. This would formalize a pattern already working in production but currently requiring workarounds. Separately, the team is evaluating how the new Annotations module might integrate with CCC's context management capabilities.
Planning work established the roadmap for Sprint 13, covering 27 June through 10 July. Progress continued on allowing subcontexts to override parent scope settings and on delivering a redesigned full-page layout for viewing context items. The experimental Document Loader importer submodule is being prepared for promotion to stable status once remaining documentation and testing tasks are complete.
Several usability improvements are in progress, including clearer project documentation explaining that CCC currently works with AI agents specifically, and renaming scope plugin labels to reduce confusion around entity types and bundles.
How can I help on this project?
- Prioritize whether the external provider API proposal should be included before the first release candidate, as this decision affects the supported integration patterns for ecosystem partners.
- Allocate resource time for the accessibility and caching cleanup work to ensure quality standards are met before the stable release.
AI Search
The AI Search module saw significant diagnostic activity this period, with five new issues opened identifying critical defects that prevent the module from functioning correctly. No code changes were merged.
The issues uncovered represent foundational integration and error-handling problems. They include a missing logger dependency that causes crashes instead of reporting errors, a silent failure when search providers are misconfigured, and a parameter-passing error that triggers fatal errors during search operations. A fourth issue reveals that search queries are routed incorrectly for certain types of database providers, preventing search from working at all in those cases.
One issue tracks compatibility with the updated AI core module, which is waiting on upstream work. Another proposes batch processing for indexing to improve performance at scale.
These issues reflect expected discovery work in a pre-stable module. Resolving them will improve reliability and user experience.
How can I help on this project?
- Allocate dedicated development resources to address the open defects, which are blocking basic search functionality in several configurations.
- Clarify whether performance improvements like batch indexing align with the project roadmap and timeline for a stable release.
Field Widget Actions
No development activity was recorded during this period. One feature request was filed to address a limitation in the module's configuration system that prevents recipes from adding multiple action buttons to a single form. Currently, when configuring actions programmatically, each button requires a manually specified unique identifier, causing buttons to overwrite each other instead of operating independently. The proposed enhancement would automatically generate these identifiers, matching the behavior users already experience when adding buttons through the interface. This would enable recipe authors to deploy more sophisticated forms with multiple action buttons without manual workarounds.
The issue remains in early design stages with no implementation work yet underway. This is expected for a module in active feature development.
How can I help on this project?
- Clarify whether multi-button recipe support is a priority for your upcoming deployments, to help the team prioritize this enhancement request.
- Ensure maintainers have capacity allocated to design and implement the configuration improvement if it aligns with strategic needs.
Orchestration
The Orchestration module saw continued planning and design activity this period, with three issues receiving updates focused on expanding integration capabilities and defining architectural standards.
Work progressed on [orchestration_eca] Add "Execute Orchestration service" ECA action to allow ECA to invoke registered services, which will enable bi-directional communication between the Orchestration module and Drupal's Event-Condition-Action system. This means workflows will be able to both trigger external services and respond to them, expanding automation flexibility.
Planning continued on Integrate with n8n, which will add support for a popular workflow automation platform. Once complete, this will allow organisations to connect Drupal content and user events with thousands of external applications and services through n8n's marketplace.
Discussion also advanced on Using JSON Schema to define "input", "output" and "config", a technical proposal to standardise how workflow components validate and document their data contracts. This foundation will improve reliability and make it easier to build complex automations safely.
How can I help on this project?
- Clarify priority between the n8n integration and the ECA bidirectional feature to focus development effort.
- Connect the team with organisations willing to pilot the n8n integration once available.
- Approve or deprioritise the JSON Schema architectural proposal to reduce planning overhead.
AG-UI
No development activity was recorded during this period. The project has one active planning item open: [META] Improve Drupal Assistant Implementation, which focuses on evolving an earlier proof-of-concept into a production-ready replacement for an existing chat component. This work is still in the design phase, with no code changes merged or commits made in the last 24 hours.
The module remains in active development with no urgent blockers identified during this period.
How can I help on this project?
- Confirm strategic alignment on whether the Drupal Assistant feature should proceed as a production replacement, and communicate that decision to the team.
- Ensure adequate development resourcing is available to move planned improvements from design to implementation.
References
[1] Add rich-text image description support to AI Automators
[2] Add Functional Tests for AI CKEditor
[3] Batch embeddings for improved indexing performance
[4] RestrictToTopic guardrail: add semantic topic matching mode
[8] Guardrail plugins only evaluate the last message
[10] How does the provider notify of better models
[21] Provide AI usage reports in Drupal admin panel
[27] Add interactive refinement capability to Field Widget Actions
[28] Document the AI module ecosystem: a categorized list of related modules with links and summaries
[29] Add a deterministic script to auto-generate the providers/operation-types matrix from GitLab
[32] Add a Moderation Guardrail plugin (configurable moderation provider/model as a guardrail)
[35] Add an AI reranking processor for Search API (owned by the AI module)
[37] [2.x] Add a setup-automators agent skill to configure automators on fields
[38] [1.x] Add a setup-automators agent skill to configure automators on fields
[40] Add a setup-guardrails agent skill to configure guardrails, guardrail sets, and global guardrails
[44] Issue #3477173: Add functional tests for AI CKEditor
[45] Issue #3568648: Batch embeddings as a first-class operation type (follow-up to !1704)
[46] Batch embeddings for improved indexing performance
[59] [Meta] AI Content Review Workflow
[74] Let an agent use a role when running a tool
[75] Allow agents to have permissions, user or a role
[89] Clean up CCC tooltip, truncation, and icon-only content
[90] Clean up CCC cacheability and access metadata
[91] Allow subcontext scope to override parent scope
[92] Add full view layout for context item canonical and revision pages based on new design
[93] Improve conditional subcontext disabled-state behavior and admin UX
[94] Add #[RunTestsInSeparateProcesses] attribute to all kernel test classes
[95] Clean up CCC inconsistencies and DX issues before rc1 (part 3)
[96] Update relevant CCC skipped tests
[97] Clean up CCC test and documentation consistency before rc1
[98] Clean up CCC accessible interactive links and external links
[99] Clean up CCC JavaScript filter feedback
[100] Clean up CCC form and table accessibility cleanup
[101] Clean up CCC documentation and API consistency
[102] Clean up CCC configuration policy checks
[112] Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated
[113] Batch embeddings for improved indexing performance
[114] Named argument spread into `querySearch()` includes keys it does not accept, causing PHP fatal
[115] PluginException from getSearchVectorInput() is not caught, returning empty results with no error
[116] Logger not injected in `create()`, causing fatal error on error paths
[117] vectorSearch() is never called for embedding-free VDB providers
[120] Integrate with n8n
Shipped
- Batch embeddings as first-class operation type — MR 1726 adds BatchEmbeddingsInterface as a non-breaking first-class operation type, allowing providers to opt into batch processing while maintaining backwards compatibility with EmbeddingsInterface[3][45].
- AI CKEditor functional tests completed — Issue 3477173 was closed after functional test coverage work in MR 1302 was opened[2][44].
- Canvas TMGMT translation WSOD fix — MR 1296 addresses a fatal AssertionError that occurs when requesting TMGMT translation jobs for Canvas pages containing date components with single cardinality[83].
Ongoing
- AI API Explorer skill name validation failure — The skill name create-new-explorer does not match its directory name create-ai-api-explorer, violating Agent Skills specification; MR 1732 opened to correct the mismatch[43][47].
- Gemini 2.x streaming payload bug in ai_ckeditor — streamGenerateContent causes 400 Bad Request errors with Gemini 2.x models due to malformed payloads from the PHP client[24].
- AI Search backend critical bugs — SearchApiAiSearchBackend has missing logger injection causing fatals on error paths, uncaught PluginException from getSearchVectorInput returning empty results silently, and named argument spread into querySearch including unsupported keys triggering PHP fatals[114][115][116].
- Guardrail plugins only evaluate last message — Multi-turn conversation guardrails fail because guardrail plugins only evaluate the final message rather than the full conversation context[8].
- Context Control Center rc1 preparation — Multiple cleanup issues in progress including cacheability metadata, accessible interactive links, tooltip accessibility, JavaScript filter feedback, form/table accessibility, documentation consistency, and configuration policy checks under the AI Best Practices meta[89][90][97][98][99][100][101][102][106].
AI (Artificial Intelligence)
Development activity over the past 24 hours focused on embedding performance optimization, guardrail testing, and agent skill infrastructure. A follow-up to the batch embeddings work was pushed in MR !1726, introducing BatchEmbeddingsInterface as a first-class operation type. This non-breaking change allows providers to opt into batch processing while maintaining backwards compatibility with the existing EmbeddingsInterface. The implementation ensures batch operations receive events, config normalization, and logging support through ProviderProxy.
Functional test coverage for AI CKEditor continued in MR !1302, with work on Add Functional Tests for AI CKEditor reaching the point where the issue was closed. A validation bug in the AI API Explorer agent skill was identified: the skill name create-new-explorer does not match its directory name create-ai-api-explorer, violating the Agent Skills specification. MR !1732 was opened to correct this mismatch in Agent Skill 'create-ai-api-explorer' failed validation.
Discussion continued on several open issues including ai_ckeditor: streamGenerateContent causes 400 Bad Request with Gemini 2.x models, where streaming requests to Gemini 2.x models fail due to malformed payloads from the PHP client, and Guardrail plugins only evaluate the last message, which affects multi-turn conversations.
How can I help on this project?
Review MR !1726 for the batch embeddings refactor and test against your vector database provider. Investigate the Gemini 2.x streaming payload issue in ai_ckeditor: streamGenerateContent causes 400 Bad Request with Gemini 2.x models to identify whether the fix belongs in the provider or client library. Pick up Add Summarization operation type support to the echoai test provider, an unassigned Easy Win with no open MRs.
Contributors: Ahmad Khalil (ahmad-khalil-imagex), Ronald te Brake (ronaldtebrake), velmir_taky (root_emarketing)
Drupal AI Initiative
The reporting period saw no merge requests merged or commits pushed. Activity focused on planning and issue updates across multiple workstreams.
Several meta issues tracking major product development efforts received updates, including work on AI Content Review Workflow, the AI CMS Demo System (covering repository setup, technical concepts, and hoster-specific POCs), and AI Review functionality (both UX and technical concept phases). These remain in active planning stages.
New issues opened during the period include exploration of GitLab workflow automation for AI Initiative repos, which proposes using Rules, ECA, or a custom module atop gitlab_api to automate issue and MR housekeeping. A meta for hosting provider deployment skills was created to track agent-driven deployment and environment setup across hosting platforms, with initial research scoped for DevPanel's API capabilities. Work continues on Module Finder beta testing, aiming to recruit testers for the semantic search tool that helps agents discover existing contributed modules before writing custom code.
Recipe development remains a focus area, with issues open for AI Validations and AI Automators comment-spam scoring recipes.
How can I help on this project?
- Pick up the unassigned DevPanel API research task to document what deployment automation is possible through their API/CLI.
- Help scope the AI Automators comment-spam recipe, which needs design for wiring spam-scoring onto core Comment entities.
- Contribute to beta testing Module Finder and provide feedback on semantic search improvements.
AI Agents Test
The AI Agents Test module saw no merge activity or code changes during this period. Two planning issues were updated that focus on the future direction of the module. The Research: merging ai_agents_test with ai_eval (and AiLlm test harness) issue is exploring whether the module should be consolidated with ai_eval, and how it relates to the core AI module's test harness infrastructure. Separately, Run more than one test group in Bulk - Test Collections? examines adding bulk operations functionality to run multiple test groups simultaneously, potentially using either a views-style bulk operation UI or a tag-based system for grouping tests.
Both issues remain in the planning and requirements phase, with no implementation work merged yet. The module appears to be at a crossroads regarding its architectural direction and relationship to other testing tools in the Drupal AI ecosystem.
How can I help on this project?
- Contribute research and recommendations on the ai_eval merger research issue by documenting use cases and technical overlaps between the three testing systems.
- Design a bulk test execution approach for the test collections issue and propose an implementation strategy.
Gemini Provider
Activity in the Gemini Provider module remained light during the reporting period, with no merge requests merged or commits pushed. Development focus appears centered on expanding embedding capabilities beyond the current text-only implementation.
Two feature requests remain open. Image Embeddings proposes leveraging Gemini's support for file embeddings to enable indexing and searching using image data, a capability shared with AWS Titan but not widely available across other providers. Separately, Add support for batch embeddings aims to utilize Gemini's batchEmbedContents method when EmbeddingsInput contains multiple items, following patterns established in the core AI module.
Both issues have related merge requests (MR !35 and !37 respectively) in opened state, indicating active development work that has not yet been merged.
How can I help on this project?
- Review the opened merge requests for Image Embeddings (MR !35) and batch embeddings support (MR !37) to help move these features toward completion.
- Test the batch embedding implementation against various input sizes to verify performance characteristics.
AI Agents
No code was merged during this period, but several issues saw status updates and are approaching completion. Two issues reached RTBC status: Create an ChatProcessor, which will enable agents to participate in the AI Assistant chatbot layer with configurable history and error messaging, and AI Agent entity form should reject machine names that collide with existing code-plugin IDs, a fix for a namespace collision bug in AiAgentManager::findDefinitions() that causes config entities to silently overwrite code-defined plugins.
Work also continued on agent permission models. Two related issues explore ways for agents to execute tools with specific roles or permissions rather than inheriting the invoking user's context—important for autonomous agents running via cron or ECA. Additionally, Use the ai_json_schema editor for the AI Agent structured-output schema field moved to Needs Work; it proposes replacing the plain textarea in AiAgentForm::buildFormMetadata() with the dedicated ai_json_schema CodeMirror element for better schema validation and editing.
How can I help on this project?
Review Create an ChatProcessor or AI Agent entity form should reject machine names that collide with existing code-plugin IDs, both marked RTBC and awaiting final commit. Alternatively, pick up Use the ai_json_schema editor for the AI Agent structured-output schema field, currently Needs Work and unassigned.
Tool API
No merge requests or commits landed during this period. Discussion continued on several architectural questions affecting tool consumers and interoperability.
A bug report was filed for MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization, which documents a conflict between Tool's custom normalizers and Drupal core's REST module when serializing content entities to JSON. The normalizers intercept TypedData context and map definitions globally, breaking entity serialization in unrelated subsystems.
Three feature and planning issues saw activity: Allow controlling Tool return format discusses separating raw tool output from textual wrapper messages for consumers like MCP and AG-UI; Allow tool execute to be previewed explores a preview mode for simulating tool execution without permanent side effects; and Introduce support for Discovery, Planning and Execute calls for MCP and Agents addresses scaling challenges when tool counts exceed 40.
A proposal was opened to make Tool's declarations introspectable over the CLI, and enrich input schema, aiming to surface tool metadata for consumers like Drush and mcp_server without invoking the tool itself.
How can I help on this project?
Investigate the REST serialization conflict in MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization and propose a scoping fix for the normalizers. Weigh in on the CLI introspection proposal in Proposal: make Tool's declarations introspectable over the CLI to help shape the metadata surfacing approach.
Drupal Canvas
Activity this period focused on bug fixes and dependency updates. A merge request addressing WSOD AssertionError: assert(!$data instanceof ComponentInputsMapping) in assert() when requesting tmgmt translation job was opened to resolve a fatal error that occurs when requesting translation jobs through TMGMT for Canvas pages containing date components with single cardinality.
Multiple dependency update merge requests were opened via automated tooling, including updates to @eslint/compat to v2, @chromatic-com/storybook to v5, and various npm minor and patch updates. A MySQL Docker tag update to v8.4 is also pending review.
The per-node Content Template override feature remains open, introducing a per-node Canvas editor at /canvas/editor/node/{node} with changes to ApiLayoutController and field linking resolution.
How can I help on this project?
- Review the TMGMT translation WSOD fix by testing with date components and translation workflows.
- Test the per-node override feature to validate field linking and editor isolation behavior.
- Review pending dependency updates to ensure compatibility with the existing Canvas codebase.
Contributors: project_19391_bot_cb443e60680723bba08a5351bf595251, Narendra Singh Rathore (NarendraR), Rajab Natshah (RajabNatshah)
Context Control Center (CCC)
Activity this period focused on release planning and issue triage as the project prepares for rc1. Work continued on Sprint 13 CCC roadmap updates, sprint planning, and issue triage to align backlog priorities with the upcoming milestone.
Two significant feature discussions emerged. An ExternalContextProviderInterface and ContextQueryInterface proposal was opened to support RAG and vector store integrations, highlighting API gaps in the current BuildSystemPromptEvent workflow that affect token limit logic and observability. Separately, evaluation began on how the new Annotations module might integrate with CCC via Evaluate Annotations module and how it might work with CCC.
Pre-rc1 cleanup work advanced across multiple fronts, organized under [Meta] Fix CCC issues based on AI Best Practices results. Child issues now track cacheability metadata, accessible interactive links, tooltip and truncation accessibility, JavaScript filter feedback, form and table accessibility, documentation consistency, and configuration policy checks. PHPUnit compatibility was addressed in Add #[RunTestsInSeparateProcesses] attribute to all kernel test classes, with 35 of 39 kernel tests requiring the Drupal 11.3+ attribute.
How can I help on this project?
Review open design and API proposals, particularly the RAG integration interface design. Help validate or reproduce configuration policy checks in the AI Best Practices cleanup issues. Contribute patches for the PHPUnit attribute migration across the remaining 35 kernel test classes.
AI Search
The AI Search module saw no merges or commits during the reporting period, but five new bug reports were opened related to core functionality and compatibility issues.
Three critical bugs were identified in the SearchApiAiSearchBackend class. The logger service is not injected in create(), causing fatal errors when doSearch() tries to log errors. A named argument spread issue was reported where doSearch() passes vector_input and query parameters to querySearch(), which does not accept them, triggering PHP fatals. Additionally, PluginException errors from getSearchVectorInput() are not caught, causing silent failures when embeddings engines cannot be instantiated.
A logic bug was reported where vectorSearch() is never called for embedding-free VDB providers because the method is only invoked when $vector_input is non-empty, forcing all such providers through querySearch() instead.
Work on 2.x branch integration with AI 2.x is blocked pending an upstream merge in the AI Core module. Development continues on batch embeddings support for improved indexing performance.
How can I help on this project?
Pick up one of the unassigned bugs in SearchApiAiSearchBackend: fixing the missing logger injection, catching PluginException in the search path, or correcting the named argument spread into querySearch(). Each has clear reproduction steps and would improve stability.
Field Widget Actions
Activity this period centered on configuration improvements for programmatic field widget action deployment. The issue Generate UUIDs for list-style widget-action settings applied via config actions was updated, tracking work to allow recipes to declare widget actions as a plain list rather than requiring hard-coded UUIDs. This addresses a collision problem where multiple suggestion buttons on a single form would target the same field instead of their intended targets. The proposed solution generates unique UUIDs at apply time, mirroring the behavior of the interactive UI. The issue remains in needs work status with no merge requests yet submitted.
No merge requests were merged and no commits were pushed during this reporting period.
How can I help on this project?
- Work on the setupFieldWidgetAction config action to implement UUID generation for list-style widget actions, addressing Generate UUIDs for list-style widget-action settings applied via config actions.
- Review existing widget action configuration handling to identify other areas where programmatic deployment may need similar improvements.
Orchestration
Activity this period centered on planning and feature proposals. Discussion continued on Using JSON Schema to define "input", "output" and "config", which explores adopting JSON Schema as a portable contract mechanism for orchestration nodes. The proposal aims to split each node's interface into input, output, and config schemas to enable runtime validation, auto-documentation, and safer workflow composition.
Work also progressed on Integrate with n8n, which would add n8n as an automation provider alongside the existing Activepieces integration. The feature would enable bidirectional communication, allowing Drupal entity events to trigger n8n workflows and n8n nodes to perform Drupal actions.
A new issue was updated: [orchestration_eca] Add "Execute Orchestration service" ECA action. This proposes filling a gap in the orchestration_eca submodule, which currently only exposes ECA models as Orchestration services but lacks an action to invoke registered services from within ECA workflows.
No merge requests were completed or commits pushed during this period.
How can I help on this project?
Review the JSON Schema proposal and provide feedback on the contract design. Contribute to the n8n integration feature by testing or reviewing the planned N8nDriver implementation. Help design or implement the Execute Orchestration service ECA action to close the bidirectional integration gap.
AG-UI
No merge requests were completed or commits pushed during this period. The [META] Improve Drupal Assistant Implementation issue remains open and assigned. This meta issue proposes refactoring the current Drupal Assistant proof-of-concept to align with the AI module's architecture and potentially replace the ai_chatbot (Deepchat) implementation. The work involves integrating with the Polling service to emit ag-ui events and determining the optimal approach between single non-streamed requests with all events versus a streaming implementation.
The issue represents a significant architectural decision point for how the Drupal Assistant will integrate with both the AI module's event system and AG-UI's component framework, but no concrete implementation progress occurred in the reporting window.
How can I help on this project?
Review the architectural proposals in the [META] Improve Drupal Assistant Implementation meta issue and provide feedback on the streaming versus non-streamed approach. Check the AG-UI issue queue for unassigned bugs or feature requests that could be picked up.
References
[2] Add Functional Tests for AI CKEditor
[3] Batch embeddings for improved indexing performance
[8] Guardrail plugins only evaluate the last message
[24] ai_ckeditor: streamGenerateContent causes 400 Bad Request with Gemini 2.x models
[43] Agent Skill 'create-ai-api-explorer' failed validation
[44] Issue #3477173: Add functional tests for AI CKEditor
[45] Issue #3568648: Batch embeddings as a first-class operation type (follow-up to !1704)
[47] Update the Ai API Explorer Skill name, matching the directory as per Agent Skills specification
[89] Clean up CCC tooltip, truncation, and icon-only content
[90] Clean up CCC cacheability and access metadata
[97] Clean up CCC test and documentation consistency before rc1
[98] Clean up CCC accessible interactive links and external links
[99] Clean up CCC JavaScript filter feedback
[100] Clean up CCC form and table accessibility cleanup
[101] Clean up CCC documentation and API consistency
[102] Clean up CCC configuration policy checks
[106] [Meta] Fix CCC issues based on AI Best Practices results
[114] Named argument spread into `querySearch()` includes keys it does not accept, causing PHP fatal
[115] PluginException from getSearchVectorInput() is not caught, returning empty results with no error
[116] Logger not injected in `create()`, causing fatal error on error paths