Repository navigation
[Teams Chatbot] Add PR review workflow, improve GitHub MCP result analyzer - #17398
Conversation
Separate shared PR diagnostics, bounded GitHub log retrieval, evidence-gap searches, existing-tenant guidance and filters, and shared dev/test listeners from Stewardship onboarding. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
|
Azure Pipelines: Successfully started running 1 pipeline(s). 70 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
🟡 Changes recommended
Required sequential PR diagnostics conflict with the retained single-batch and limited-follow-up constraints.
1 open issue
What changed in this PR
Extracts shared chatbot diagnostics and listener changes from #17266 without adding the API Stewardship Board tenant. Production listeners remain team-specific.
Changes:
- Centralizes evidence-based PR investigation and updates tenant routing and retrieval guidance.
- Enables GitHub job-log retrieval with bounded diagnostic excerpts and parser tests.
- Shares Azure SDK listeners across dev/test team selections and removes redundant MCP parameter files.
Paths below are relative to tools/sdk-ai-bots/azure-sdk-qa-bot-agent/.
| File | Description |
|---|---|
tools/knowledge_tools.py |
Targets search queries to current evidence gaps. |
tools/github_mcp_tools.py |
Enables job logs and adds bounded overflow diagnostics. |
tests/tenant_config_test.py |
Tests shared workflow guidance and tenant scope. |
tests/knowledge_tools_test.py |
Tests updated search-query guidance. |
tests/github_mcp_parser_test.py |
Covers log excerpts, output limits, and redaction. |
skills/tenant_skills.py |
Removes permission-driven skill routing. |
prompts/tenants/api_spec_review.md |
Delegates PR diagnosis to shared guidance. |
pipelines/logicapp/parameters.azure_sdk.test.json |
Adds the shared MCP test-channel subscription. |
pipelines/logicapp/parameters.azure_sdk.dev.json |
Adds the shared MCP dev-channel subscription. |
pipelines/logicapp/parameters.azure_mcp_server.test.json |
Removes dedicated MCP test parameters. |
pipelines/logicapp/parameters.azure_mcp_server.dev.json |
Removes dedicated MCP dev parameters. |
pipelines/logicapp-cd.yml |
Resolves dev/test deployments to the shared listener. |
config/tenant_config.py |
Removes permission routing and broadens review engineering-doc retrieval. |
agents/chat_agent/instruction.md |
Centralizes PR diagnosis and conditional, evidence-based answers. |
Review effort: Balanced
Expand matching Q&A questions with their scoped answer sections in code for both retrieval tracks. Keep resolutions ahead of diagnostic logs within existing content budgets and check answer completeness and access evidence. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Restore the original SDK lifecycle recommendation after fixed-evidence replay reproduced its omission under fallback-only guidance. Update the existing prompt contract assertions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Retain embedded text with explicit shared-budget coverage metadata and unavailable-resource errors. Keep trusted-author redaction and expose existing Python Q&A only to the Python tenant. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Correct preview versioning, API/SDK lifecycle, TypeSpec suppression scope, Key Vault control-plane migration, automatic management SDK generation, and LRO header modeling. Preserve all questions and identities; publish versioned dev datasets and record the asset registry. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Local native-agent testing exposed an incorrect historical recommendation. Verify with a real in-memory azure-core pipeline that generated-operation errors raised after pipeline.run cannot be caught inside policy.next.send. Expect operation-level custom error-format wrapping instead, retain every input, and record the new dev Python dataset version. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 51c50bdd-a0cd-4d23-b7a1-b92f02400d4d
Preserve structured GitHub resource evidence handling alongside upstream authentication and embedded-resource redaction. Adapt upstream parser regression tests to the bounded GitHub output contract. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
Diagnostic budgeting can exceed the response cap and suppress later actionable records, while the promised Python Q&A source remains unregistered and unavailable to default searches.
3 open issues
1 resolved since last review
Review effort: Balanced
|
Evaluation completed against the dev agent for this branch ( The run covered 289 cases. 166 cases were graded; the other 123 TypeSpec cases returned answers but could not be graded because the Foundry result upload exceeded its size limit.
I also manually compared paired bot answers. The PR shows real, user-visible improvements in several cases:
Conclusion: this PR demonstrates meaningful improvements in the targeted retrieval and process-answering cases, especially exact remediation and source-of-truth guidance. The overall composite pass rate improved by 1.20 percentage points, with gains in similarity and response completeness while maintaining 100% relevance, coherence, and fluency. |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Resolved issues: https://github.com/Azure/azure-sdk-pr/issues/3115, https://github.com/Azure/azure-sdk-pr/issues/3182
Problems
What changed
Preserved: existing read-only safeguards and response limits.