[PENDING] [WIP] Agent workflow to update Documentation#2550
[PENDING] [WIP] Agent workflow to update Documentation#2550anannya03 wants to merge 3 commits intomicrosoft:mainfrom
Conversation
Creates a GitHub Agentic Workflow that automatically triages new issues by: - Analyzing issue content to determine the relevant service area - Applying the correct service labels based on CODEOWNERS mapping - Assigning the appropriate codeowners to the issue - Posting a brief triage comment explaining the decision Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Creates a GitHub Agentic Workflow triggered on push to main that: - Analyzes diffs for MCP tool name, metadata, or functionality changes - Cross-references changes against azmcp-commands.md, e2eTestPrompts.md, and README.md - Files GitHub issues for documentation gaps found - Assigns issues to Copilot coding agent for implementation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jongio
left a comment
There was a problem hiding this comment.
Early feedback on this draft. A few things to tighten up before it's ready.
The doc-gap-detector uses permissions: read-all which is broader than needed - the issue-triage workflow scopes permissions correctly and is a good pattern to follow. There's also a safe-outputs/prompt mismatch on issue creation limits (details inline).
Minor note: issue-triage doesn't set timeout-minutes while doc-gap-detector does (15 min). Worth adding for consistency and to cap runaway agent sessions.
| branches: [main] | ||
| workflow_dispatch: | ||
|
|
||
| permissions: read-all |
There was a problem hiding this comment.
permissions: read-all grants read access to every permission scope. The issue-triage workflow scopes this correctly - consider doing the same here:
permissions:
contents: read
issues: writeThe workflow only needs to read repo contents (for diffs) and write issues (for filing doc gap issues). read-all includes scopes like security-events and organization-administration that aren't needed here.
| create-issue: | ||
| title-prefix: "[Docs]" | ||
| labels: ['documentation'] | ||
| max: 1 |
There was a problem hiding this comment.
max: 1 here conflicts with rule #4 in the prompt below ("Max 3 issues per run"). The safe-output limit will silently cap the agent at 1 issue regardless of what the prompt says. Either bump this to max: 3 to match the prompt, or update the prompt rule to say max 1.
| allowed: | ||
| - defaults | ||
| - github | ||
| - dotnet |
There was a problem hiding this comment.
Is dotnet network access needed here? This workflow analyzes diffs and creates issues - it doesn't build or run .NET code. If the agent doesn't need to reach NuGet or dotnet endpoints, dropping this tightens the network surface.
What does this PR do?
DRAFT PR: Needs a bunch a clean up and .md file update
[Add additional context, screenshots, or information that helps reviewers]GitHub issue number?
[Link to the GitHub issue this PR addresses]Pre-merge Checklist
servers/Azure.Mcp.Server/README.mdand/orservers/Fabric.Mcp.Server/README.mddocumentationREADME.mdchanges running the script./eng/scripts/Process-PackageReadMe.ps1. See Package READMEToolDescriptionEvaluatorand obtained a score of0.4or more and a top 3 ranking for all related test promptsconsolidated-tools.jsonbreaking-changelabelservers/Azure.Mcp.Server/docs/azmcp-commands.md./eng/scripts/Update-AzCommandsMetadata.ps1to update tool metadata inazmcp-commands.md(required for CI)servers/Azure.Mcp.Server/docs/e2eTestPrompts.mdcrypto mining, spam, data exfiltration, etc.)/azp run mcp - pullrequest - liveto run Live Test Pipeline