Repository navigation
Integrate Agent Framework harness into QA bot - #17496
Open
Jiaqi Zhang (JiaqiZhang-Dev) wants to merge 2 commits into
Open
Jiaqi Zhang (JiaqiZhang-Dev) wants to merge 2 commits into
Jiaqi Zhang (JiaqiZhang-Dev) wants to merge 2 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
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. |
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved critical issues break hosted startup and expose credentials and private session data through unrestricted shell access, shared result storage, and untrusted-text spotlighting bypasses.
7 open issues
Dockerfiles omit the middleware package · New Prompt lookup fails in the hosted Docker layout · New Memory reads and grep results bypass spotlighting · New Mixed text-and-image results bypass spotlighting · New Shared result store exposes data across sessions · New Local shell execution is not isolated from host access · New Large results link to files the agent cannot read · New
What changed in this PR
This PR advances #17491 by moving the hosted chat agent onto the Microsoft Agent Framework harness and replacing custom MCP result parsers with shared middleware.
Changes:
- Adds harness-managed file access, shell execution, session memory, skills, and context compaction.
- Separates tool-output security from large-result storage across agent entrypoints.
- Updates dependencies, tests, and guidance for inspecting stored results.
Paths below are relative to tools/sdk-ai-bots/azure-sdk-qa-bot-agent/.
| File | Description |
|---|---|
utils/tool_security.py |
Removes the previous security middleware module. |
utils/azure_ai_foundry.py |
Adds the shared hosted harness factory. |
tools/mslearn_mcp_tools.py |
Removes custom result-parser registration. |
tools/github_mcp_tools.py |
Removes GitHub-specific filtering and compaction parsers. |
tools/azsdk_mcp_tools.py |
Removes custom result-parser registration. |
tools/ado_mcp_tools.py |
Removes custom result-parser registration. |
tools/__init__.py |
Removes shared MCP truncation logic. |
tests/tool_security_test.py |
Removes tests for the previous middleware. |
tests/tool_output_storage_test.py |
Tests normalization, offloading, and middleware composition. |
tests/tool_output_security_test.py |
Tests spotlighting and tool exemptions. |
tests/tenant_config_test.py |
Updates skill-discovery tests for framework APIs. |
tests/mslearn_mcp_tools_test.py |
Updates expected MCP configuration. |
tests/mcp_parser_test.py |
Removes legacy truncation-parser tests. |
tests/github_mcp_parser_test.py |
Removes GitHub-specific parser tests. |
tests/agent_harness_test.py |
Adds harness-provider and shell tests. |
skills/chat_agent/pr-review/SKILL.md |
Updates guidance for inspecting stored results. |
SECURITY.md |
Updates the middleware link and description. |
requirements.txt |
Updates framework and MCP dependencies. |
prompts/harness_instruction.md |
Adds shared harness and context-management guidance. |
middleware/tool_output_storage.py |
Stores large results and returns file references. |
middleware/tool_output_security.py |
Adds relocated spotlighting with harness exemptions. |
middleware/__init__.py |
Introduces the middleware package. |
agents/chatbot_evolution_agent/init.py |
Registers security and storage middleware. |
agents/chat_agent/init.py |
Adopts the harness and agent-managed history. |
agents/azure_mcp_server_agent/init.py |
Updates skill loading and middleware registration. |
Review effort: Balanced
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Validation
pip checkandgit diff --checkpassedRelates to #17491