Render Duo agentic chat from the duo_chat MFE behind a flag

What does this MR do and why?

Part 6b — the final product slice of the registry-direct MFE series: the Duo Chat consumer, first user of the runtime loader.

  • When mfe_duo_chat is enabled and the duo_chat app is baked, the Duo panel's agentic-chat routes render an adapter that mounts the MFE-published chat (loadMfeModule('duo_chat', 'mfe_duo_chat', 'DuoChatApp')) instead of the in-host implementation. Chrome and routes stay host-owned; the adapter shares the panel's Apollo client and page context.
  • Rollback is the flag. Registry problems (outage, checksum mismatch, SRI failure) degrade to the baked copy inside the loader (part 6a) without touching this surface.
  • Mount requires both flags: mfe_enabled (instance) and mfe_duo_chat (surface).

How to verify

yarn jest ee/spec/frontend/ai/duo_agents_platform/router/ai_panel_router.spec.js ee/spec/frontend/ai/duo_agentic_chat/components/mfe_duo_chat_adapter_spec.js

Live: enable mfe.enabled in gitlab.yml + both flags, bake duo_chat (rake gitlab:mfe:bake), open Duo Chat. A screen recording of the full chain (bake → runtime switch via admin UI → registry-down fallback) follows in this MR.

Stack

# Scope MR
1 Config section + instance kill switch !246732 (merged)
2 Vendor pin file + registry manifest schema + verified bake task !246736 (closed)
3 Version overrides table + resolver !246753 (closed)
4 Admin API + routes + sidebar !246758 (closed)
5 Admin UI (Vue) !246764 (closed)
6a Runtime loader: gon contract, manifest verification + SRI, baked fallback, CSP connect-src !246775 (closed)
6b Duo Chat consumer behind mfe_duo_chat this MR
7 Developer mode (local dev server + HMR) !246833 (closed)

Related to #605798.

Edited by Illya Klymov

Merge request reports

Loading