Skip to content

Pipeline analysis - #16300

Merged
Daniel Jurek (danieljurek) merged 23 commits into
mainfrom
pipeline-analysis
Jul 14, 2026
Merged

Pipeline analysis#16300
Daniel Jurek (danieljurek) merged 23 commits into
mainfrom
pipeline-analysis

Conversation

@ReilleyMilne

@ReilleyMilne ReilleyMilne (ReilleyMilne) commented Jul 8, 2026

Copy link
Copy Markdown
Member
  • Separated the azsdk-common-pipeline-troublshooting skill into two separate skills one for analysis and one for fixing.
  • Added a new skill azsdk-common-pipeline-fixer, which automatically applies and verifies fixes for Azure SDK CI/CD pipeline failures.
  • Refined and expanded evaluation suites for both skills to ensure correct routing of user prompts: fixer skill triggers on "fix/apply" requests, while analysis skill triggers only on diagnosis requests.
  • Added more explicit failure messages to the PipelineIdentiferHelper to fail early when a valid project name is not given.

Fixes: #16200
Fixes: #16204

@ReilleyMilne
ReilleyMilne (ReilleyMilne) requested a review from a team as a code owner July 8, 2026 17:06
Copilot AI review requested due to automatic review settings July 8, 2026 17:06
@ReilleyMilne
ReilleyMilne (ReilleyMilne) marked this pull request as draft July 8, 2026 17:06
@github-actions github-actions Bot added the azsdk-cli Issues related to Azure/azure-sdk-tools::tools/azsdk-cli label Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

📊 GEPA Skill Quality Scores

Skill Quality Triggers Tests
azsdk-common-pipeline-analysis ⚠️ 0.57 N/A ---
azsdk-common-pipeline-fixer ⚠️ 0.57 N/A ---
sensei ⚠️ 0.57 N/A ---
azsdk-common-prepare-release-plan ✅ 0.86 N/A ---
azsdk-common-apiview-feedback-resolution ✅ 1.00 N/A ---
azsdk-common-generate-sdk-locally ✅ 1.00 N/A ---
azsdk-common-generate-sdk-pipeline ✅ 1.00 N/A ---
azsdk-common-sdk-release ✅ 1.00 N/A ---
azure-typespec-author ✅ 1.00 N/A ---
markdown-token-optimizer ✅ 1.00 N/A ---
sdk-ai-bot-eval-dataset ✅ 1.00 N/A ---
sdk-ai-bot-run-evaluation ✅ 1.00 N/A ---
skill-authoring ✅ 1.00 N/A ---

10/13 skills at quality ≥ 0.80

How to improve
# Score a specific skill
python .github/skills/sensei/scripts/gepa/auto_evaluator.py score --skill <name> --skills-dir .github/skills --tests-dir tests

# Optimize a skill with GEPA
python .github/skills/sensei/scripts/gepa/auto_evaluator.py optimize --skill <name> --skills-dir .github/skills --tests-dir tests

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the Azure.Sdk.Tools.Vally evaluation coverage for pipeline troubleshooting/fixing by adding a new “quality” tier, updating the canonical mock pipeline failure fixture to a real-world storage version-parsing bug, and splitting pipeline capabilities into analysis-only vs fix-and-verify skills.

Changes:

  • Add output-quality pipeline evals (analyze + fix) and include them in the Vally PR-gate suite.
  • Update the mock azsdk_analyze_pipeline handler and related Vally scenarios/fixtures to use the QueueClientOptions service-version parsing failure.
  • Introduce azsdk-common-pipeline-fixer and adjust the existing troubleshooting skill to be analysis-only with a structured output format.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tools/azsdk-cli/Azure.Sdk.Tools.Vally/README.md Documents the new evals/quality tier and updated scenario inventory/layout.
