Daily Digest
Daily Digest – 8 August 2026
2026 Capabilities Progress
- Page generation — Progress continues on Canvas design system integration, with merged fixes for data integrity and work underway on brand kit editing responsiveness [19][25], but no direct page generation features were advanced today.
- Context management — Significant progress preparing the Context Control Center for 1.0 release, including token budget visibility [26][46], selection mode redesign [32], priority-based ordering [35], and improved documentation [27][37][47][48][49], with demo content preparation underway [36][39][40].
- Background agents — A new confirmation flag proposal for FlowDrop would add human-in-the-loop approval gates for high-risk automated actions [56], but the issue remains open with no code in progress.
- Design system integration — Canvas merged a critical fix for configuration detectors [25], with active work on widget caching [24], image style support [9][23], and component import capabilities [11] to improve integration with existing Drupal assets.
- Content creation and discovery — A feature request was accepted to extend AI Automator to automatically fill summary fields for formatted text [1], addressing a current gap where editors must manually add summaries for listings and previews.
- Advanced governance — No direct progress today.
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — AI translate advanced cost optimization through caching and deduplication [54][55], which will reduce API expenses for sites translating content across multiple channels, though the work awaits final review.
Shipped
- Canvas configuration health protection — A PHPStan rule has been merged to detect configuration detectors that corrupt data during inspection, catching a class of errors at static analysis time [12][25].
- Canvas widget caching issue resolved — A fix for a caching collision that caused widget-building failures depending on the order component properties were processed is ready for review [13][24].
Ongoing
- AI Automator summary field support — Work to enable automatic filling of summary sub-fields in formatted text fields, removing manual workarounds for content teams [1].
- AI translation cost optimization — Caching and deduplication capabilities under review to eliminate redundant translation requests and reduce API costs for sites with repeated content [54][55].
- Context Control Center 1.0 preparation — Multiple improvements in progress including token budget visibility, selection mode redesign, and priority-based ordering to simplify administration and improve transparency [26][32][35][46].
- Canvas brand kit responsiveness improvement — Work underway to apply color changes immediately in the interface while saving in the background, eliminating current editing delays [8][19].
- DrupalCon Rotterdam 2026 demo site — Planning continues for integrated AI demonstration site with university-themed multilingual content, deployable instantly on Drupal Forge [4][5][39].
AI (Artificial Intelligence)
Development activity this week focused on documentation and user experience improvements for the AI module.
A merge request was opened to update the project's testing documentation to reflect the 1.4.x release series, including new coverage for global guardrails testing. This work ensures quality assurance processes stay current with the module's evolving feature set.
A feature request was accepted to expand the AI Automator capability for formatted text fields. Currently, when automatically filling long text fields with summaries, the dedicated summary sub-field remains empty. This limitation means content editors cannot benefit from AI-generated summaries that appear in listings or previews without manual post-processing workarounds. The request has been tagged as a quick win, indicating it may be relatively straightforward to implement and would provide immediate value to content teams using the module.
How can I help on this project?
- Allocate developer time to implement the summary field automation feature, which would remove manual workarounds for content teams.
- Ensure documentation review resources are available to validate and merge the testing documentation update.
Contributors: Avinash jha (avinash.jha)
Drupal AI Initiative
The AI Initiative continued planning work toward DrupalCon Rotterdam in late September 2026. The goal remains delivering a demonstration site where multiple AI capabilities work together on a single platform, including AI-powered search, content review, translation, and editor chat tools. This site will be deployable in seconds on Drupal Forge, allowing potential adopters to experience integrated AI features immediately rather than reading about them in isolation.
Planning discussions continued around the demonstration content and site architecture. The focus is on creating a university-themed site with realistic multilingual content that showcases how AI features operate in a production-like environment. The site structure and content corpus are being finalized to support the Rotterdam demonstration timeline.
No code was merged or committed during this period. Work remains in the planning and coordination phase as the team prepares for the conference deadline.
How can I help on this project?
- Ensure dedicated resources are available to execute on the demonstration site build and content creation ahead of the September deadline.
- Coordinate with DrupalCon Rotterdam organizers to secure prominent demonstration opportunities for the integrated AI showcase.
Tool API
A new merge request was opened to add documentation and enable project pages for the Tool API module. This work will make it easier for potential users to understand what the module does and how to use it, improving accessibility and adoption. Project pages are a standard way to communicate a module's purpose, features, and status to the Drupal community.
No issues were updated and no code was committed during this period. The documentation work is still in progress and has not yet been merged.
How can I help on this project?
- Prioritize review and approval of the documentation work to unblock the launch of project pages and improve discoverability.
- Consider whether additional communication or marketing support is needed once documentation is published to drive awareness.
Contributors: Marcus Johansson (Marcus_Johansson)
Drupal Canvas
Development continues across data integrity, performance, and developer experience. Two important fixes were merged this period. A new automated check now prevents configuration health detectors from accidentally corrupting the data they inspect—an issue that had occurred twice before and was previously caught only through code review. A second fix resolved a caching collision that caused widget-building to fail unpredictably depending on the order in which component properties were processed.
Work is underway to improve the editing experience for brand kit colours by applying changes immediately in the interface while the server saves in the background, eliminating the current delay where users wait for two network round trips before seeing their edits. Separately, progress continues on adding support for Drupal image styles and preview data within the code editor, both aimed at making it easier for developers to work with existing Drupal content and assets. A self-healing mechanism is being developed to automatically repair data written before version 1.5.1 when it is read, avoiding errors that currently block layout rendering and updates.
Dependency updates remain in progress through the automated dashboard.
How can I help on this project?
- Review and approve the brand kit colour optimisation work to improve perceived responsiveness during editing.
- Prioritise decisions on image style integration to clarify the migration path for existing Drupal sites adopting Canvas.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Christian López Espínola (penyaskito) [1], Lauri Timmanee (lauriii)
Context Control Center (CCC)
The Context Control Center focused this period on preparing for a stable 1.0 release, with significant planning around user experience improvements, reliability, and demo readiness. Work concentrated on clarifying how context items are selected and prioritized, improving budget visibility, and ensuring the module is easy to understand for new users.
Several merge requests were opened to improve how the system communicates token usage to site administrators. Work is underway to persist token counts and display budget usage in the interface, helping administrators understand how close they are to configured limits. Related efforts aim to remove the separate item count limit in favor of relying solely on token budgets, simplifying configuration.
Planning advanced on making the system easier to understand. Work began on clarifying scope matching and ranking documentation, and on redesigning selection modes to better reflect user intent rather than technical mechanisms. A priority field for context items is being added to give editors clearer control over selection ordering.
Preparations continue for an upcoming demonstration, including demo content development and a potential installable recipe to showcase functionality.
How can I help on this project?
- Allocate UX review capacity for pending design decisions on selection modes and scope documentation to unblock finalization.
- Confirm scope and timeline expectations for the Rotterdam demo to ensure development priorities align with presentation needs.
Contributors: Kristen Pol (kepol), Emma Horrell (emma-horrell), Aidan Foster (aidanfoster)
AI translate
The AI translate module made significant progress on cost optimization during the reporting period. A merge request introducing translation result caching and cross-field deduplication was opened to address a major efficiency gap: the module currently re-sends every piece of content to AI language models on each translation run, even when nothing has changed.
This work targets two costly patterns. First, when a single field is updated, all unchanged fields are re-translated unnecessarily. Second, repeated text across components—such as shared button labels or navigation titles—is translated multiple times rather than once. The proposed caching layer sits at the single point where content is sent to AI providers, ensuring the same text is never translated twice. This should meaningfully reduce API costs for sites with paragraph-heavy pages or Layout Builder configurations.
The change is under review and has not yet been merged. Once integrated, it will deliver immediate cost savings for organizations running frequent translation updates.
How can I help on this project?
- Prioritize code review resources to evaluate and merge the caching implementation, which is ready but awaiting approval.
- Identify pilot customers with high translation volumes who could validate cost savings before wider rollout.
Contributors: Tekla Aivazashvili (aivazashvilit)
FlowDrop
A new issue was opened to add a confirmation step for certain workflow actions. The Add a requires_confirmation flag to flowdrop_node_type, wired to the existing interrupt/HITL engine proposal would allow administrators to mark specific automated actions as requiring human approval before they execute. This is particularly relevant for high-risk operations such as publishing content, sending communications, or deleting data, where an accidental or erroneous automated action could have significant consequences. The approach reuses existing workflow pause capabilities rather than building new infrastructure. The issue remains open with no commits or merges completed during this period.
How can I help on this project?
- Confirm whether automated confirmation workflows are a priority for your use cases and provide guidance on which actions should require approval by default.
- Allocate development resources to begin implementation if this capability aligns with your risk management requirements.
References
[1] Fields with optional summary field, have no AI Automator option to fill it as well.
[4] [META] AI Demo Site Content + Architecture - Rotterdam
[5] [META] 2026 AI Inside Roadmap to DrupalCon Rotterdam 2026
[8] Apply brand kit colour changes optimistically
[9] SDC: support selection of image styles or aspect ratio
[11] Support code component imports contributed by modules to the Canvas import map
[12] PHPStan rule: needs*() config detectors must not mutate the entity they inspect
[19] feat(Brand kit): apply color edits optimistically with rollback
[23] Draft: Add Twig filter for image styles
[24] #3591916 Drain invalidated prop shapes before component generation; narrow the cold-cache guard
[25] Add PHPStan rule: needs*() config detectors must not mutate the entity they inspect
[26] Persist context-item token counts and show token-budget usage in CCC UI
[27] Clarify scope eligibility, ranking, and limits in UI help and documentation
[32] Redesign selection modes as a nested Minimal / Relevant / Broad ladder and remove match_all
[35] Add context item Priority field and use it for selection ordering
[36] [Meta] Prepare demo content and demo context items for the CCC to show how it works
[37] Review and document context selection ranking factors before 1.0
[39] [Meta] Prepare CCC for Inside AI Rotterdam demo
[40] Create CCC recipe for Inside Rotterdam demo
[46] Issue #3586379: Persist token counts and show budget usage in CCC UI.
[47] Issue #3586392: Clarify and stabilize scope plugin extension boundary for 1.0.
[48] Issue #3586382: Pre-1.0 documentation, trust, and compatibility follow-up.
[49] Issue #3586383: Pre-1.0 context selection reliability and diagnostics follow-up.
[54] Feature: Translation result caching and cross-field deduplication
[55] Issue #3585529: Add translation result caching and cross-field deduplication.
[56] Add a requires_confirmation flag to flowdrop_node_type, wired to the existing interrupt/HITL engine
Shipped
- Canvas PHPStan rule prevents config mutation bugs — A PHPStan rule has been merged that enforces needs*() detector methods in CanvasConfigUpdater remain side-effect-free, preventing silent corruption of the escaped-config audit [12][25].
- Canvas StaticPropSource cache collision fix — A fix is in review for a bug where TypedDataManager cached field-item prototypes using only root entity type, causing wrong widgets to render when multiple props had different field types [13][24].
- AI Context Dynamic Entity Reference field storage fix — A fix is in review to install target_entities field storage correctly when DER is enabled on existing sites, preventing fatal errors on context item listing pages [31][50].
- AI Context conditional subcontext provider resolution — Work is underway on use_default provider configuration resolution for conditional subcontext selection [44][52].
- AI Context multi-vocabulary taxonomy scope plugin — A new scope plugin supporting multi-vocabulary taxonomy selection for context items is in review [33][51].
Ongoing
- AI Automator summary field support — An accepted issue requests adding AI Automator options to automatically fill optional summary subfields in formatted text fields, marked as a Quick Win [1].
- AI Context token budget UI implementation — MR implements token count persistence and budget usage indicators in the CCC UI with percentage badges showing configured limits [26][46].
- Canvas optimistic brand kit color updates — Work continues on eliminating blocking network round trips during brand kit color edits with optimistic UI updates and rollback [8][19].
- AI Translate caching and deduplication — MR adds a CachedTextTranslator decorator to cache translation results and deduplicate identical strings across fields, spanning 835 lines [54][55].
- AI testing documentation update for 1.4.x — MR updates testing steps documentation to 1.4.x branch and adds global guardrails testing steps, awaiting review [2][3].
AI (Artificial Intelligence)
Activity over the past 24 hours focused on documentation and feature requests. A merge request was opened for Update the testing steps docs to 1.4.x, which aims to bring the testing documentation current with the 1.4.x branch and add global guardrails testing steps. The corresponding MR !1922 is now awaiting review with 60 lines of changes.
On the feature request front, an accepted issue was updated regarding Fields with optional summary field, have no AI Automator option to fill it as well. The issue highlights that while AI Automator can populate formatted text fields with summaries, there's currently no option to automatically fill the summary subfield itself. This is marked as a Quick Win and remains unassigned, making it a good candidate for new contributors looking to add functionality to the AI Automator component.
How can I help on this project?
- Review MR !1922 for the 1.4.x testing documentation updates and verify the global guardrails testing steps are comprehensive.
- Pick up the unassigned summary field feature request and implement AI Automator support for optional summary subfields.
Drupal AI Initiative
Activity this period focused on planning and coordination for DrupalCon Rotterdam 2026. Two meta issues were updated to track progress toward a unified demonstration site that will showcase AI features including search, content review, translation, editor chat, observability, and guardrails working together on multilingual content.
The [META] 2026 AI Inside Roadmap to DrupalCon Rotterdam 2026 issue outlines the overall vision: a single deployable Drupal site where visitors can see integrated AI capabilities rather than isolated features, launchable in seconds via Drupal Forge. The [META] AI Demo Site Content + Architecture - Rotterdam issue tracks the demo content and site architecture work, including entity structure and a university corpus separated from configuration.
No merge requests were merged and no commits were pushed during this period. The focus remains on scoping and architectural planning for the Rotterdam demonstration.
How can I help on this project?
Review the Rotterdam roadmap meta issues to understand the demo site requirements and contribute to architectural discussions. Help define the entity structure or prepare demo content for the university corpus that will showcase multilingual AI capabilities.
Tool API
A new merge request was opened to resolve documentation and enable project pages. The MR contains 955 lines of changes and is currently awaiting review. No merge activity occurred during this period, and no issues saw status changes or new discussion.
How can I help on this project?
Review the pending documentation and project pages MR to help move it toward merge. Testing the changes and providing feedback on documentation clarity would be valuable contributions.
Contributors: Marcus Johansson (Marcus_Johansson)
Drupal Canvas
Two critical data-integrity fixes were merged over the weekend. A PHPStan rule now enforces that needs*() detector methods in CanvasConfigUpdater remain side-effect-free; previously, mutations leaked across detectors and silently corrupted the escaped-config audit. The rule was merged via MR !1416. A second fix addresses a cache-key collision bug in StaticPropSource widget building, where core's TypedDataManager cached field-item prototypes using only the root entity type, causing the wrong widget to render when multiple props on a component had different field types.
Work continues on several open MRs. Optimistic brand-kit colour updates are under development to eliminate blocking network round trips during edits. A self-healing migration for stored default-relative-url prop sources strips resolver-injected $id keys on read and update, preventing 500s from pre-1.5.1 data. The absolute URL mangling bug in scopeCss() now has test coverage and a fix awaiting review. Module-contributed import-map entries still break CLI push operations, though in-browser editing works.
How can I help on this project?
Review the open MR for absolute stylesheet URLs in scopeCss or the default-relative-url self-healing migration. Help reproduce the CLI import-map resolution failure with module-contributed specifiers and validate the proposed fix direction.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Christian López Espínola (penyaskito) [1], Lauri Timmanee (lauriii)
Context Control Center (CCC)
Progress concentrated on pre-1.0 stabilization work across multiple fronts. A bug affecting sites that enable Dynamic Entity Reference after installing ai_context was addressed: MR !251 now installs the target_entities field storage when DER is enabled on existing sites, preventing fatal errors on the context item listing page.
Work continued on token budget integration. MR !248 implements token count persistence and budget usage indicators in the CCC UI, with badges showing percentage of configured limits. Related refactoring in Remove max_items context limit and rely on the token budget proposes removing the max_items setting entirely in favor of token budgets as the primary limit.
Conditional subcontext improvements are in flight. MR !247 fixes provider configuration resolution when use_default is set, preventing silent exclusion of conditional children. MR !246 adds documentation guiding authors to write effective Purpose field text for model decision-making.
API boundary work includes MR !249 to clarify the scope plugin extension contract before 1.0. Feature additions include MR !250 for a multi-vocabulary taxonomy scope plugin and design discussion on redesigning selection modes as a nested Minimal/Relevant/Broad ladder. Pre-1.0 documentation and diagnostics improvements are staged in MR !253 and MR !252.
How can I help on this project?
Review MR !248 for token budget UI implementation or MR !251 for DER field storage fixes. Test conditional subcontext selection with real AI providers to validate Purpose-based filtering.
Contributors: Kristen Pol (kepol), Emma Horrell (emma-horrell), Aidan Foster (aidanfoster)
AI translate
A new merge request was opened to address Translation result caching and cross-field deduplication. The proposed implementation introduces a decorator pattern around TextTranslator, adding a cache layer at the single choke point where all translation requests pass through the translateText() call in TextTranslator::translateContent(). The CachedTextTranslator decorator is registered against ai_translate.text_translator, leaving TextTranslator and TextTranslatorInterface unchanged to maintain backward compatibility. This approach targets two cost inefficiencies: re-translation of unchanged content on subsequent runs and duplicate translation of identical strings that appear in multiple fields or paragraph components within the same entity.
The caching merge request spans 835 lines of diff and is currently open for review. No commits were pushed or merges completed during this period.
How can I help on this project?
- Review the open caching and deduplication MR, testing the decorator pattern implementation and verifying cache invalidation logic.
- Test the cache behavior with paragraph-heavy entities and Layout Builder pages to validate deduplication effectiveness across repeated strings.
Contributors: Tekla Aivazashvili (aivazashvilit)
FlowDrop
A new issue was opened proposing the addition of a requires_confirmation flag to the flowdrop_node_type config entity. The Add a requires_confirmation flag to flowdrop_node_type, wired to the existing interrupt/HITL engine issue describes leveraging FlowDrop's existing interrupt and human-in-the-loop machinery (ChoiceNode) to pause workflow execution before specific tool nodes fire. This would allow operators to confirm actions before execution of outward-facing or irreversible operations such as publishing content, sending mail, or making external API calls, without requiring new pause infrastructure.
No merge requests were opened or merged during the reporting period, and no commits were pushed.
How can I help on this project?
- Pick up the requires_confirmation flag issue, which is currently unassigned with no merge request, and begin implementing the proposed config schema changes and ChoiceNode integration.
- Review the existing interrupt and human-in-the-loop machinery to identify integration points for the confirmation feature.
References
[1] Fields with optional summary field, have no AI Automator option to fill it as well.
[2] Update the testing steps docs to 1.4.x
[3] Issue #3586463: Update testing steps documentation to 1.4.x and add global guardrails test
[8] Apply brand kit colour changes optimistically
[12] PHPStan rule: needs*() config detectors must not mutate the entity they inspect
[19] feat(Brand kit): apply color edits optimistically with rollback
[24] #3591916 Drain invalidated prop shapes before component generation; narrow the cold-cache guard
[25] Add PHPStan rule: needs*() config detectors must not mutate the entity they inspect
[26] Persist context-item token counts and show token-budget usage in CCC UI
[31] Install `target_entities` field storage when Dynamic Entity Reference is enabled on existing sites
[33] Create multi-vocabulary taxonomy scope plugin
[44] Resolve `use_default` provider config for conditional subcontext selection
[46] Issue #3586379: Persist token counts and show budget usage in CCC UI.
[50] Issue #3586375: Install target_entities storage when DER is enabled later.
[51] Issue #3586237: Add multi-vocabulary taxonomy scope plugin.
[52] Issue #3586391: Resolve use_default provider for conditional subcontext.
[54] Feature: Translation result caching and cross-field deduplication
[55] Issue #3585529: Add translation result caching and cross-field deduplication.