task(AI): #3592060 Canvas AI: Update orchestrator for content-only / page-variant chrome

Summary

After page variants supply site chrome, the Canvas AI orchestrator still described and routed as if page/template builders place headers and footers. This MR updates the orchestrator install config so builders are content-only, adds a post-update that reimports system_prompt, and extends the existing kernel post-update test.

Closes #3592060.

Follow-up to #3592030 / !1624 (this MR is based on 1.x independently).

What changed

  • modules/canvas_ai/config/install/ai_agents.ai_agent.canvas_ai_orchestrator.yml: template-builder tool blurb no longer promises headers/footers; Rule #7 no longer routes "add a header/footer" to the page builder; new Rule #9 teaches page-variant chrome; capability list and Examples 16–17 match that story (create page + header → template builder for the page body only + explain chrome; add header alone → no builder call).
  • modules/canvas_ai/canvas_ai.post_update.php: canvas_ai_post_update_0012_reimport_orchestrator_content_only_chrome() sets only system_prompt from config/install so uuid/_core survive.
  • CanvasAiOrchestratorPostUpdateTest::testPostUpdate0012RefreshesOrchestratorPrompt() covers the reimport.

Out of scope (per the issue): placement-tool region param / multi-region eval cases.

Testing instructions

  • composer run phpunit -- modules/canvas_ai/tests/src/Kernel/CanvasAiOrchestratorPostUpdateTest.php
  • Confirm the active orchestrator prompt (after drush updb or a fresh install) no longer routes "Add a header to this page" to canvas_page_builder_agent, and that "Create a blog page… Add a header as well" calls the template builder for the page body only and explains that chrome comes from the page variant.
  • composer run lint

AI use disclosure

Per Drupal's policy on the use of AI when contributing: this MR was developed with AI assistance (Cursor / Composer). The author reviewed every change and can explain it, and ran the new/updated kernel post-update test locally before opening this draft.

Merge request reports

Loading