Skip to content
CSA Loom — the Microsoft Fabric experience for Azure tenants where Fabric isn't yet available: lakehouses, warehouses, notebooks, semantic models, Activator rules, Data Agents, across Commercial, GCC, GCC-High, and DoD IL5

Global parity gap: Copilot pane (top-right Sparkle button)

Validated: 2026-05-26
Surface: Sparkle icon in top-bar actions → opens Copilot side drawer (Ctrl+/ also opens)
Component: apps/fiab-console/lib/components/copilot-pane.tsx
Fabric reference: Microsoft Fabric Copilot side pane streams LLM responses (Azure OpenAI), grounded in workspace items
Backend probed: POST /api/copilot/orchestrate exists (route file present); other routes too (/api/copilot/sessions, /api/copilot/tools)

What renders

  • Sparkle button at top-right of global actions toolbar, aria-label="Open Copilot", tooltip "Copilot (Ctrl+/)"
  • Click → aside[aria-label="Copilot"] slides in from right, 380px wide, top-anchored under topbar
  • Pane has: header with Sparkle icon + "Copilot" title + "Ctrl + /" hint + close X
  • Body: scrollable message list with seed message ("Hi! I can help you…")
  • Composer: text input + send button

Functional probes (auth'd)

  • Click Sparkle → pane opens — PASS
  • Typed "Test message: do you call the orchestrate API?" + Send → response received in ~400ms
  • Response text:

    For "Test message: do you call the orchestrate API?", here's what I'd try:

    • Open the most relevant item editor. • Draft the KQL / DAX / T-SQL. • Wire an Activator rule if you want alerts.

    (Wire me to a real LLM by setting AZURE_OPENAI_ENDPOINT.)

  • ZERO calls to /api/copilot/orchestrate captured during the send (verified via browser_network_requests filter)

  • Code (line 99-111 of copilot-pane.tsx) literally hardcodes the templated response with setTimeout(400)
  • The code itself states in plain text: (Wire me to a real LLM by setting AZURE_OPENAI_ENDPOINT.)

What's broken

This is CLASSIC VAPORWARE per .claude/rules/no-vaporware.md: - The UI looks like real Copilot - The send button works - The response includes the user's text echoed back inside a templated reply - But NO LLM is called, NO API is hit, the entire interaction is a setTimeout + string template

The orchestrate route exists in the codebase. The pane code chooses not to use it.

Row-by-row matrix

Fabric element Loom: present Severity Notes
Sparkle button top-right YES
Ctrl+/ shortcut YES Works
Side pane slides in from right YES 380px wide, fixed
Seed greeting YES Hardcoded
Compose + send YES UI Button works
LLM response NO BLOCKER Mock template response, never calls the orchestrate API
Grounding indicators NO MAJOR Fabric shows "Grounded in: notebook-X"
Streaming NO MAJOR All-at-once mock
New session / clear chat NO MINOR

Grade: F (Vaporware)

Per no-vaporware.md this surface MUST either (a) wire to /api/copilot/orchestrate (which already exists) and stream real Azure OpenAI responses, or (b) be removed from chrome entirely and replaced with a button that says "Copilot — coming soon" + a MessageBar with the env var to set.

The code admits its own vaporware status in a literal sentence inside the templated response. This needs immediate attention.