tools/azsdk-cli/Azure.Sdk.Tools.Vally/fixtures/analyze-pipeline/QueueClientOptionsTests/code/QueueClientOptionsTests.cs Adds the canonical failing test fixture for the pipeline “fix” eval.
tools/azsdk-cli/Azure.Sdk.Tools.Vally/fixtures/analyze-pipeline/QueueClientOptionsTests/code/QueueClientOptions.cs Adds the canonical failing source fixture (missing switch cases) used by pipeline evals.
tools/azsdk-cli/Azure.Sdk.Tools.Vally/fixtures/.gitkeep Updates fixture path guidance for environment.files overlays.
tools/azsdk-cli/Azure.Sdk.Tools.Vally/evals/workflow-scenarios/mock/analyze-failed-pipeline.eval.yaml Aligns the mock workflow-scenario grader substring with the new canonical failure.
tools/azsdk-cli/Azure.Sdk.Tools.Vally/evals/tools/prompt-to-tool-pipeline.eval.yaml Adds pipeline-failure routing stimuli (required/disallowed tool routing).
tools/azsdk-cli/Azure.Sdk.Tools.Vally/evals/quality/pipeline/fix-pipeline.eval.yaml New output-quality eval that requires applying the code fix and verifying via package MCP tools.
tools/azsdk-cli/Azure.Sdk.Tools.Vally/evals/quality/pipeline/analyze-pipeline.eval.yaml New output-quality eval that requires a correct root-cause diagnosis from build ref.
tools/azsdk-cli/Azure.Sdk.Tools.Vally/.vally.yaml Adds a quality suite and includes it in pr-gate.
tools/azsdk-cli/Azure.Sdk.Tools.Mock/Handlers/Pipeline/AnalyzeAndArtifactsHandlers.cs Updates the mock azsdk_analyze_pipeline output to the canonical fixture failure.
tools/azsdk-cli/Azure.Sdk.Tools.Cli/Helpers/PipelineIdentifierHelper.cs Adjusts project-name resolution logic for DevOps build references.
.github/skills/README.md Documents the new pipeline fixer skill and refines troubleshooting description.
.github/skills/azsdk-common-pipeline-troubleshooting/SKILL.md Repositions the skill as analysis-only (“Pipeline Analysis”) and updates tools/steps.
.github/skills/azsdk-common-pipeline-troubleshooting/references/output-format.md Adds a required markdown output structure for pipeline diagnoses.
.github/skills/azsdk-common-pipeline-troubleshooting/references/failure-patterns.md Reworks failure pattern guidance into categorized tables (tests/build/validation/infra).
.github/skills/azsdk-common-pipeline-troubleshooting/evals/trigger.eval.yaml Updates trigger prompts and adds an anti-trigger for auto-fix requests.
.github/skills/azsdk-common-pipeline-troubleshooting/evals/eval.yaml Removes the old capability suite file.
.github/skills/azsdk-common-pipeline-fixer/SKILL.md Introduces a new skill for applying and verifying pipeline fixes.
.github/skills/azsdk-common-pipeline-fixer/references/language-notes.md Adds language-specific guidance for what build/check cover and what’s out-of-scope.
.github/skills/azsdk-common-pipeline-fixer/evals/trigger.eval.yaml Adds trigger/anti-trigger evals for the new fixer skill.
.github/skills/.vally.yaml Registers the new fixer skill’s eval path for skill-eval discovery.

Comment thread tools/azsdk-cli/Azure.Sdk.Tools.Cli/Helpers/PipelineIdentifierHelper.cs Outdated
Comment thread tools/azsdk-cli/Azure.Sdk.Tools.Vally/fixtures/.gitkeep Outdated
Removed unnecessary evaluation files and fixtures for pipeline analysis and fixing.
Updated and added skills files for pipeline analysis and fixing.
Updated skills/tools descriptions.
Deleted redundant eval in prompt-to-tool-pipeline.eval.yaml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@ReilleyMilne
ReilleyMilne (ReilleyMilne) marked this pull request as ready for review July 9, 2026 22:44
- Normalize mock eval scoring.weights to sum to 1.0 (matching the repo
  convention on main), while adding completed + skill-invocation to the
  weighted graders so skill routing is actually gated in both the
  analyze and fix mock evals.
- Correct stale doc references: mock handler evals path
  (evals/quality -> evals/workflow-scenarios/mock), Vally README
  double-slash link, and the ResolveProjectNameAsync XML summary to
  reflect that untrusted non-GUID names are rejected.
- Prettier-format the .github/skills/README.md skill table.
Comment thread tools/azsdk-cli/Azure.Sdk.Tools.Vally/README.md
@azure-sdk-automation

Copy link
Copy Markdown
Contributor

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

This was referenced Jul 14, 2026
Daniel Jurek (danieljurek) pushed a commit to Azure/azure-sdk-for-js that referenced this pull request Jul 14, 2026
Sync .github/skills directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#16300 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

---------

Co-authored-by: ReilleyMilne <reilleymilne@gmail.com>
Co-authored-by: ReilleyMilne <91291100+ReilleyMilne@users.noreply.github.com>
@danieljurek
Daniel Jurek (danieljurek) enabled auto-merge (squash) July 14, 2026 20:34
azure-sdk-automation Bot added a commit to Azure/azure-sdk-for-js that referenced this pull request Jul 14, 2026
Sync eng/common directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#16300 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

Co-authored-by: ReilleyMilne <reilleymilne@gmail.com>
azure-sdk-automation Bot added a commit to Azure/azure-sdk-for-rust that referenced this pull request Jul 14, 2026
Sync eng/common directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#16300 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

Co-authored-by: ReilleyMilne <reilleymilne@gmail.com>
@ReilleyMilne

Copy link
Copy Markdown
Member Author

/check-enforcer override

@danieljurek
Daniel Jurek (danieljurek) merged commit abef0d1 into main Jul 14, 2026
25 checks passed
@danieljurek
Daniel Jurek (danieljurek) deleted the pipeline-analysis branch July 14, 2026 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

azsdk-cli Issues related to Azure/azure-sdk-tools::tools/azsdk-cli

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refinements to analyize and fix skills Prototype Vally evaluation harness for pipeline analysis and fix quality

4 participants