-
Notifications
You must be signed in to change notification settings - Fork 88
Issue #1085: Prefer AZD pattern modules first, fallback to AVM modules #1092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
jongio
merged 11 commits into
microsoft:main
from
jongio:fix/1085-prefer-avm-modules-in-skills
Mar 3, 2026
+216
−7
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
563c504
fix(issue-1085): enforce AVM+AZD-first guidance and add deploy waza
jongio eb384b7
test(agent-runner): restore SDK permission handler compatibility
jongio a88864c
fix(pr-1092): address review feedback and strengthen graders
jongio 15797ac
fix(pr-1092): address new copilot review threads
jongio 39a5be9
fix(ci): restore azure-deploy post-deploy guidance
jongio 170758a
test: use copilot-sdk approveAll constant
jongio 4edc352
docs: restore azure-deploy verify reference link
jongio 4f3f630
fix(pr-1092): address copilot trigger and emoji feedback
jongio b543cb8
Trim PR #1092 to AVM-focused changes
jongio f14f49f
Remove non-AVM scope changes from PR
jongio 7c08287
fix: bump skill versions for AVM scope
jongio File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
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
33 changes: 32 additions & 1 deletion
33
plugin/skills/azure-prepare/references/recipes/azd/iac-rules.md
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| # Waza eval specification for azure-deploy skill | ||
| # Focuses on deploy-time AVM guidance and fallback behavior from issue #1085. | ||
| name: azure-deploy-eval | ||
| description: | | ||
| Evaluation suite for the azure-deploy skill. | ||
| Tests deployment guidance quality with emphasis on: | ||
| - AVM+AZD pattern-module preference | ||
| - AVM fallback when no pattern module exists | ||
| - deploy-only routing (not prepare/validate) | ||
| skill: azure-deploy | ||
| version: "1.0" | ||
|
|
||
| config: | ||
| trials_per_task: 3 | ||
| timeout_seconds: 420 | ||
| parallel: false | ||
| executor: mock | ||
| model: claude-sonnet-4-20250514 | ||
|
|
||
| metrics: | ||
| - name: task_completion | ||
| weight: 0.4 | ||
| threshold: 0.8 | ||
| description: Did the skill complete a deploy-focused request? | ||
|
|
||
| - name: trigger_accuracy | ||
| weight: 0.3 | ||
| threshold: 0.85 | ||
| description: Does the skill trigger on deploy prompts and avoid prepare-only prompts? | ||
|
|
||
| - name: behavior_quality | ||
| weight: 0.3 | ||
| threshold: 0.75 | ||
| description: Does output preserve AVM+AZD preference and AVM fallback order? | ||
|
|
||
| graders: | ||
| - type: code | ||
| name: has_output | ||
| config: | ||
| assertions: | ||
| - "len(output) > 10" | ||
|
|
||
| - type: regex | ||
| name: no_runtime_failure | ||
| config: | ||
| must_not_match: | ||
| - "(?i)fatal error|exception occurred|crashed" | ||
|
|
||
| tasks: | ||
| - "tasks/*.yaml" |
42 changes: 42 additions & 0 deletions
42
tests/azure-deploy/eval/tasks/avm-fallback-no-pattern.yaml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # Task: If no AVM+AZD pattern module exists, stay in AVM modules | ||
| id: avm-fallback-no-pattern-001 | ||
| name: AVM Fallback When No AZD Pattern | ||
| description: | | ||
| Validate deploy guidance states that if no AVM+AZD pattern module exists, | ||
| the fallback remains AVM resource then AVM utility modules. | ||
|
|
||
| tags: | ||
| - deploy | ||
| - bicep | ||
| - avm | ||
| - fallback | ||
|
|
||
| inputs: | ||
| prompt: | | ||
| I'm deploying with Bicep and there is no AVM+AZD pattern module for my scenario. | ||
| What module order should I follow if no pattern module exists and fallback must stay AVM resource modules then AVM utility modules? | ||
| context: | ||
| phase: deploy | ||
| iac: bicep | ||
| no_pattern_module: true | ||
|
|
||
| expected: | ||
| outcomes: | ||
| - type: task_completed | ||
| output_contains: | ||
| - "AVM" | ||
| - "resource" | ||
| - "utility" | ||
|
|
||
| graders: | ||
| - name: explicit_no_pattern_fallback | ||
| type: regex | ||
| config: | ||
| must_match: | ||
| - "(?is)(no .*pattern module|if no .*pattern).*AVM.*resource.*AVM.*utility" | ||
|
|
||
| - name: avoids_non_avm_fallback | ||
| type: regex | ||
| config: | ||
| must_not_match: | ||
| - "(?i)fallback to non-AVM|use non-AVM modules" |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # Task: Deploy guidance prefers AVM+AZD pattern modules | ||
| id: avm-order-bicep-001 | ||
| name: AVM+AZD Priority - Bicep Deploy | ||
| description: | | ||
| Validate deploy guidance prefers AVM+AZD pattern modules first, | ||
| followed by AVM resource and utility modules for Bicep paths. | ||
|
|
||
| tags: | ||
| - deploy | ||
| - bicep | ||
| - avm | ||
| - azd | ||
|
|
||
| inputs: | ||
| prompt: | | ||
| My app is already prepared and validated. | ||
| Give me deploy guidance and module preference order for Bicep. | ||
| Prefer AVM+AZD patterns where available, with fallback to AVM resource modules and AVM utility modules. | ||
| context: | ||
| phase: deploy | ||
| iac: bicep | ||
|
|
||
| expected: | ||
| outcomes: | ||
| - type: task_completed | ||
| output_contains: | ||
| - "AVM" | ||
| - "deploy" | ||
| - "pattern" | ||
|
|
||
| graders: | ||
| - name: avm_pattern_first | ||
| type: regex | ||
| config: | ||
| must_match: | ||
| - "(?i)AVM\\+AZD|AZD pattern|pattern modules" | ||
|
|
||
| - name: includes_resource_and_utility_fallback | ||
| type: regex | ||
| config: | ||
| must_match: | ||
| - "(?is)(AVM\\+AZD|AZD pattern|pattern modules).*resource modules.*utility modules" |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # Trigger accuracy tests for azure-deploy skill | ||
| skill: azure-deploy | ||
|
|
||
| should_trigger_prompts: | ||
| - prompt: "Run azd up for my already prepared app" | ||
| reason: "Explicit deploy execution request" | ||
|
|
||
| - prompt: "Deploy my validated Azure app using Bicep templates" | ||
| reason: "Deploy intent with validated state" | ||
|
|
||
| - prompt: "My app is ready. Push it to Azure and keep AVM+AZD module preference." | ||
| reason: "Deploy action + AVM deploy guidance preference" | ||
|
|
||
| should_not_trigger_prompts: | ||
| - prompt: "Prepare a new app for Azure from scratch" | ||
| reason: "Preparation belongs to azure-prepare" | ||
|
|
||
| - prompt: "Validate my infra plan before deploying" | ||
| reason: "Validation belongs to azure-validate" | ||
|
|
||
| - prompt: "Create a new Azure Functions app and scaffold code" | ||
| reason: "Creation/preparation request, not deploy-only" |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.