Daily Digest
Daily Digest – 27 May 2026
2026 Capabilities Progress
- Page generation — Canvas merged API support for managing page regions [86] and completed form state refactoring [74], both foundational for enabling AI to assemble pages from components. Translation preview capabilities were also delivered [85], which will support multilingual page generation workflows.
- Context management — The Context Control Center team opened work on an extensions page to improve discoverability of optional features [93][98] and initiated updates to clarify how scope subscriptions work in the UI [96]. Discussion items were opened exploring freeform tagging [94] and exclusion rules [95] for more sophisticated context filtering.
- Background agents — No direct progress today.
- Design system integration — Canvas resolved issues affecting component upgrade scenarios when prop definitions change [63][73] and added backend APIs for entity reference selection [55][70], both critical for AI to work intelligently with design system components. Work also progressed on multi-bundle reference field support [48], a blocker for more complex component matching.
- Content creation and discovery — Field Widget Actions received a merge request enabling configurable "multiple" settings [100][102], making AI content tools more adaptable to different editorial workflows. Work continues on interactive refinement capabilities [8][101][103], which will allow editors to iteratively improve AI-generated content with natural language instructions.
- Advanced governance — Canvas merged conflict detection during autosave polling [79] and progressed work on ensuring component version updates propagate correctly across translations [60][76], both essential for maintaining content integrity when AI makes changes across multilingual sites.
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — No direct progress today.
Shipped
- AI module fixed critical infinite loop bug in guardrails — The team resolved an issue where global guardrails triggered recursive calls when validating AI-generated content, preventing system lockups [5][22][23].
- AI Agents delivered modernized configuration interface — The agent configuration form now uses a dedicated tool picker instead of a basic text field, making it easier to select and configure information tools [42][45].
- AI Agents updated default configurations to current format — The three shipped agent configurations for taxonomy, content types, and fields now match current structure, ensuring consistent installation experience [41][44].
- Canvas completed language preview capability — Teams can now view page content in different languages without leaving the editor, supporting multilingual site workflows [58][85].
- Canvas delivered page region management APIs — New APIs enable Canvas Workbench to synchronize global layout areas like headers and footers [65][86].
Ongoing
- AI module adopting Symfony AI component version 0.8 — Development underway to modernize the platform layer, representing a significant architectural shift requiring validation before stable 2.0 release [1][12].
- Canvas advancing multilingual translation features — Multiple merge requests in progress for extending language switcher to templates, propagating version updates across translations, and indicating translation availability [62][82][60][76].
- Context Control Center approaching release candidate — Team prioritizing which performance improvements and UI enhancements must be completed before first release candidate versus after version 1.0 [90][91][92][93].
- Field Widget Actions adding configurable multiple setting — Merge request submitted to let users control whether automated actions apply to individual items or entire fields without technical intervention [100][102].
- Tool API resolving REST serialization compatibility issue — When Tool module is enabled alongside REST API, data handlers interfere with JSON conversion, potentially disrupting third-party integrations [46].
AI (Artificial Intelligence)
The AI module team has resolved a critical bug affecting guardrails and completed several maintenance tasks while advancing work on platform modernization. Key activity over the past 24 hours includes:
A significant bug fix was merged addressing an infinite loop issue where global guardrails would trigger recursive calls when validating AI-generated content. Marcus Johansson resolved this by adding proper re-entrancy guards. Several legacy bugs were also closed, including issues affecting the API Explorer interface and automator routing.
Development is underway on two strategic initiatives: adopting the latest Symfony AI component (version 0.8) to modernize the platform layer, and ensuring the API Explorer works with both new and legacy provider implementations to support thorough manual testing during the transition. Wolfgang Ziegler is leading both efforts.
Several quality improvements are in progress, including visual regression testing for UI components, fixing how the RestrictToTopic guardrail decodes responses when models wrap JSON in prose, and adding interactive refinement capabilities to field widget actions. Ahmad Khalil has a patch ready for review that improves error handling when assistant configurations conflict with code-defined plugins.
Documentation remains slightly outdated, with the changelog referencing version 1.2 rather than current releases—a minor housekeeping item.
How can I help on this project?
- Prioritize code review resources for the Symfony AI integration work, which represents a significant architectural shift requiring careful validation before the stable 2.0 release.
- Clarify the product roadmap around guardrails functionality, as user reports indicate the feature may not be working as intended in production scenarios.
Drupal AI Initiative
The Initiative closed out its fourth marketing sprint and progressed work on the Enterprise AI Summit in Rotterdam. Two marketing tasks related to the Summit—visual assets and the call for sessions—were migrated to a dedicated marketing project repository and closed in the main project. A merge request to improve sprint management was opened by Jeremy Chinquist (jjchinquist), adding summary statistics to sprint reports and removing marketing templates now maintained elsewhere.
The UX team met on May 25 and confirmed the design direction for AI Review, noting that a long-running timeout issue in demos is an architectural problem requiring further updates. Aidan Foster (aidanfoster) is conducting an internal UX demo review based on strategic plans before wider release.
Two organisational improvements are underway: Christoph Breidert (breidert) is working to improve partner communication by setting up topic-specific contact lists, addressing missed sponsorship opportunities. Tim Hestenes Lehnen (hestenet) is exploring how to allow partner backlinks without enabling spam on Drupal.org.
How can I help on this project?
- Review and approve partner communication workflows to ensure the right stakeholders are engaged for sponsorship and collaboration opportunities.
- Support decision-making on the backlink policy for partner content, balancing SEO value with platform integrity.
AI Agents Test
This module supports automated testing of AI capabilities. Over the past 24 hours, work continued on expanding testing efficiency and flexibility.
A task was updated to enable running multiple test groups together. Currently, teams can only run one set of tests at a time. The proposed enhancement would allow users to select and execute multiple test groups simultaneously or organize tests using tags. This capability is particularly valuable when comparing different AI models or conducting broader quality assessments, as it would reduce the time needed to evaluate system performance across various scenarios.
No code was merged during this period. The work remains in the planning and design phase as the team determines the best approach for the user interface and organizational structure.
How can I help on this project?
- Clarify priority: Confirm whether bulk testing capability should be prioritized for the next development cycle or if other features take precedence.
- Validate use cases: Connect the team with end users who would benefit from this feature to ensure the solution addresses real workflow needs.
AI Agents
The AI Agents module closed out its 1.2.0 release milestone this period, delivering two quality improvements that modernize the module's configuration and user interface.
The team fixed a bug where the three default agent configurations shipped with the module (for taxonomy, content types, and fields) were using an outdated format. AKHIL BABU (AkhilBabu) updated these to match the current structure, ensuring a consistent experience when installing the module. Marcus Johansson (Marcus_Johansson) also upgraded the agent configuration form to use a modern tool-selection interface introduced in the AI module 1.4.0, replacing a basic text field with a dedicated tool picker. This makes it easier for users to select and configure the information tools their agents will use.
With these fixes completed, the module has achieved its Roadmap 1.2.0 release goals. Both changes improve the out-of-box experience and align the module with current platform capabilities.
How can I help on this project?
- Support planning for the next release cycle by allocating time for the team to define priorities and scope for version 1.3.0.
- Ensure adequate testing resources are available to validate the 1.2.0 release candidate across different deployment scenarios before final release.
Tool API
Two new issues were opened during this period, both relating to how the Tool API module handles data structures used by other systems.
A compatibility problem with REST serialization was reported by Stephan Huber (stmh). When the Tool module is enabled alongside Drupal's REST API, certain internal data handlers interfere with the process of converting content entities into JSON format for external consumption. This affects any custom integration that exposes Drupal content via REST endpoints, potentially disrupting third-party applications or mobile apps that rely on this data exchange.
Marcus Johansson (Marcus_Johansson) opened and self-assigned an issue to add context definition overrides to the plugin base. This work ensures that when the AI module creates multiple instances of tools, each receives its own isolated configuration context rather than sharing state. The issue is marked as needing review and has tasks already completed, indicating progress toward resolution.
No code was merged or committed during this period. Both issues remain open and under investigation.
How can I help on this project?
- Prioritize review capacity for the context definition issue, which is ready for technical review and blocking AI module integration.
- Consider engaging stakeholders using REST APIs to validate the serialization fix once a solution is proposed.
Drupal Canvas
Canvas closed two important technical tasks this period. The first completed a significant refactoring to improve how the page editor manages form state, which should reduce unnecessary re-rendering and improve responsiveness. The second delivered a language preview capability, allowing teams to view page content in different languages without leaving the editor—an essential step toward supporting multilingual sites.
Two new infrastructure capabilities were also merged. The project now exposes APIs for managing page regions (the global layout areas like headers and footers), enabling Canvas Workbench—the standalone development tool—to synchronize those layouts. The team also resolved a build system issue that was blocking continuous integration.
Active development continues on several translation features. Work is progressing on extending the language switcher to content templates, ensuring version updates propagate correctly across all language variants, and providing visual indicators of which translations exist. Multiple merge requests are open for these features.
Several foundational issues remain open, including support for multi-bundle reference fields (marked as a critical blocker) and handling attachments in processed text fields. The team is also working through component upgrade scenarios where developers change prop definitions after content has been created.
How can I help on this project?
- Prioritize code review bandwidth for the open translation merge requests, which have working implementations but need final approval to unblock the multilingual workflow.
- Confirm product decisions on data loss scenarios when component definitions change, as multiple open issues depend on clarity about acceptable tradeoffs.
Context Control Center (CCC)
Over the past 24 hours, the team focused on planning and prioritization work as the module approaches its release candidate milestone. Seven issues were updated, primarily centered on clarifying scope, documentation, and determining which features should be finalized before the first release candidate versus after version 1.0.
Key areas of activity include:
- Three performance-related issues were opened and assigned to Abhisek Mazumdar (abhisekmazumdar), focusing on usage tracking, conditional subcontext calls, and convenience API behavior. Each requires validation and prioritization decisions before work begins.
- Kristen Pol (kepol) submitted a merge request to add an extensions page that will help users discover optional functionality when certain modules are installed, improving discoverability of advanced capabilities.
- Documentation and user experience improvements were initiated, including clarifying how scope subscriptions work (assigned to Kristen Pol, Aidan Foster, and Emma Horrell) and updating the context view page design.
- Two discussion items were opened exploring how users might categorize and filter context using freeform tagging and exclusion rules.
How can I help on this project?
- Prioritize which of the three performance issues must be resolved before the release candidate versus after version 1.0, as the team needs direction on scope boundaries.
- Assess whether additional design or UX resources are needed to support the documentation and interface clarity work currently underway.
Field Widget Actions
The Field Widget Actions module saw focused development activity over the past 24 hours, with progress on making the tool more flexible and user-friendly for content editors working with AI-generated content.
A new merge request was submitted by Andy Marquis (apmsooner) to address Allow "Multiple" to be configured in widget. This work will give users control over whether automated actions apply to individual form items or entire fields, removing the current limitation where developers must create duplicate versions of the same tool just to change this setting. The change means content teams can adapt the same automation tool to different workflows without technical intervention.
Separately, work continues on Add interactive refinement capability to Field Widget Actions, which aims to let users iteratively improve AI-generated content with instructions like "make it shorter" without starting over. An existing merge request from Edward Zwart (ezeedub) is under review for this enhancement.
How can I help on this project?
- Prioritize review and testing resources for the open merge requests to accelerate delivery of these user-facing improvements.
- Connect the development team with content editors who can provide feedback on the interactive refinement feature to ensure it meets real workflow needs.
References
[1] Adopt symfony/ai component v0.8 as platform provider
[5] Global LLM-based guardrails cause infinite recursive LLM calls (no re-entrancy guard)
[8] Add interactive refinement capability to Field Widget Actions
[22] Resolve "Global LLM-based guardrails cause infinite recursive LLM calls (no re-entrancy guard)"
[23] Resolve "Global LLM-based guardrails cause infinite recursive LLM calls (no re-entrancy guard)"
[41] Default agent configs in config/install are outdated
[42] Use the new ai_tools_library form element for 'Default information tools' in the agent form
[44] Issues/3586028
[46] MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization (same as #3568588)
[55] Backend APIs for Entity Reference Selection
[58] Create a preview mode for non-default languages
[60] Symmetric translation: component instance version updates must propagate to all translations
[62] Extend language switcher support to Content Templates
[63] Introduce a JsComponentInstanceUpdater that allows prop shape ("type") changes and accepts data loss
[65] Expose HTTP API for managing Page Regions
[70] feat: #3585354 add content-entity-types / fields endpoints for entity reference selection UI
[73] #3587711 fix: code component exceptions after prop type change
[74] #3562896 React Hook Form integration.
[79] Resolve #3589076 "Detect conflicts during autosave polling"
[82] Draft: #3590577 Language preview for templates
[85] #3585452 Create preview for translations
[86] feat(Internal HTTP API): #3589801 Expose HTTP API for managing Page Regions
[90] CCC Non-Agent `match_all` Convenience API
[91] Conditional Subcontext Provider Calls
[92] CCC Usage Tracking Query/Save Pattern
[93] CCC optional feature suggestions in UI
[94] (Discuss) Associating adhoc vocabularies (freetagging) with context items
[95] (Discuss) Add boundaries / exclusions to scope plugins
[96] Clarify scope items are additive in docs and UI
[98] Issue #3586229: Add extensions page under settings.
[100] Allow "Multiple" to be configured in widget
[101] Add interactive refinement capability to Field Widget Actions
[102] Configurable multiple setting.
[103] feat: #3547306 Add interactive refinement capability to Field Widget Actions
Shipped
- AI module phpstan errors fixed — Marcus Johansson merged fixes for 12 lines of static analysis errors in the CKEditor integration [9][25].
- AI Agents default configs updated — AKHIL BABU fixed three shipped agent configurations that were storing system_prompt and default_information_tools as quoted strings instead of proper YAML block scalars [41][44].
- AI Agents form element modernization — Marcus Johansson replaced the plain textarea in AiAgentForm with the new ai_tools_library form element from AI module 1.4.0 [42][45].
- Canvas react-hook-form integration completed — Ben Mullins refactored prop and page data forms to eliminate unnecessary rerenders and treat props as immutable, a prerequisite for React 19 compatibility [52][74].
- Canvas translation preview mode shipped — Ted Bowman added a language selector dropdown to the Canvas UI allowing preview of non-default language content without entering edit mode [58][85].
Ongoing
- Global guardrails infinite recursion bug under review — Marcus Johansson opened MR 1612 with a programmatic fix for ProviderProxy triggering unbounded recursion when LLM-based guardrails are configured globally [5][22][23].
- Symfony AI v0.8 adoption in progress — Wolfgang Ziegler is tracking migration from v0.6 to v0.8's new ProviderInterface abstraction and making API explorer work with both Symfony platform and legacy providers [1][2].
- Canvas symmetric translation propagation under development — Christian López Espínola is addressing component instance version updates that must propagate to all translations via MR 1163 [60][76].
- Canvas entity reference selection APIs in security review — Christian López Espínola is advancing backend APIs for entity reference selection with MR 1112 under security review [55][70].
- Field Widget Actions interactive refinement capability pending — Edward Zwart's MR 19 enables iterative improvements to AI-generated content without re-running entire automator processes [8][101][103].
AI (Artificial Intelligence)
The AI module saw significant activity focused on stability and architectural planning. Marcus Johansson (Marcus_Johansson) merged Fix 1.x error messages in phpstan via MR !1611, addressing 12 lines of static analysis errors in the CKEditor integration.
A critical bug affecting global guardrails was addressed. Marcus Johansson identified and closed MR !1610 for Global LLM-based guardrails cause infinite recursive LLM calls (no re-entrancy guard), then opened a new MR !1612 with a "programmatic fix" (377 lines changed). The issue stems from ProviderProxy triggering PreGenerateResponseEvent on every chat() call, with GlobalGuardrailsEventSubscriber::attachGlobalGuardrails() creating unbounded recursion when LLM-based guardrails like "Restrict to Topic" are configured globally.
Several issues moved to RTBC or closed status, including multiple legacy migrated issues. Wolfgang Ziegler (fago) is actively working on Make API explorer work with Symfony platform and legacy providers, and created Adopt symfony/ai component v0.8 as platform provider to track the move from v0.6 to v0.8's new ProviderInterface abstraction.
Ahmad Khalil (ahmad-khalil-imagex) opened MR !1589 addressing AI Assistant runner fatals when an ai_agent config entity shares its ID with a code-defined AiAgent plugin, which is now at RTBC status.
How can I help on this project?
- Review MR !1612 for the programmatic fix to the global guardrails infinite recursion bug.
- Pick up RestrictToTopic guardrail should use the prompt JSON decoder service, which has no MR yet and needs the plugin updated to use ai.prompt_json_decode.
- Help diagnose Guardrails and Chat Generation Explorer - not working..., where guardrails appear ineffective in the chat explorer.
Drupal AI Initiative
The Drupal AI Initiative saw primarily organizational and marketing activity over the last 24 hours. Several issues related to the Enterprise AI Summit Rotterdam were migrated to a dedicated ai_initiative_marketing project, including visual assets and the call for sessions. Marketing Sprint #4 closed on May 27.
Jeremy Chinquist (jjchinquist) opened MR !13 to improve sprint management tooling by adding aggregate statistics to sprint reports and removing five marketing issue templates that now live exclusively in the marketing subproject. The merge request includes 1,645 lines of diff and remains under review.
Two new organizational issues were created: Tim Hestenes Lehnen (hestenet) opened Determine best way to allow backlinks to partners to address concerns about creating value for partners without enabling spam, and Christoph Breidert (breidert) filed Improve communication with partners to establish structured contact lists so topic-specific outreach reaches the right people within partner organizations.
The UX team met on May 25, declaring AI Review v1 design sufficient and confirming a right-panel direction for the fix-list interface.
How can I help on this project?
- Review MR !13 for sprint management improvements and provide feedback on the aggregate statistics implementation.
- Contribute to the discussion on backlink strategy for partners, particularly around text format filter approaches or safe content type implementations.
AI Agents Test
No merges or commits were pushed to the AI Agents Test module during the reporting period. Activity was limited to issue tracking, with one task issue remaining open: Run more than one test group in Bulk - Test Collections?, which proposes adding bulk operations functionality to execute multiple test groups simultaneously. The issue, opened by yautja_cetanu, suggests implementing either a Views-style checkbox interface or a tagging system for test groups to facilitate running collections of tests together—useful for automated testing workflows and comparing results across different AI models.
No blocking issues were identified during this period, and no contributors were actively working on merges or code changes.
How can I help on this project?
- Pick up the unassigned Run more than one test group in Bulk - Test Collections? issue and implement bulk operations for test groups using Views Bulk Operations or a custom tagging approach.
- Review the module's existing test infrastructure to identify opportunities for additional automation or testing improvements.
AI Agents
The AI Agents module saw significant progress over the past 24 hours with two important fixes merged and the 1.2.0 release roadmap closed.
Marcus Johansson (Marcus_Johansson) merged Use the new ai_tools_library form element for 'Default information tools' in the agent form, replacing the plain textarea in AiAgentForm with the new '#type' => 'ai_tools_library' form element introduced in AI module 1.4.0. This brings the agent form in line with the dedicated tools picker provided by Drupal\ai\Element\ToolsLibrary.
AKHIL BABU (AkhilBabu) fixed Default agent configs in config/install are outdated, updating the three shipped agent configurations (taxonomy_agent_config.yml, content_type_agent_triage.yml, and field_agent_triage.yml) to match the current config structure. The outdated files had been storing system_prompt and default_information_tools as quoted strings with escape sequences instead of proper YAML block scalars.
The Roadmap 1.2.0 release planning issue was closed, suggesting the release cycle is progressing toward completion.
How can I help on this project?
Review open issues in the AI Agents queue to identify bugs or features without merge requests. Test the recently merged ai_tools_library form element changes to ensure compatibility with existing agent configurations. Help document the updated config structure for default agent configurations.
Tool API
The Tool API project saw two new issues opened during the reporting period, both related to API compatibility with other modules.
Marcus Johansson (Marcus_Johansson) opened Add contextdefinitionoverrides to the ToolPluginBase and self-assigned it, marking it as needs review. The issue addresses a conflict where Tool API's override of getContextDefinitions prevents the AI module's OverridableFunctionCallInterface from ensuring unique context definition instantiations. The tasks checklist indicates contextDefinitionOverrides have been added to both getContextDefinitions and getContextDefinition methods in ToolPluginBase, though no commits or merge requests appear in the 24-hour window.
Stephan Huber (stmh) reported MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization, describing how Tool module's normalizers interfere with REST module's entity serialization when calling $serializer->normalize($entity, 'json'). The issue affects versions 1.0.0-alpha9, 1.0.0-beta1, and 1.0.x-dev. This issue remains unassigned with no activity beyond the initial report.
How can I help on this project?
- Investigate and propose a fix for MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization, which is unassigned and needs a solution to prevent normalizer conflicts.
- Review the implementation approach on Add contextdefinitionoverrides to the ToolPluginBase once a merge request is posted.
Drupal Canvas
Canvas merged significant improvements this period. Ben Mullins (bnjmnm) completed the react-hook-form integration, refactoring prop and page data forms to eliminate unnecessary rerenders and treat props as immutable—a prerequisite for React 19 compatibility. Ted Bowman (tedbow) shipped translation preview mode, adding a language selector dropdown to the Canvas UI that allows previewing non-default language content without entering edit mode. The Page Regions HTTP API landed via wotnak's work, exposing GET, POST, PATCH, and DELETE endpoints on the internal config routes to support CLI and Workbench management. Ignacio Sánchez Holgueras (isholgueras) fixed CI breakage caused by Symfony security releases by adopting COMPOSER_NO_BLOCKING.
Active development continues on symmetric translation features. Christian López Espínola (penyaskito) is addressing component instance version propagation across translations and advancing the entity reference selection backend APIs (under security review). Multiple MRs remain in review: isholgueras on cardinality reduction handling, Bálint Kléri (balintbrews) on responsive image upscaling, and wotnak on global layout management in Workbench.
How can I help on this project?
Review Christian López Espínola's MR !1163 for symmetric translation version propagation or MR !1112 for entity reference backend APIs. Test Bálint Kléri's responsive image fix. Pick up the unassigned TextProcessed attachments bug, which has no MR yet.
Context Control Center (CCC)
The last 24 hours saw primarily planning and assignment activity within the AI Context module. Three performance-related issues were opened and assigned to Abhisek Mazumdar (abhisekmazumdar), all following up from earlier work. These focus on the CCC Non-Agent `match_all` Convenience API, where AiContextRequestFactory::fromParameters() can accidentally trigger full-catalog scans; Conditional Subcontext Provider Calls, which examines latency from synchronous provider chat() calls in AiContextSubcontextResolver::resolveConditionalChildren(); and CCC Usage Tracking Query/Save Pattern, analyzing the per-context entity operations in AiContextUsageTracker::recordUsage(). All three require verification and RC1 versus post-1.0 prioritization decisions.
Two UI-focused issues also saw activity. Work began on CCC optional feature suggestions in UI with MR !162 already opened by Kristen Pol (kepol), adding an extensions page to highlight optional integrations like Diff and Document Loader. Additionally, discussion issues around taxonomy handling and scope plugin boundaries remain open for community input.
How can I help on this project?
Review the open MR !162 for the extensions page to provide feedback on the UI approach. Help verify and prioritize the three performance issues assigned to abhisekmazumdar by testing the described scenarios. Pick up Update context view page per new design, which has design comps ready but needs implementation.
Field Widget Actions
Activity over the past 24 hours focused on improving configuration flexibility for Field Widget Actions. Andy Marquis (apmsooner) opened MR !15 to address Allow "Multiple" to be configured in widget, introducing 271 lines of changes. This feature allows users to configure the "multiple" property at the widget level rather than duplicating plugins for different LLM prompt scenarios. The property controls whether action buttons appear per form item or per field.
The Add interactive refinement capability to Field Widget Actions issue also saw updates during the period. This feature, with an existing MR !19 from Edward Zwart (ezeedub), aims to bridge the gap between fully automated content generation and user-controlled refinement by enabling iterative improvements to AI-generated content without re-running entire automator processes.
No commits were merged during this 24-hour window. Progress on the multiple configuration feature depends on review and feedback for MR !15, while the interactive refinement capability remains in needs work status.
How can I help on this project?
References
[1] Adopt symfony/ai component v0.8 as platform provider
[2] Make API explorer work with Symfony platform and legacy providers
[5] Global LLM-based guardrails cause infinite recursive LLM calls (no re-entrancy guard)
[8] Add interactive refinement capability to Field Widget Actions
[9] Fix 1.x error messages in phpstan
[22] Resolve "Global LLM-based guardrails cause infinite recursive LLM calls (no re-entrancy guard)"
[23] Resolve "Global LLM-based guardrails cause infinite recursive LLM calls (no re-entrancy guard)"
[25] Resolve "Fix 1.x error messages in phpstan"
[41] Default agent configs in config/install are outdated
[42] Use the new ai_tools_library form element for 'Default information tools' in the agent form
[44] Issues/3586028
[52] Manage props/page data forms with react-hook-form
[55] Backend APIs for Entity Reference Selection
[58] Create a preview mode for non-default languages
[60] Symmetric translation: component instance version updates must propagate to all translations
[70] feat: #3585354 add content-entity-types / fields endpoints for entity reference selection UI
[74] #3562896 React Hook Form integration.
[85] #3585452 Create preview for translations
[101] Add interactive refinement capability to Field Widget Actions
[103] feat: #3547306 Add interactive refinement capability to Field Widget Actions