Daily Digest
Daily Digest – 2 August 2026
2026 Capabilities Progress
- Page generation — Progress continues on Canvas AI's agent and tools infrastructure, with a merge request enabling administrators to select which AI agent and tools power the chat interface [25][29]. An additional fix ensures AI-generated components fall back gracefully when referencing non-existent regions [36].
- Context management — The Context Control Center focused on user experience refinements, including work to clarify scope configuration guidance and improve conditional subcontext behavior [38][39]. Demo content is being prepared to illustrate how context items work in realistic scenarios [40].
- Background agents — Planning advanced on enabling ECA workflows to invoke Orchestration services, which would allow event-driven automation to trigger AI services without manual prompting [42]. No code was in progress; work remains in design phase.
- Design system integration — A folder assignment bug affecting newly created code components was fixed, ensuring components are correctly organized in Canvas libraries [27][35]. Accessibility issues in the editor interface were identified but not yet remediated [28].
- Content creation and discovery — Interactive refinement capability for field widgets is under development [5], and AI Automator token replacement functionality advanced with a merge request under review [1][6]. Platform compatibility work ensures core AI functionality remains stable [4][7][8].
- Advanced governance — Significant planning activity established a comprehensive EU AI Act compliance module (ai_disclosure) with fourteen detailed implementation issues covering disclosure tracking, editorial workflows, audit trails, and approval flows [9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24]. No code in progress; work is in planning stage with legal compliance deadline of August 2026.
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — Translation capability improvements continued with a fix for media entity language handling under review [41]. JSON Schema work for orchestration services would improve multi-service workflow composition but remains in planning [43].
Shipped
- AI API explorer compatibility fix merged — The API explorer now works correctly with both current and legacy provider implementations, maintaining compatibility across system versions [8].
- Canvas folder organisation bug resolved — Newly created code components now save to the correct folder selected by users, improving library organisation for site builders [27][35].
- Canvas AI region fallback protection in review — A merge request proposes fallback to the first available region when AI names a region that does not exist, preventing errors during automated component placement [36].
- Media translation language handling fix submitted — A merge request addresses invalid language code issues during media entity translation [41].
Ongoing
- Symfony AI Platform compatibility upgrade in progress — Work is underway to upgrade compatibility with Symfony AI Platform versions 0.8 through 0.12, addressing critical routing and provider interface issues that affect core functionality [4][7].
- EU AI Act compliance module in planning — A comprehensive transparency disclosure module is being designed to meet Article 50 requirements, with fourteen implementation issues covering field architecture, editorial interface, display formatting, and integration points for existing AI tools [9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24].
- Canvas AI agent settings interface under review — A merge request allows administrators to explicitly choose which agent and tools are available in the chat interface, simplifying the current automatic orchestrator model [25][29].
- AI token stripping capability under review — A feature allowing administrators to remove unresolved placeholder tokens from AI prompts before submission is awaiting approval, which will reduce costs and improve response quality [1][6].
- Canvas accessibility violations identified — Six accessibility violations including two critical issues affecting keyboard navigation and colour contrast in the editor toolbar have been documented but remediation has not yet begun [28].
AI (Artificial Intelligence)
The AI module saw focused activity over the past 24 hours, primarily centered on compatibility updates and user experience planning.
A merge request was opened to upgrade the module's compatibility with newer versions of the underlying Symfony AI Platform library (versions 0.8 through 0.12). This work addresses critical compatibility issues that would prevent the system from functioning correctly, including routing and provider interface mismatches. Separately, a fix was merged to ensure the API explorer works correctly with both current and legacy provider implementations.
On the feature development side, work continued on allowing administrators to strip unresolved placeholder tokens from AI prompts before submission. This capability helps reduce unnecessary text being sent to AI services, which can impact both cost and response quality. A merge request for this functionality is now under review.
Two new user experience initiatives were opened for planning: improving the interface for Guardrails (the security and moderation controls that protect AI interactions) and reviewing the setup flow for MCP clients. Both are in early assessment stages.
How can I help on this project?
Consider prioritizing resources for the Symfony platform compatibility work, as this affects core functionality. Additionally, the two UX review initiatives (Guardrails and MCP clients) could benefit from dedicated design or product management time to move from planning to implementation.
Contributors: Dezső Biczó (mxr576), Rodel Duterte (rduterte)
Drupal AI Initiative
Significant planning activity focused on EU AI Act compliance. A comprehensive transparency module specification was opened, responding to Article 50 requirements that took effect 2 August 2026. The regulation mandates visible disclosure of AI-generated content published to inform the public, with penalties up to EUR 15M or 3% of worldwide turnover for non-compliance.
The proposed ai_disclosure module would provide site operators with a structured disclosure system: a graduated scale of AI involvement (from metadata-only assistance to fully AI-generated content), reusable disclosure profiles to avoid duplicating text across content, and configurable defaults per content type. Content editors would see AI assistance suggestions when tools like translation, alt-text generation, or CKEditor assistance are used, with the ability to accept or dismiss them. The module would render EU-mandated icons and disclosure statements where required, include machine-readable metadata for platforms and search engines, and provide administrators with a compliance audit report.
Fourteen detailed implementation issues were opened covering the field architecture, editorial interface, display formatting, integration points for existing AI tools, multilingual support, and documentation. No code was merged during this period; work remains in the planning stage.
How can I help on this project?
- Confirm organisational priority for EU AI Act compliance work and communicate target timeline for alpha release to align contributor effort.
- Consider legal review of the disclosure framework design to validate alignment with Article 50 interpretation before implementation begins.
Drupal Canvas
Over the past 24 hours the team fixed a folder organisation bug and continued work on two strategic priorities: evolving the AI chat interface and improving accessibility.
A fix for Incorrect folder assignment for newly created code components was merged, ensuring newly created code components are now saved to the folder users select rather than appearing in the wrong location. This directly improves the library organisation experience for site builders.
Two related issues advanced the roadmap to simplify how Canvas AI works. Canvas AI: Add an Agents & Tools settings form to select the main agent and chat Tools now has an open merge request that will allow administrators to explicitly choose which agent and tools are available in the chat interface, moving away from the current automatic orchestrator model. Separately, Canvas AI: Add Tools dropdown to chat UI is progressing the front-end counterpart, giving users a visible dropdown to select tools for each message.
A new accessibility audit identified 6 axe-core accessibility violations (2 critical) in the editor chrome, including keyboard navigation and colour contrast issues in the editor toolbar and controls. Remediation work has not yet begun.
How can I help on this project?
- Assign or fund developer time to address the two critical accessibility violations in the editor; these affect every site builder using Canvas.
- Review and approve the AI agent settings and chat UI work to unlock the simplified workflow outlined in the roadmap.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Ben Mullins (bnjmnm) [1], Lionel Enkaoua (heyyo), Rajab Natshah (RajabNatshah), Tekla Aivazashvili (aivazashvilit)
Context Control Center (CCC)
Activity this period focused on planning improvements to the user experience and scope configuration. Work continued on three issues addressing how the module presents guidance to editors and how conditional subcontext settings behave when disabled.
Progress was made on Decouple context item form descriptions from scope plugin descriptions, which addresses confusion caused by reusing the same guidance text in different parts of the interface. This will help editors understand scope settings more clearly in each context where they appear.
Planning also advanced on Improve conditional subcontext disabled-state behavior and admin UX, which will clarify what happens when the conditional subcontext feature is turned off and ensure editors understand why certain items become inactive.
Work continued on Prepare demo content and demo context items for the CCC to show how it works, which will provide realistic sample data to help new users understand how the module's components work together before configuring their own implementation.
How can I help on this project?
- Confirm resourcing for user experience refinements to support a stable release.
- Identify stakeholders who can review and validate the planned demo content to ensure it reflects realistic organisational use cases.
AI translate
A fix addressing translation issues with media entities was submitted during the reporting period. The work targets a problem where media content was being processed with an invalid language code during translation operations, which would prevent these assets from being properly translated. A merge request addressing translation language handling for media entities is now under review.
This fix is important for organizations using the module to translate media-rich content, as it extends reliable translation capabilities beyond text to images, documents, and other media assets.
How can I help on this project?
- Prioritize review and testing resources to evaluate the media translation fix currently awaiting merge.
- Consider allocating development capacity to expand test coverage for media translation scenarios to prevent similar issues.
Orchestration
Activity this period focused on planning and feature design rather than code delivery. Two issues saw updates that clarify the module's strategic direction.
Work continued on adding an ECA action to invoke Orchestration services. This feature will enable workflows built in ECA (a popular rule engine) to call any service registered with the Orchestration module. Currently, the integration works in only one direction: external systems can trigger ECA workflows via Orchestration's HTTP interface. Completing the reverse path will allow organisations to use ECA's event and condition logic to trigger orchestrated services, expanding automation possibilities without custom code.
Separately, discussion advanced on using JSON Schema to define service inputs, outputs, and configuration. This architectural decision would establish formal contracts for each service, improving validation, documentation, and the ability to auto-generate user interfaces. The approach supports safer composition of complex workflows and better runtime error handling.
No code was merged this period. Both efforts remain in the planning and acceptance phase.
How can I help on this project?
- Prioritise resourcing to move accepted feature work from planning into implementation, particularly the ECA integration which has clear user demand.
- Support architectural decisions around JSON Schema adoption to unblock design work and maintain momentum on the module's roadmap.
References
[1] AI Automator Token Replacement with removing unresolved Tokens (Checkbox?)
[4] Adopt Symfony AI Platform 0.8-0.12 changes
[5] Add interactive refinement capability to Field Widget Actions
[6] Issue #3586535: AI Automators strip unresolved tokens from prompts
[7] feat: Upgrade to Symfony AI Platfrom 0.12
[8] fix: #3586470 Make API explorer work with Symfony platform and legacy providers
[9] [Meta] ai_disclosure: EU AI Act Article 50 transparency module
[10] ai_image_alt_text companion: suggest ai_metadata via the ai_disclosure recorder
[11] ai_disclosure: DisclosureRecorder public API, suggestion storage and Accept/Dismiss flow
[12] ai_translate companion: apply ai_translated grade via the ai_disclosure recorder
[13] ai_ckeditor companion: suggest ai_partly_assisted via the ai_disclosure recorder
[14] ai_automators companion: report AI field writes to the ai_disclosure recorder
[15] ai_disclosure: Documentation - module docs and recorder API integrator guide
[16] ai_disclosure: Multilingual and revision hardening with test coverage
[17] ai_disclosure: Field type, DisclosureResolver service and inherit storage model
[18] ai_disclosure: Compliance report at /admin/reports/ai-disclosure
[19] ai_disclosure: Machine-readable marking - JSON-LD and meta output with IPTC digitalSourceType
[20] ai_disclosure: Formatter theming - EU icons, disclosure template, policy settings
[21] ai_disclosure: Widget UX - sidebar group, mode states, computed status line, mdxeditor
[22] ai_disclosure: Disclosure profile config entity and admin UI
[23] ai_disclosure: Grade config entity with shipped defaults and admin UI
[24] ai_disclosure: Scaffold module - info, permissions, settings shell, EU icon assets
[25] Canvas AI: Add an Agents & Tools settings form to select the main agent and chat Tools
[27] Incorrect folder assignment for newly created code components
[29] Issue #3591882: Add an Agents & Tools settings form.
[35] #3591828 Refetch folder list after newly exposing a code component
[36] fix: #3591876 Fall back to first region when the AI names a region that does not exist
[38] Decouple context item form descriptions from scope plugin descriptions
[39] Improve conditional subcontext disabled-state behavior and admin UX
[40] Prepare demo content and demo context items for the CCC to show how it works
[41] fix: #3585532 Translation language (und) when translating media entities.
[43] Using JSON Schema to define "input", "output" and "config"
Shipped
- AI module API explorer compatibility fix — A fix was merged to the 2.x branch ensuring the API explorer works with both Symfony platform and legacy providers[8].
- Canvas code component folder assignment bug resolved — A merge fixed incorrect folder assignment for newly created code components by refetching the folder list after component exposure[27][35].
- Canvas AI region fallback handling — A fix is in progress to fall back to the first region when AI names a region that does not exist[36].
Ongoing
- AI module Symfony AI Platform 0.12 upgrade — A merge request with 347 lines addresses critical type mismatches in the model router and upgrades compatibility with Symfony AI Platform 0.8-0.12[4][7].
- AI Automator token stripping feature — A merge request is open to strip unresolved tokens from prompts when fields are left empty[1][6].
- AI Disclosure module for EU AI Act Article 50 compliance — A meta issue and 14 supporting issues outline a new module with DisclosureRecorder API, custom field type, compliance reporting, and JSON-LD output, targeting the August 2, 2026 regulation deadline[9][11][17][18][19][20][21][22][23][24].
- Canvas AI Agents and Tools settings interface — A merge request adds configuration UI for selecting the main agent and available chat tools as part of the Canvas AI architecture revamp[25][29].
- AI translate media entity language handling fix — A merge request with 46 lines addresses InvalidArgumentException related to undefined language codes when translating media entities[41].
AI (Artificial Intelligence)
A merge request to Adopt Symfony AI Platform 0.8-0.12 changes was opened with 347 lines of changes, addressing critical type mismatches in the model router and provider interfaces. The catalog-based model router's resolve() method was returning the wrong type, causing fatal TypeErrors at runtime. This work upgrades compatibility with the latest Symfony AI Platform releases.
A fix for the API explorer was merged to the 2.x branch, ensuring it works with both Symfony platform and legacy providers. This cherry-picked changes that should have accompanied an earlier merge.
New issues opened include AI Automator Token Replacement with removing unresolved Tokens (Checkbox?), which has an open MR to strip unresolved tokens from prompts when fields are left empty. UX review issues were opened for both UX review of AI Guardrails and UX review of MCP Clients flow to improve visibility and user experience. Work continues on Add interactive refinement capability to Field Widget Actions.
How can I help on this project?
Review the open merge requests for Symfony AI Platform 0.12 upgrade and token stripping in automators. Help plan improvements by contributing UX feedback to the Guardrails or MCP Clients review issues.
Contributors: Dezső Biczó (mxr576), Rodel Duterte (rduterte)Drupal AI Initiative
Activity over the last 24 hours centered on planning for a new ai_disclosure module to support EU AI Act Article 50 compliance. The regulation, which applies from August 2, 2026, requires deployers to disclose AI-generated or AI-manipulated content published to inform the public, unless the content underwent substantive human review or editorial control.
A comprehensive meta issue and 14 supporting issues were opened, outlining the full architecture. The planned module introduces a DisclosureRecorder service as the public integration API, allowing AI tools to suggest or apply disclosure grades (e.g. ai_translated, ai_partly_assisted, ai_metadata) to content entities. The design includes a custom field type with an inherit-by-default storage model, reusable disclosure profiles, and shipped grade definitions mapped to IPTC digitalSourceType vocabularies and official EU icons. Companion issues outline integration points for ai_automators, ai_translate, ai_ckeditor, and ai_image_alt_text. Administrative features include a compliance report at /admin/reports/ai-disclosure, JSON-LD machine-readable marking, and a sidebar widget with suggestion Accept/Dismiss flow.
No code has been merged yet; all issues remain in the planning and specification phase.
How can I help on this project?
- Review the [Meta] ai_disclosure: EU AI Act Article 50 transparency module issue and provide feedback on the proposed architecture and API design.
- Begin implementation work on foundational issues such as ai_disclosure: Scaffold module or Grade config entity.
Drupal Canvas
One merge landed in the last 24 hours. The fix for Incorrect folder assignment for newly created code components was merged, addressing a bug where newly created code components were not saved to the user-selected folder. The solution refetches the folder list after exposing a code component, ensuring the component appears in the correct location immediately after creation.
Two new issues were opened. Canvas editor: 6 axe-core accessibility violations documents critical accessibility problems in the editor chrome, including unnamed zoom buttons, insufficient contrast in badges, and missing ARIA labels in the topbar menubar. Meanwhile, work continues on the Canvas AI architecture revamp: Canvas AI: Add an Agents & Tools settings form has an open MR that adds a configuration UI for selecting the main agent and available chat tools, and Canvas AI: Add Tools dropdown to chat UI tracks the corresponding frontend work.
Several dependency update MRs remain open, and a draft MR addressing RTL support for the visual editor was pushed.
How can I help on this project?
- Tackle the accessibility violations reported by axe-core in the editor chrome - the issue is unassigned and has no open MR.
- Review MR !1445, which adds the Agents & Tools settings form for Canvas AI.
- Review MR !1453, the draft RTL support implementation for the visual editor.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Ben Mullins (bnjmnm) [1], Lionel Enkaoua (heyyo), Rajab Natshah (RajabNatshah), Tekla Aivazashvili (aivazashvilit)
Context Control Center (CCC)
Activity this period focused on refining configuration and user experience workflows. Work continued on improving conditional subcontext disabled-state behavior and admin UX, ensuring that when the conditional subcontext AI feature is disabled, child items are properly excluded from context selection rather than being unconditionally included. The goal is to provide clearer admin messaging so editors understand why conditional items are inactive and can easily locate the relevant settings.
Parallel efforts addressed scope plugin description reuse across different UI contexts. The issue Decouple context item form descriptions from scope plugin descriptions aims to separate guidance text that appears on scope overview pages, individual scope settings, and context item forms, as each context may require different messaging.
Planning also progressed on preparing demo content and demo context items to help new users understand how source content, context items, scopes, and consumer subscriptions work together in a realistic workflow.
No merge requests were completed or commits pushed during this period.
How can I help on this project?
- Pick up the unassigned issue on conditional subcontext disabled-state behavior and implement the admin UX improvements and exclusion logic.
- Help define or prototype the decoupled description API for scope plugins to support context-specific guidance text.
AI translate
A merge request addressing translation language handling for media entities was opened during this period. The fix: #3585532 Translation language (und) when translating media entities. MR targets an InvalidArgumentException related to undefined language codes (und) when translating media entities. The merge request contains 46 lines of changes and is awaiting review.
No merge activity or commits were recorded in the reporting period, leaving this fix as the primary item pending progress.
How can I help on this project?
- Review the open media entity translation language fix to help move it toward merge.
- Test the patch against media entity translation workflows to verify the InvalidArgumentException is resolved.
Contributors: szato (odi)
Orchestration
Activity remained quiet over the last 24 hours with no commits or merge requests landed. Discussion continued on two open issues focused on architectural improvements.
Work on the [orchestration_eca] Add "Execute Orchestration service" ECA action to allow ECA to invoke registered services feature proposal remained in progress. The issue tracks the creation of a bidirectional bridge between ECA and Orchestration: while the orchestration_eca submodule already exposes ECA models as Orchestration services, the reverse—allowing ECA workflows to invoke registered Orchestration services—is not yet possible. This would enable ECA's event and condition system to trigger any service registered via ServicesProviderInterface implementations.
Separately, the Using JSON Schema to define "input", "output" and "config" planning issue saw updated discussion. The proposal explores adopting JSON Schema to define service contracts, which would enable portable validation, auto-documentation, and potentially auto-generated forms for orchestration nodes.
How can I help on this project?
Review the architectural proposal in Using JSON Schema to define "input", "output" and "config" and provide feedback on the contract design approach. Alternatively, pick up work on the [orchestration_eca] Add "Execute Orchestration service" ECA action feature to help complete the bidirectional ECA integration.
References
[1] AI Automator Token Replacement with removing unresolved Tokens (Checkbox?)
[4] Adopt Symfony AI Platform 0.8-0.12 changes
[6] Issue #3586535: AI Automators strip unresolved tokens from prompts
[7] feat: Upgrade to Symfony AI Platfrom 0.12
[8] fix: #3586470 Make API explorer work with Symfony platform and legacy providers
[9] [Meta] ai_disclosure: EU AI Act Article 50 transparency module
[11] ai_disclosure: DisclosureRecorder public API, suggestion storage and Accept/Dismiss flow
[17] ai_disclosure: Field type, DisclosureResolver service and inherit storage model
[18] ai_disclosure: Compliance report at /admin/reports/ai-disclosure
[19] ai_disclosure: Machine-readable marking - JSON-LD and meta output with IPTC digitalSourceType
[20] ai_disclosure: Formatter theming - EU icons, disclosure template, policy settings
[21] ai_disclosure: Widget UX - sidebar group, mode states, computed status line, mdxeditor
[22] ai_disclosure: Disclosure profile config entity and admin UI
[23] ai_disclosure: Grade config entity with shipped defaults and admin UI
[24] ai_disclosure: Scaffold module - info, permissions, settings shell, EU icon assets
[25] Canvas AI: Add an Agents & Tools settings form to select the main agent and chat Tools
[27] Incorrect folder assignment for newly created code components
[29] Issue #3591882: Add an Agents & Tools settings form.
[35] #3591828 Refetch folder list after newly exposing a code component
[36] fix: #3591876 Fall back to first region when the AI names a region that does not exist
[41] fix: #3585532 Translation language (und) when translating media entities.