Skip to content

Commit 51544e1

Browse files
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>
1 parent 2d2e997 commit 51544e1

File tree

2 files changed

+34
-17
lines changed

2 files changed

+34
-17
lines changed

.repoverlay/library/ff-oce/.claude/agents/ff-oce.md

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ mcp-servers:
77
command: agency
88
args: ["mcp", "ado", "--organization", "fluidframework"]
99
tools: ["*"]
10+
ado-office:
11+
type: local
12+
command: agency
13+
args: ["mcp", "ado", "--organization", "office"]
14+
tools: ["*"]
1015
enghub:
1116
type: local
1217
command: agency
@@ -77,20 +82,22 @@ The OCE rotation covers **three IcM teams**. Always search all three when lookin
7782

7883
### ADO Pipeline Definitions
7984

80-
| Pipeline | Def ID | ADO Org/Project | Key Stages to Monitor |
81-
|---|---|---|---|
82-
| Build - client packages | 12 | `fluidframework/internal` | `build`, `run_checks`, `publish_npm_internal_*` |
83-
| E2E tests | 56 | `fluidframework/internal` | `e2e_odsp`, `e2e_local_server`, `e2e_azure_client_frs`, `e2e_azure_client_local_server` |
84-
| Stress tests | 63 | `fluidframework/internal` | `stress_tests_frs`, `stress_tests_tinylicious` |
85-
| Loop-FF integration | 29163 | `office/OC` | (external — run manually for pre-merge validation) |
85+
| Pipeline | Def ID | ADO Org/Project | MCP Server | Key Stages to Monitor |
86+
|---|---|---|---|---|
87+
| Build - client packages | 12 | `fluidframework/internal` | `ado` | `build`, `run_checks`, `publish_npm_internal_*` |
88+
| E2E tests | 56 | `fluidframework/internal` | `ado` | `e2e_odsp`, `e2e_local_server`, `e2e_azure_client_frs`, `e2e_azure_client_local_server` |
89+
| Stress tests | 63 | `fluidframework/internal` | `ado` | `stress_tests_frs`, `stress_tests_tinylicious` |
90+
| 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.
8693

8794
**ADO Build API result codes:** `result`: `2` = succeeded ✅, `4` = partiallySucceeded ⚠️, `8` = failed ❌. `status`: `1` = inProgress, `2` = completed.
8895

8996
### Teams Channels
9097

9198
| Channel | Team ID | Channel ID |
9299
|---|---|---|
93-
| FF Hot | `9ce27575-2f82-4689-abdb-bcff07e8063b` | `19:07c78dc203f74d24a204f097ffa0fd6b@thread.skype` |
100+
| FF Client OCE | `9ce27575-2f82-4689-abdb-bcff07e8063b` | `19:25dabf309c5c42a7abe4647c7c1b7990@thread.skype` |
94101

95102
### Access Groups & Prerequisites
96103

@@ -161,6 +168,8 @@ This section covers the tasks you may perform. You are not limited to these —
161168

162169
- **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.
163170

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+
164173
- **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.
165174

166175
- **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 —
173182

174183
- **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.
175184

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).
177186

178187
- **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.
179188

@@ -195,9 +204,9 @@ This section covers the tasks you may perform. You are not limited to these —
195204
3. Run the integration pipeline (Office/OC def 29163) on `master` with the FF Build Number.
196205
4. If it passes, changes are safe to merge.
197206

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.
199208

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).
201210

202211
**Classifying alert status:**
203212
- **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 —
216225

217226
- **Draft RCA/Postmortem**: Cover timeline, root cause, impact, mitigation steps, and follow-up action items. Remind the engineer about the RCA-required flag.
218227

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.
220229

221230
- **Respond to "Request Assistance"**: Draft an initial acknowledgment that sets expectations, asks for missing context, and signals investigation is beginning.
222231

.repoverlay/library/ff-oce/.claude/skills/ff-oce-dashboard/SKILL.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Before gathering any data, use the `ask_user` tool:
2222
- If **Yes**: proceed to Step 1. Present the dashboard in the console.
2323
- 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.
2424

25-
### Step 1: Launch 5 background agents in parallel
25+
### Step 1: Launch 6 background agents in parallel
2626

2727
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.
2828

@@ -36,7 +36,11 @@ Call `icm-search_incidents_by_owning_team_id` for each team: **98481** (FF Hot),
3636

3737
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.
3838

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
4044

4145
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:
4246

@@ -50,11 +54,11 @@ Office_Fluid_FluidRuntime_Error
5054

5155
If it fails, retry with a simple `summarize ErrorCount = count()` fallback (no `by` clause). Report as a table: Partner, Error Count.
5256

53-
#### Agent 4 — Teams Pipeline Alerts
57+
#### Agent 5 — Teams Pipeline Alerts
5458

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.
5660

57-
#### Agent 5 — WorkIQ
61+
#### Agent 6 — WorkIQ
5862

5963
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.
6064

@@ -78,11 +82,15 @@ Generated: <timestamp>
7882
| Pipeline | Run 1 | Run 2 | Run 3 | Trend |
7983
| --- | --- | --- | --- | --- |
8084
85+
### 🔗 Loop-FF Integration Pipeline (last 5 runs)
86+
| Build ID | Branch | Result | Finished | Build Number | Notes |
87+
| --- | --- | --- | --- | --- | --- |
88+
8189
### 📊 Error Rates (last 1h)
8290
| Partner | Error Count | Notes |
8391
| --- | --- | --- |
8492
85-
### 🔔 Integration Pipeline Alerts (FF Hot, last 2 weeks)
93+
### 🔔 Integration Pipeline Alerts (FF Client OCE channel, last 2 weeks)
8694
| Date | Description | Status | Action Needed |
8795
| --- | --- | --- | --- |
8896

0 commit comments

Comments
 (0)