Daily Digest
Daily Digest – 2 July 2026
2026 Capabilities Progress
- Page generation — Automated layout testing progressed with the addition of fixtures and tests for the Canvas AI page builder agent [85][120]. Component context and validation improvements continue to address foundational requirements for reliable page generation [86][92][116].
- Context management — Significant progress toward beta3 release with multiple accessibility, documentation, and scope management fixes merged [123][140][161][162][163][165][167]. The team is hardening scope selection logic, completing the scope plugin persistence API, and preparing for beta tester recruitment [133][138][144][151].
- Background agents — Work is underway on role-based permissions to allow agents to execute tools in background jobs without active user sessions [67]. Progress was made on tracking caller context for better diagnostics when agents invoke other agents autonomously [70][74].
- Design system integration — Canvas made progress on component validation and required property handling, ensuring AI can accurately work with design system components [86][92][116][119]. Translation support for multi-line component properties was improved to ensure design system content flows correctly through localization workflows [81][110].
- Content creation and discovery — A Search API reranking processor is under review to improve search precision using AI models [7][59]. Work continued on rich-text image description support for automators and CKEditor context injection [12][62][63][128]. Language output and streaming bugs affecting content creation tools are being addressed [1][4][8][57][60].
- Advanced governance — Canvas advanced conflict detection with one merge completed and work continuing on enforcement and resolution workflows [88][106][111][113]. Branch-based versioning capabilities advanced with fixes to access checks and publishing workflows [89][90][104][112].
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — No direct progress today.
Shipped
- Context Control Center documentation fixes — Corrected dependency requirements and version information to ensure accurate installation guidance for beta testers [160].
- Canvas translation workflow fixes — Resolved a fatal error preventing translation job creation when component trees included non-text properties, and ensured multi-line text fields are correctly marked as translatable [105][110].
- Canvas conflict detection enforcement — Users can now publish changes only when no conflicts exist, preventing inadvertent overwriting of work made outside their editing session [113].
- Canvas code quality improvements — Automated enforcement now disallows ambiguous short ternary operators, improving code maintainability [109].
- AG-UI data attribute support — System-generated HTML can now include data attributes, enabling richer interactions by attaching supplemental information to page elements without displaying it directly to users [174].
Ongoing
- Search API reranking processor — A new processor to improve search precision by re-ordering initial results with a dedicated AI model is under review [59].
- Anthropic provider feature expansion — Optional capabilities for token counting, citations, and context management are under review, all designed to be disabled by default to preserve current user experience [66].
- Canvas Drupal 11.4 compatibility — Work is underway to ensure Canvas test suite passes on Drupal 11.4, unblocking the next stable release [107].
- Streaming and compatibility fixes — Two issues affecting HTML escaping in streamed output and incompatibility with Gemini 2.x models have open merge requests awaiting review [57][60].
- Context Control Center beta3 release preparation — Multiple merge requests address accessibility, cacheability, and developer experience improvements identified through code review ahead of the upcoming beta3 release [162][163][165][167].
AI (Artificial Intelligence)
The AI module continued steady progress this period, with work spanning user experience refinement, infrastructure improvements, and new capabilities for semantic search and rich content processing.
A merge request to add a reranking processor for Search API is now under review. Reranking improves search precision by re-ordering initial results with a dedicated AI model, and the new processor integrates with the existing rerank operation type to work across any Search API backend. Separately, development continued on rich-text image description support for AI Automators, which will allow automations to process images embedded in formatted text fields—useful for content moderation and accessibility workflows.
Progress was made on two streaming and compatibility fixes: a bug causing HTML tags to be incorrectly escaped in streamed output and an incompatibility with Gemini 2.x models when streaming is enabled. Both issues have open merge requests awaiting review. Documentation also saw attention, with proposed fixes for outdated references to automator plugin IDs and deprecated modules.
Several user experience improvements were flagged, including incorrect language output in the CKEditor summarize tool and inconsistent naming conventions across the UI. Work also continued on the semantic topic matching mode for the RestrictToTopic guardrail, which will match topics by meaning rather than exact strings.
How can I help on this project?
- Prioritize reviewer capacity for merge requests addressing streaming bugs and Search API reranking, as these are blocking broader adoption.
- Sponsor UX review time for the language-output and UI consistency issues to ensure a polished experience before the next stable release.
Contributors: Abhinav Jha (ajabhinavjha30), Abhisek Mazumdar (abhisekmazumdar), Ahmad Khader (Ahmad-Khader), Joshua Fernandes (joshua1234511), Levente Besenyei (LeventeB), Marcus Johansson (Marcus_Johansson)
Drupal AI Initiative
The Drupal AI Initiative held a user experience meeting focused on refining two key interface components. Work continued on improving the Canvas chat feature, where the team is simplifying how users control AI-generated content. The interface will now offer clearer options for pausing generation and reverting changes, making it easier for users to maintain control over automated workflows.
The team also progressed on the AI Content Review tool, which allows organizations to define their own content quality standards. This feature will enable users to create custom review criteria through a form-based interface, supporting both example-based scoring and other evaluation methods. This positions the module to serve diverse content governance needs across different organizations.
No code was merged during this period, reflecting the focus on design and planning activities typical of alpha-stage development.
How can I help on this project?
- Ensure the team has adequate design resources to translate the user experience decisions into implemented features.
- Connect the initiative with early adopter organizations willing to pilot the Content Review tool once available.
AI Integration - ECA
Activity during this period focused on planning for a new interceptor capability. A feature request was opened to create a submodule that would allow the ECA (Event-Condition-Action) system to interact with AI requests and responses as they occur. This would enable non-technical administrators to configure automated workflows that trigger when AI operations succeed, fail, or encounter rate limits—without writing code.
The proposed submodule would expose AI events, conditions, and actions through ECA's visual interface, allowing business users to build integrations such as logging AI usage, handling errors gracefully, or routing requests based on content safety rules. This aligns with the project's roadmap toward a stable 1.0.0 release and represents a strategic investment in making AI capabilities more accessible to site managers.
No code was merged or committed during this period. The work is in the planning stage, with design discussions underway.
How can I help on this project?
- Clarify priority: confirm whether the interceptor submodule should be completed before or after the 1.0.0 release, to help focus development resources.
- Ensure design review: convene stakeholders to validate the proposed workflow capabilities meet real business use cases.
Anthropic Provider
A significant feature expansion is underway to give users more control over how the Anthropic integration manages conversations and tracks usage. A merge request adding token counting, citations, and context management was opened during this period. This work introduces three new optional capabilities: the ability to measure conversation size (token counting), track where information comes from (citations), and manage long conversations by automatically condensing or editing earlier exchanges (context management). All three features are designed to be turned off by default, preserving the current user experience until administrators choose to enable them.
This represents continued progress on the provider's transition to a more robust architecture. Because the features are opt-in, the change introduces minimal risk to existing deployments. The module remains in active development as part of a broader modernization effort.
How can I help on this project?
- Prioritize review and testing resources for the open merge request to accelerate delivery of the new capabilities.
- Clarify whether token counting or citation tracking aligns with organizational compliance or usage monitoring requirements, which could inform prioritization.
Contributors: Carlos Ospina (camoa)
AI Agents
The AI Agents module made progress this period on both technical infrastructure and extensibility features. A key enhancement to improve diagnostics and developer insight was completed: the ability to track caller context when agents make decisions. This improvement allows the system to better trace where requests originate, particularly when agents invoke other agents or tools, which helps with debugging complex workflows.
Two open proposals are under active consideration for streaming responses and internal data handling improvements, though neither represents a blocking issue. Development continues on a system to control the order in which agents execute tools, aimed at preventing illogical sequences that currently require manual workarounds. This feature would give administrators more predictable control over agent behaviour.
Strategically, the module is exploring extensibility to external platforms like Claude Code and VAPI through an export and sync capability, which would allow Drupal-configured agents to operate in broader AI ecosystems. Work is also underway on role-based permissions for autonomous agents, enabling agents to run in background jobs without active user sessions.
How can I help on this project?
- Clarify strategic priority for external platform integration: does the organisation want Drupal agents interoperable with third-party AI services, or should development focus on native capabilities?
- Review whether autonomous agent workflows require additional security policy or governance before progressing the role-based permissions work.
Contributors: Alin Ameiroaie (aalin) [1], Bharat Kelotra (bharatkelotra), Joshua Fernandes (joshua1234511)
Drupal Canvas
Over the past 24 hours, Canvas addressed several critical issues affecting translation workflows, conflict detection, and code quality. A fix was merged to resolve a fatal error that prevented translation jobs from being created when component trees included non-text properties such as dates or booleans. Multi-line text fields in components are now correctly marked as translatable, ensuring content can flow through translation systems as expected.
The conflict detection system reached a milestone: changes can now be published only when no conflicts exist, preventing users from inadvertently overwriting work made outside their editing session. Automated enforcement of code standards was expanded to disallow ambiguous short ternary operators, improving maintainability. Testing infrastructure was strengthened with the addition of automated layout fixtures for the AI page builder agent, reducing the need for manual validation after prompt changes.
Several issues remain open, including compatibility work for Drupal 11.4, a fix for publishing pages without URL aliases, and improvements to how the content-entity-reference UI exposes fields. These are being addressed through active merge requests.
How can I help on this project?
- Prioritise code review and testing bandwidth for the open Drupal 11.4 compatibility merge request to unblock the next stable release.
- Approve dedicated testing time for open fixes affecting publishing workflows, particularly the URL alias and access check issues.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative), AKHIL BABU (AkhilBabu) [1], Christian López Espínola (penyaskito), Feliksas Mazeikis (f.mazeikis) [1], Fons Vandamme (f0ns), Gábor Hojtsy (goba), Matt Glaman (mglaman), Narendra Singh Rathore (NarendraR) [1], Prabhavathi Vanipenta (prabha1997), Ravi Maniyar (ravi.maniyar.123), Wim Leers (wimleers) [4]
Context Control Center (CCC)
Sprint planning for Sprint 13 is underway, with the team prioritising work toward the upcoming beta3 release. A documentation issue addressing incorrect dependency requirements and version information was merged, ensuring beta testers encounter accurate installation guidance.
The project is working through a structured code review and cleanup ahead of beta3. Several merge requests are open to address accessibility, cacheability, and developer experience improvements identified through AI-assisted best-practices audits. These include making tooltip and icon content accessible to assistive technologies, improving JavaScript filter feedback, and hardening update hooks against edge cases. Work is also progressing on the scope plugin persistence API, which will allow scope plugins to fully manage their own data lifecycle without leaking storage details into forms and entity logic.
Two architectural extensions are under discussion: a formal external context provider interface to support third-party RAG and vector store integrations, and an opt-out mechanism for agents that prefer on-demand context retrieval over automatic injection. Both are being evaluated for inclusion before the stable release.
Planning is underway for beta3 quality assurance, beta tester recruitment, and release documentation. The team is working toward a release candidate, with remaining blockers focused on scope selection logic, permissions review, and completion of the document loader submodule promotion.
How can I help on this project?
- Expand beta tester recruitment by promoting the module through organisational channels or partner networks to surface real-world integration issues before stable release.
- Prioritise resourcing for accessibility and user experience reviews to ensure the upcoming stable release meets enterprise adoption standards.
Contributors: Joshua Fernandes (joshua1234511), Kristen Pol (kepol), Pravesh Poonia (Pravesh_Poonia) [1], Tamas Balog (tbalog)
AI Search
A new merge request was opened to support keyword discovery in nested conditions. This enhancement will improve the module's ability to handle more complex search queries, allowing users to perform sophisticated searches where keywords appear within layered conditions. This represents progress toward making the search functionality more flexible and capable of meeting advanced user needs.
No issues were updated or commits merged during this period. The module continues its development trajectory with work in progress on query handling capabilities.
How can I help on this project?
- Ensure the team has adequate code review capacity to assess and merge the pending keyword discovery work.
- Consider whether there are end-user stakeholders who should validate the enhanced search capabilities before release.
Contributors: marios anagnostopoulos (MariosAnagnostopoulos)
AG-UI
AG-UI, a module for integrating AI-driven user interfaces, made progress on expanding how system-generated content can be presented and how errors are handled. A change was merged to allow data attributes in parsed HTML, enabling the system to attach supplemental information from the language model to page elements without displaying it directly to users. This creates opportunities for richer interactions and more contextual user experiences.
Work has also begun on improving error handling. An issue is now open to add events for failures, which will allow the system to respond more gracefully when remote services time out or encounter exceptions. This will help provide clearer feedback to users when issues occur, rather than leaving them without explanation.
These efforts reflect continued refinement of the module's core capabilities as it matures through its development cycle.
How can I help on this project?
- Clarify use cases or priorities for error handling to guide the open work on failure events.
- Ensure development resources remain allocated to close out open issues and advance toward a stable release.
Contributors: Bryan Sharpe (b_sharpe) [1]
References
[1] Preserve HTML in streamed output
[4] AI CKEditor Summarize generates summaries in a different language than the selected text
[7] Add an AI reranking processor for Search API (owned by the AI module)
[8] ai_ckeditor: streamGenerateContent causes 400 Bad Request with Gemini 2.x models
[12] Add rich-text image description support to AI Automators
[57] Resolve #3586558 "Preserve HTML in streamed output"
[59] Issue #3586543: Add AI reranking processor for Search API.
[62] Issue #3586478: "Add rich-text image description support to AI Automators"
[63] Issue #3586478: "Add rich-text image description support to AI Automators"
[66] Issue #3607960: Add token counting, citations, and context management
[67] Let an agent use a role when running a tool
[70] Add caller agent runner ID to tags in determineSolvability()
[74] 3574487: Add caller agent runner ID to tags in determineSolvability().
[81] Canvas should mark multi-line string props on SDCs and code components as translatable
[85] Canvas AI: Add layout fixtures and automated tests for the Canvas AI page builder agent
[86] Canvas AI: Component context required props missing required flag
[88] Prevention of publishing on Conflict in Canvas UI
[92] Canvas AI: Drupal\canvas_ai\AiResponseValidator fails to validate non-existent props
[104] #3591736 "Access check in ApiAutoSaveController::post() should be performed earlier"
[107] #3591764: Make Canvas test suite pass on 11.4
[109] Resolve "Automate review using PHPStan: disallow short ternary"
[111] feat(conflict): Add conflict resolution UI with viewport selection and route integration
[112] fix(Page): #3591763 Publishing a page without a URL alias fails: its empty...
[113] feat(Conflict detection): #3587526 "Detect conflicts during publishing of changes to Page entity"
[116] Issue #3591663: Fail validation for props that do not exist on a component
[119] Fix required prop flag dropped in processSdc() and missing in processCodeComponents().
[120] Add layout fixture and tests for page builder agent
[123] Documentation corrections: dependency requirements and AI module version
[128] Inject context into ai_ckeditor requests
[138] Add opt-in AiContextSelectionDiagnostics to selection results
[140] Usage record page renders context item content without an entity access check
[144] CCC beta3 codebase review (pre-release)
[151] Selector loads the entire catalog when an agent has no scope subscriptions
[160] Issue #3586317: Fix Scheduler as optional and correct AI module version in docs.
[161] Issue #3586311: Gate context item render on access('view') in usage record page.
[162] Issue #3586301: Clean up CCC accessible interactive links and external links.
[163] Issue #3586300: Updated CCC cacheability and access metadata.
[165] Issue #3586302: Exposed tooltip/truncated content and icon meaning to assistive tech.
[167] Issue #3586303: Announce filtered row counts to screen readers in JS filter behaviors.
Shipped
- AI module: Caller agent runner ID added to determineSolvability() tags — Custom AiProvider implementations can now detect via the $tags array whether a chat() call originates from a root agent loop or from a sub-agent/tool execution context [70][74].
- Canvas: WSOD fix for TMGMT translation jobs with non-text component props — Resolved assertion logic error causing white-screen failures when requesting translation jobs for component trees containing dates, booleans, or numbers [76][105].
- Canvas: Automated layout fixtures and tests for Canvas AI page builder agent — Added fixtures to streamline validation of YAML output and reduce manual testing when agent system prompts change [85][120].
- Canvas: Conflict detection during page publishing — Publishing now prevents conflicted items from being saved and adds visual indicators in the Canvas UI [88][113].
- CCC: Documentation corrections for dependency requirements — Scheduler marked as optional and AI module version requirement corrected to match composer.json [123][160].
Ongoing
- AI module: RestrictToTopic guardrail semantic topic matching mode — MR under review adds semantic matching by meaning rather than exact string comparison for topic detection [3][58].
- AI module: Search API reranking processor — MR under review introduces processor plugin for generic re-ordering of search results using rerank models or LLMs across any Search API backend [7][59].
- AI module: Rich-text image description support for Automators — MR in progress enables automators to discover embedded images, generate AI descriptions, and include visual context in prompts [12][62].
- AI module: Preserve HTML in streamed output — MR proposes fix for streamed LLM outputs incorrectly inserting backslash tags [1][57].
- Canvas: Drupal 11.4 compatibility and test suite fixes — Open MR drops 11.2 support and resolves test failures for 11.4 compatibility [82][107].
AI (Artificial Intelligence)
Activity over the past 24 hours focused on expanding guardrail capabilities, improving documentation accuracy, and addressing streaming and CKEditor integration issues.
Work continued on semantic topic matching for the RestrictToTopic guardrail. MR !1529 adds a new mode allowing the guardrail to match LLM-identified topics by meaning rather than exact string comparison, addressing a limitation in RestrictToTopic guardrail: add semantic topic matching mode.
A new Search API reranking processor is under review in MR !1729 for Add an AI reranking processor for Search API (owned by the AI module). The processor plugin consumes the existing rerank operation type introduced in a closed issue, enabling generic re-ordering of search results with dedicated rerank models or LLMs across any Search API backend.
Rich-text image description support is being ported to the 2.x branch. MR !1679 for Add rich-text image description support to AI Automators enables automators to discover embedded images, generate AI descriptions, and include visual context in prompts—valuable for content moderation workflows.
Several documentation issues surfaced. MR !1737 addresses Documentation staleness audit: automator-type ID drift, ai_eca/ai_validations deprecation notices, streaming API method names, fixing filename mismatches in automator-type docs where plugin IDs drifted from documentation filenames. MR !1734 proposes a fix for Preserve HTML in streamed output, where streamed LLM outputs incorrectly insert backslash tags. MR !1584 remains open for ai_ckeditor: streamGenerateContent causes 400 Bad Request with Gemini 2.x models, tackling malformed streaming requests to Gemini 2.x endpoints.
Additional issues opened include guardrail UI consistency concerns, OpenTelemetry span correlation improvements, and various UX refinements around naming and configuration validation.
How can I help on this project?
Review MR !1529 for semantic topic matching in the RestrictToTopic guardrail. Review MR !1729 for the new Search API reranking processor. Pick up RestrictToTopic guardrail: add opt-in logging when a topic is flagged, which has no open MR and proposes a straightforward logging enhancement.
Contributors: Abhinav Jha (ajabhinavjha30), Abhisek Mazumdar (abhisekmazumdar), Ahmad Khader (Ahmad-Khader), Joshua Fernandes (joshua1234511), Levente Besenyei (LeventeB), Marcus Johansson (Marcus_Johansson)Drupal AI Initiative
No merge requests or commits were landed during this period. Activity focused on planning and design discussions.
A Drupal AI UX meeting 29 June 2026 issue was updated with notes covering two feature areas. For the Canvas chat functionality, decisions were made around control flow: the stop button will become a play/pause toggle, with a separate resume action that re-prompts the agent to continue generation (enabled by a one-loop-per-request architecture). The "Stop and undo" control is being renamed to "Stop and revert all changes" to clarify it performs a milestone revert of an entire turn while preserving redo capability, distinct from native undo operations. For the AI Content Review feature, the team discussed a criteria-creator UI that will generate markdown prompts for the agent, including guidelines, per-criterion thresholds, and scored examples categorized as good, medium, or bad. Different scoring methods will have distinct user interfaces.
How can I help on this project?
- Review the Canvas chat and AI Content Review UX decisions in the meeting notes and provide feedback on the proposed interaction patterns.
- Check the issue queue for unassigned tickets related to agent prompting or content review APIs that need implementation work.
AI Integration - ECA
No merge requests were completed or commits pushed during this period. The project remains focused on the Add AI ECA Interceptor submodule: intercept AI requests/responses through ECA feature, which proposes a new submodule to expose AI request and response lifecycle events as first-class ECA events, conditions, and actions. This would allow site builders to intercept and react to AI provider calls, streaming responses, and failure conditions through the ECA framework without writing custom code. The issue is currently assigned but shows no recent activity in terms of commits or merge requests during the reporting period.
How can I help on this project?
The AI ECA Interceptor feature (issue 3584407) is assigned but appears stalled with no recent commits. Contributors could review the current state of the assigned work or offer to collaborate on implementing the event subscriber integration and ECA plugin definitions needed for the interceptor submodule.
Anthropic Provider
A significant merge request expanding the module's capabilities was opened during the period. Issue #3607960: Add token counting, citations, and context management introduces three new opt-in features as part of the native SDK integration meta-issue. The MR adds a public countTokens() method to AnthropicProvider, citation extraction functionality, and context management including conversation compaction and editing. All features are configurable via new admin form sections and default to off, preserving existing chat behavior when disabled. The merge request touches 1823 lines and awaits review.
How can I help on this project?
- Review the open token counting, citations, and context management MR, testing the new countTokens() API and opt-in admin settings to verify backward compatibility.
- Test the citation extraction and context compaction features with real-world Anthropic API scenarios to validate functionality.
Contributors: Carlos Ospina (camoa)
AI Agents
The caller agent runner ID to tags in determineSolvability() merge request was merged, closing Add caller agent runner ID to tags in determineSolvability(). This enhancement enables custom AiProvider implementations to detect via the $tags array whether a chat() call originates from a root agent loop or from a sub-agent/tool execution context, addressing a key observability gap.
Two new merge requests were opened addressing operational issues. ContentEntitySeeder crash fixes (330 lines) targets double-wrapped content entity seeding crashes, while streaming fixes (280 lines) addresses streaming configuration issues with a setStreaming approach.
Feature development continues on tool execution constraints. Make it possible to restrict the order of tools during agent executions has an open merge request (!252, 1815 lines) exploring per-tool execution ordering and conditions like "only once" or "first/last" to prevent illogical tool sequences.
How can I help on this project?
Review MR !252 on tool ordering constraints to validate the API design. Test MR !291 and MR !290 for entity seeding and streaming regressions. Contribute to design discussions on the export/sync plugin system for external platforms.
Contributors: Alin Ameiroaie (aalin) [1], Bharat Kelotra (bharatkelotra), Joshua Fernandes (joshua1234511)
Drupal Canvas
A significant bug fix was merged addressing a white-screen-of-death error that occurred when requesting TMGMT translation jobs for component trees containing non-text props like dates, booleans, or numbers. The WSOD AssertionError issue was resolved by correcting assertion logic in shape matching and translation handling.
The project introduced automated layout fixtures and tests for the Canvas AI page builder agent in issue 3591457, streamlining validation of YAML output and reducing the manual testing burden when agent system prompts change.
Three developer experience improvements landed: PHPStan now disallows short ternary operators to enforce stricter comparisons (issue 3591671), multi-line string props on SDCs and code components are now correctly marked as translatable (issue 3591760), and PHPat rules were added to keep StagedLanguageConfigOverride config entity type-agnostic (issue 3591721). A cleanup task removed unnecessary config schema exclusions from ApiAutoSaveControllerTranslationTest following earlier core schema fixes.
Conflict detection during page publishing was merged via issue 3587526, preventing publication of conflicted items and adding visual indicators in the Canvas UI.
Work continues on Drupal 11.4 compatibility with an open MR for issue 3591764, and several bug fixes remain in review including an access-check ordering issue in ApiAutoSaveController::post() and a fatal error in PageRegion::createFromBlockLayout() for blocks with context mappings.
How can I help on this project?
- Review the open MR for Drupal 11.4 test suite compatibility, which drops 11.2 support and fixes test failures.
- Test and review the MR addressing PathautoItem assertion failures when publishing pages without URL aliases.
- Help validate the fix for auto-save access check ordering, which currently returns incorrect 409 responses.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative), AKHIL BABU (AkhilBabu) [1], Christian López Espínola (penyaskito), Feliksas Mazeikis (f.mazeikis) [1], Fons Vandamme (f0ns), Gábor Hojtsy (goba), Matt Glaman (mglaman), Narendra Singh Rathore (NarendraR) [1], Prabhavathi Vanipenta (prabha1997), Ravi Maniyar (ravi.maniyar.123), Wim Leers (wimleers) [4]
Context Control Center (CCC)
Documentation corrections were merged addressing two user-facing errors: Scheduler and Scheduler Content Moderation Integration are now correctly marked as optional in docs/index.md, and the AI module version requirement in README.md now matches composer.json (^1.4 || ^2). This work closed Documentation corrections: dependency requirements and AI module version.
Sprint 13 planning continued with Sprint 13 CCC roadmap updates, sprint planning, and issue triage. A pre-release codebase review identified issues now split between two meta issues: [Meta] CCC cleanup from beta3 code review findings for beta3 and [Meta] CCC cleanup from beta3 code review findings for beta4. Several child issues were opened and closed during the period, including Harden update 10011: empty-chunk guard and NULL-only backfill, Syncing saves bypass all integrity constraints instead of only the global cap, Item form discards user-entered scope when the subcontext feature is disabled, and Unset inherit_parent_scope silently wipes stored scope on save (data loss). These issues appear to relate to work in progress on subcontext scope inheritance.
Multiple merge requests remain open addressing accessibility, cacheability, and DX cleanup as part of [Meta] Fix CCC issues based on AI Best Practices results.
How can I help on this project?
Review the open merge request for Usage record page renders context item content without an entity access check (MR !208). Test and provide feedback on the open accessibility improvements in Clean up CCC tooltip, truncation, and icon-only content (MR !199). Review the scope plugin persistence API changes in Complete scope plugin persistence API: manager orchestration, target entity encapsulation, and plugin-driven admin/selection once unblocked.
Contributors: Joshua Fernandes (joshua1234511), Kristen Pol (kepol), Pravesh Poonia (Pravesh_Poonia) [1], Tamas Balog (tbalog)
AI Search
A new merge request was opened to Support keyword discovery in nested conditions. The branch introduces changes to handle keyword queries within nested conditions, adding 116 lines of diff. The merge request is currently awaiting review.
No issues were updated, no merge requests were merged, and no commits were pushed during this reporting period.
How can I help on this project?
- Review the open merge request for Support keyword discovery in nested conditions to help move it toward merge.
- Test the nested conditions functionality on the feature branch to identify edge cases or regressions.
AG-UI
AG-UI saw consolidation activity over the reporting period. The Allow data attributes for dom purify merge request was merged, enabling HTML data attributes to pass through DOM Purify sanitization. This allows LLM-provided metadata to be attached to rendered HTML elements without displaying it directly to users, enhancing opportunities for client-side behavior enrichment.
Two closed issues related to data attributes in parsed HTML were resolved alongside this merge. A separate issue remains open for adding events for failures, which would provide event triggers to handle remote exceptions and timeouts gracefully. This would enable more meaningful user feedback when the backend encounters errors.
How can I help on this project?
The Add events for failures issue is open with no merge request. Consider implementing event triggers for remote exceptions and timeouts. Review the existing DOM Purify integration to ensure data attributes work as intended across different HTML contexts.
Contributors: Bryan Sharpe (b_sharpe) [1]
References
[1] Preserve HTML in streamed output
[3] RestrictToTopic guardrail: add semantic topic matching mode
[4] AI CKEditor Summarize generates summaries in a different language than the selected text
[7] Add an AI reranking processor for Search API (owned by the AI module)
[12] Add rich-text image description support to AI Automators
[57] Resolve #3586558 "Preserve HTML in streamed output"
[58] Issue #3584977: RestrictToTopic guardrail: add semantic topic matching mode.
[59] Issue #3586543: Add AI reranking processor for Search API.
[62] Issue #3586478: "Add rich-text image description support to AI Automators"
[70] Add caller agent runner ID to tags in determineSolvability()
[74] 3574487: Add caller agent runner ID to tags in determineSolvability().
[82] Make Canvas test suite pass on 11.4; drop support for 11.2
[85] Canvas AI: Add layout fixtures and automated tests for the Canvas AI page builder agent
[88] Prevention of publishing on Conflict in Canvas UI
[107] #3591764: Make Canvas test suite pass on 11.4
[113] feat(Conflict detection): #3587526 "Detect conflicts during publishing of changes to Page entity"
[120] Add layout fixture and tests for page builder agent
[123] Documentation corrections: dependency requirements and AI module version
[160] Issue #3586317: Fix Scheduler as optional and correct AI module version in docs.