You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: Give copilot-oce agent access the Loop integration pipeline, and let it check correct channel for pipeline messages (#26833)
## Description
Add the `ado-office` MCP server and Loop-FF integration pipeline
monitoring to the FF Client OCE agent and dashboard.
Previously, the agent could only query ADO pipelines in the
`fluidframework` org. The Loop-FF integration pipeline (def 29163) lives
in `office/OC`, so it was invisible to the dashboard. This adds:
- A second ADO MCP server (`ado-office`) targeting the `office` org
- Explicit `MCP Server` column in the pipeline definitions table
- A new dashboard agent (Agent 3) that checks the last 5 Loop-FF
integration builds and flags failures
- Pipeline monitoring instructions for the Loop-FF integration pipeline
in the OCE task list
- Corrected Teams channel ID for pipeline alert monitoring (FF Client
OCE channel instead of FF Hot)
## Reviewer Guidance
- Changes are limited to two `.repoverlay` agent/skill markdown files —
no production code.
- To test: select the `ff-oce` agent and say "generate shift dashboard".
Confirm the dashboard now includes a **Loop-FF Integration Pipeline**
section alongside the existing pipeline health table.
- The `ado-office` MCP server uses the same `agency mcp ado` command as
the existing `ado` server, just pointed at a different org.
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Loop-FF integration | 29163 |`office/OC`|`ado-office`|`Build And Run E2E Tests`, `Build And Run Unit Tests`, `Lint and Type Check`|
91
+
92
+
**ADO MCP servers:** Two ADO MCP servers are configured — `ado` (for `fluidframework` org) and `ado-office` (for `office` org). When querying pipelines in `office/OC` (e.g., Loop-FF integration pipeline def 29163), use the `ado-office` MCP server tools. All other pipelines use the default `ado` tools.
@@ -161,6 +168,8 @@ This section covers the tasks you may perform. You are not limited to these —
161
168
162
169
-**Monitor key pipelines**: Check Build (def 12), E2E (def 56), and Stress (def 63) pipelines for `main` and `lts` branches. Focus on `stress_tests_frs`, `e2e_azure_client_frs`, and `e2e_azure_client_local_server` stages. Compare with historical health to distinguish new failures from ongoing flakiness.
163
170
171
+
-**Monitor the Loop-FF integration pipeline**: Check the Loop-FF integration pipeline (def 29163 in `office/OC`, use `ado-office` MCP tools) for recent failures. This pipeline runs on `master` and validates that the latest FF packages don't break office-bohemia. Use `ado-office-pipelines_get_builds` with `definitions: [29163]` and `project: "OC"` to list recent runs. Summarize results (passed/failed, failed stage, error). A failing integration pipeline means the next FF bump to Loop is likely to break — flag this to the OCE and recommend investigating the failing stage logs.
172
+
164
173
-**Respond to Geneva pipeline alerts**: Find the TSG, walk through it, and help author a Kusto query showing error rate over time to demonstrate impact and resolution.
165
174
166
175
-**Monday morning: Test Stability check**: Remind the engineer to check `fluidnotification` DL for Test Stability pipeline failure emails (weekend-only pipeline, no IcM — email only).
@@ -173,7 +182,7 @@ This section covers the tasks you may perform. You are not limited to these —
173
182
174
183
-**Kusto investigation**: Use the **ff-oce-kusto** skill for all telemetry work. This can range from basic information-gathering queries to extensive back-and-forth deep dives to root-cause a problem.
175
184
176
-
-**Escalate to FF area experts**: Help compose a Teams message for FF Hot/FF Client channel summarizing the symptom, data gathered, hypothesis, and specific question. Tag appropriate subsystem owners (loader, runtime, driver, summarizer).
185
+
-**Escalate to FF area experts**: Help compose a Teams message for FF Client OCE channel summarizing the symptom, data gathered, hypothesis, and specific question. Tag appropriate subsystem owners (loader, runtime, driver, summarizer).
177
186
178
187
-**Assess error severity**: Given an error type (e.g., `DataCorruptionError`, connectivity drops, 429s), help assess per-session and per-document impact, and whether sessions recover. Design targeted Kusto queries to answer these questions.
179
188
@@ -195,9 +204,9 @@ This section covers the tasks you may perform. You are not limited to these —
195
204
3. Run the integration pipeline (Office/OC def 29163) on `master` with the FF Build Number.
196
205
4. If it passes, changes are safe to merge.
197
206
198
-
-**Audit bump pipeline alerts in FF Hot channel**: The integration pipeline posts failure alerts to the FF Hot Teams channel. Audit, acknowledge, and resolve these each shift.
207
+
-**Audit bump pipeline alerts in FF Client OCE channel**: The integration pipeline posts failure alerts to the FF Client OCE Teams channel. Audit, acknowledge, and resolve these each shift.
199
208
200
-
**Finding alerts:** Use `ListChannelMessages` (not `SearchTeamsMessages`) on the FF Hot channel. Filter for messages where `from.id` is `azuredevops@microsoft.com`. Look back at most 2 weeks (one shift length).
209
+
**Finding alerts:** Use `ListChannelMessages` (not `SearchTeamsMessages`) on the FF Client OCE channel. Filter for messages where `from.id` is `azuredevops@microsoft.com`. Look back at most 2 weeks (one shift length).
201
210
202
211
**Classifying alert status:**
203
212
-**Acknowledged**: Has a text reply or positive emoji reaction (✅, ☑️, 👍, 👀).
@@ -216,7 +225,7 @@ This section covers the tasks you may perform. You are not limited to these —
216
225
217
226
-**Draft RCA/Postmortem**: Cover timeline, root cause, impact, mitigation steps, and follow-up action items. Remind the engineer about the RCA-required flag.
218
227
219
-
-**Compose expert engagement messages**: Draft concise messages for FF Client/FF Hot channels — symptom, data, hypothesis, and specific question.
228
+
-**Compose expert engagement messages**: Draft concise messages for FF Client OCE channel — symptom, data, hypothesis, and specific question.
220
229
221
230
-**Respond to "Request Assistance"**: Draft an initial acknowledgment that sets expectations, asks for missing context, and signals investigation is beginning.
Copy file name to clipboardExpand all lines: .repoverlay/library/ff-oce/.claude/skills/ff-oce-dashboard/SKILL.md
+14-6Lines changed: 14 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ Before gathering any data, use the `ask_user` tool:
22
22
- If **Yes**: proceed to Step 1. Present the dashboard in the console.
23
23
- If **Yes, and write it to a file**: proceed to Step 1. Write the dashboard to `oce-dashboard-<YYYYMMDD-HHmmss>.md` in the current working directory instead of printing it to the console. Just confirm the filename when done.
24
24
25
-
### Step 1: Launch 5 background agents in parallel
25
+
### Step 1: Launch 6 background agents in parallel
26
26
27
27
Use the `task` tool with `mode: "background"` for each. Instruct each agent to **always terminate** — either return its results or respond with "FAILED: \<reason\>" if the tool call errors or auth fails. Agents must never hang or retry indefinitely.
28
28
@@ -36,7 +36,11 @@ Call `icm-search_incidents_by_owning_team_id` for each team: **98481** (FF Hot),
36
36
37
37
Call `ado-pipelines_get_builds` for each pipeline definition (**12** = Build, **56** = E2E, **63** = Stress) with `project: "internal"`, `branchName: "refs/heads/main"`, `statusFilter: "Completed"`, `top: 3`, `queryOrder: "FinishTimeDescending"`. Result codes: **2** = ✅, **4** = ⚠️, **8** = ❌. Report build ID, result, finish time, and overall trend.
38
38
39
-
#### Agent 3 — Kusto Error Rates
39
+
#### Agent 3 — Loop-FF Integration Pipeline
40
+
41
+
Call `ado-office-pipelines_get_builds` with `project: "OC"`, `definitions: [29163]`, `top: 5`, `queryOrder: "FinishTimeDescending"`. **Important:** Use the `ado-office` MCP server tools (NOT the default `ado` tools) — this pipeline is in the `office` ADO org, not `fluidframework`. Result codes: **2** = ✅, **4** = ⚠️, **8** = ❌. Report build ID, result, finish time, branch, and build number. Flag any failures — a failing integration pipeline means the next FF bump to Loop will break.
42
+
43
+
#### Agent 4 — Kusto Error Rates
40
44
41
45
Do **not** load the ff-oce-kusto skill. Call `kusto-kusto_query` with `cluster_uri: "https://kusto.aria.microsoft.com"`, `database: "6a8929bcfc6d44e9b13fee392ada9cf0"`, and this query:
If it fails, retry with a simple `summarize ErrorCount = count()` fallback (no `by` clause). Report as a table: Partner, Error Count.
52
56
53
-
#### Agent 4 — Teams Pipeline Alerts
57
+
#### Agent 5 — Teams Pipeline Alerts
54
58
55
-
Call `teams-ListChannelMessages` with teamId `9ce27575-2f82-4689-abdb-bcff07e8063b`, channelId `19:07c78dc203f74d24a204f097ffa0fd6b@thread.skype`, top 50. Filter for messages from Azure DevOps in the last 2 weeks. Classify each as **Acknowledged** (has a text reply or ✅/☑️/👍/👀 reaction), **Resolved** (reply confirming fix), or **Unacknowledged** (no replies, no meaningful reactions). Report: Date, Description, Status, Action Needed.
59
+
Call `teams-ListChannelMessages` with teamId `9ce27575-2f82-4689-abdb-bcff07e8063b`, channelId `19:25dabf309c5c42a7abe4647c7c1b7990@thread.skype`, top 50. Filter for messages from Azure DevOps in the last 2 weeks. Classify each as **Acknowledged** (has a text reply or ✅/☑️/👍/👀 reaction), **Resolved** (reply confirming fix), or **Unacknowledged** (no replies, no meaningful reactions). Report: Date, Description, Status, Action Needed.
56
60
57
-
#### Agent 5 — WorkIQ
61
+
#### Agent 6 — WorkIQ
58
62
59
63
Call `workiq-ask_work_iq`: "Do I have any pending emails, action items, or meeting follow-ups related to Fluid Framework, FF Client, FF Hot, or Fluid Relay from the last week?" Summarize any actionable items.
60
64
@@ -78,11 +82,15 @@ Generated: <timestamp>
78
82
| Pipeline | Run 1 | Run 2 | Run 3 | Trend |
79
83
| --- | --- | --- | --- | --- |
80
84
85
+
### 🔗 Loop-FF Integration Pipeline (last 5 runs)
86
+
| Build ID | Branch | Result | Finished | Build Number | Notes |
87
+
| --- | --- | --- | --- | --- | --- |
88
+
81
89
### 📊 Error Rates (last 1h)
82
90
| Partner | Error Count | Notes |
83
91
| --- | --- | --- |
84
92
85
-
### 🔔 Integration Pipeline Alerts (FF Hot, last 2 weeks)
0 commit comments