Skip to content

Commit f670722

Browse files
Merge branch 'main' into fix/keyvault-certificates-san-ip-uri-validator
2 parents 98e0dd4 + 439f471 commit f670722

879 files changed

Lines changed: 83918 additions & 73229 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -770,10 +770,10 @@
770770
/sdk/servicefabric/ @QingChenmsft @samedder
771771

772772
# PRLabel: %Speech Transcription
773-
/sdk/cognitiveservices/azure-ai-transcription/ @amber-yujueWang @rhurey @xitzhang
773+
/sdk/transcription/azure-ai-transcription/ @amber-yujueWang @rhurey @xitzhang @pankopon @emilyjiji
774774

775775
# ServiceLabel: %Speech Transcription
776-
# ServiceOwners: @amber-yujueWang @rhurey @xitzhang
776+
# ServiceOwners: @amber-yujueWang @rhurey @xitzhang @pankopon @emilyjiji
777777

778778
# PRLabel: %Storage
779779
/sdk/storage/ @annatisch @jalauzon-msft @vincenttran-msft @weirongw23-msft

.github/copilot-instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ This library is failing two release blocking checks - Mypy and Tests - CI. The l
113113
## Local SDK Generation and Package Lifecycle (TypeSpec)
114114

115115
### AUTHORITATIVE REFERENCE
116-
For all TypeSpec-based SDK workflows (generation, building, validation, testing, versioning, and release), follow #file:../eng/common/instructions/azsdk-tools/local-sdk-workflow.instructions.md
116+
For all TypeSpec-based SDK workflows (generation, building, validation, testing, versioning, and release), follow #file:skills/azsdk-common-generate-sdk-locally/SKILL.md
117117

118118
### DEFAULT BEHAVIORS
119119
- **Repository:** Use the current workspace as the local SDK repository unless the user specifies a different path.
@@ -164,4 +164,4 @@ These rules apply to management-plane SDK packages located at `sdk/*/azure-mgmt-
164164

165165
## SDK release
166166

167-
For detailed workflow instructions, see [SDK Release](https://github.com/Azure/azure-sdk-for-python/blob/main/eng/common/instructions/copilot/sdk-release.instructions.md).
167+
For detailed workflow instructions, see [SDK Release](skills/azsdk-common-sdk-release/SKILL.md).
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
name: azsdk-common-apiview-feedback-resolution
3+
license: MIT
4+
metadata:
5+
version: "1.0.0"
6+
distribution: shared
7+
description: "Analyze and resolve APIView review feedback on Azure SDK PRs. **UTILITY SKILL**. USE FOR: APIView comments, API review feedback, SDK API surface changes. DO NOT USE FOR: general code review, non-APIView feedback. INVOKES: azure-sdk-mcp:azsdk_apiview_get_comments, azure-sdk-mcp:azsdk_typespec_customized_code_update."
8+
compatibility:
9+
requires: "azure-sdk-mcp server, SDK pull request with APIView review link"
10+
---
11+
12+
# APIView Feedback Resolution
13+
14+
**Prerequisites:** azure-sdk-mcp server required; no CLI fallback. Without MCP, this skill cannot retrieve APIView comments or apply TypeSpec changes. Connect the `azure-sdk-mcp` server before use.
15+
16+
## MCP Tools
17+
18+
| Tool | Purpose |
19+
|------|---------|
20+
| `azure-sdk-mcp:azsdk_apiview_get_comments` | Get APIView comments |
21+
| `azure-sdk-mcp:azsdk_typespec_customized_code_update` | Apply TypeSpec changes locally |
22+
| `azure-sdk-mcp:azsdk_typespec_delegate_apiview_feedback` | Delegate to CCA pipeline |
23+
| `azure-sdk-mcp:azsdk_run_typespec_validation` | Validate TypeSpec |
24+
| `azure-sdk-mcp:azsdk_package_generate_code` | Regenerate SDK |
25+
26+
## Steps
27+
28+
1. **Retrieve** — Get APIView URL from SDK PR, run `azsdk_apiview_get_comments`.
29+
2. **Categorize** — Group as Critical/Suggestions/Informational per [feedback steps](references/feedback-resolution-steps.md).
30+
3. **Resolve** — Use `azsdk_typespec_customized_code_update` for TypeSpec changes; delegate via `azsdk_typespec_delegate_apiview_feedback` for complex cases.
31+
4. **Validate** — Run validation, regenerate SDK, build and test.
32+
5. **Confirm** — Verify all items addressed. If delegated, follow [post-delegation follow-up](references/feedback-resolution-steps.md#post-delegation-follow-up). Request re-review.
33+
34+
## Examples
35+
36+
- "Resolve the APIView comments on my SDK pull request"
37+
- "What feedback did the API reviewer leave?"
38+
39+
## Troubleshooting
40+
41+
- **No comments**: Verify PR has APIView link and MCP server is connected.
42+
- **Validation fails**: Re-run after fixing TypeSpec errors.
43+
- **MCP unavailable**: Requires `azure-sdk-mcp` server; no CLI fallback. Connect the server and retry.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: azsdk-common-apiview-feedback-resolution-eval
2+
description: Evaluation suite for APIView feedback resolution skill.
3+
skill: azsdk-common-apiview-feedback-resolution
4+
version: '1.0'
5+
config:
6+
model: gpt-4o
7+
executor: mock
8+
trials_per_task: 1
9+
timeout_seconds: 300
10+
parallel: false
11+
metrics:
12+
- name: task_completion
13+
weight: 0.7
14+
threshold: 0.8
15+
description: Did the skill complete trigger and anti-trigger checks?
16+
- name: efficiency
17+
weight: 0.3
18+
threshold: 0.7
19+
description: Did the skill stay within behavior limits?
20+
graders:
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
28+
tasks:
29+
- "tasks/*.yaml"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: azsdk-common-apiview-feedback-resolution-evals
2+
description: Evaluations for the APIView feedback resolution skill
3+
skill: azsdk-common-apiview-feedback-resolution
4+
version: "1.0"
5+
config:
6+
model: gpt-4o
7+
executor: mock
8+
trials_per_task: 1
9+
timeout_seconds: 300
10+
parallel: false
11+
metrics:
12+
- name: task_completion
13+
weight: 0.7
14+
threshold: 0.8
15+
description: Did the skill complete trigger and anti-trigger checks?
16+
- name: efficiency
17+
weight: 0.3
18+
threshold: 0.7
19+
description: Did the skill stay within behavior limits?
20+
graders:
21+
- type: text
22+
name: no_fatal_errors
23+
config:
24+
regex_not_match:
25+
- (?i)fatal error
26+
- (?i)unhandled exception
27+
- '(?i)panic:'
28+
tasks:
29+
- "tasks/*.yaml"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
id: anti-trigger
2+
name: anti-trigger
3+
description: Should not trigger on unrelated prompts
4+
inputs:
5+
prompt: "How do I set up a new Azure Storage account?"
6+
expected:
7+
skill_activated: false
8+
graders:
9+
- type: text
10+
name: no-apiview-advice
11+
config:
12+
not_contains:
13+
- "APIView"
14+
- "API review"
15+
- "apiview.dev"
16+
- "apiviewstagingtest.com"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
id: basic-trigger
2+
name: basic-trigger
3+
description: Should trigger on APIView feedback resolution requests
4+
inputs:
5+
prompt: "I have APIView comments on my SDK PR that need to be resolved. Can you help?"
6+
expected:
7+
skill_activated: true
8+
graders:
9+
- type: text
10+
name: mentions-apiview
11+
config:
12+
contains:
13+
- "APIView"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
id: url-trigger
2+
name: url-trigger
3+
description: Should trigger when user provides an APIView URL without explicitly saying APIView
4+
inputs:
5+
prompt: "I have review comments on my SDK PR from this page: https://spa.apiview.dev/review/abc123?activeApiRevisionId=def456 — can you help me resolve them?"
6+
expected:
7+
skill_activated: true
8+
graders:
9+
- type: text
10+
name: mentions-apiview-domain
11+
config:
12+
contains:
13+
- "apiview"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
skill: azsdk-common-apiview-feedback-resolution
2+
should_trigger_prompts:
3+
- prompt: "resolve APIView feedback on my PR"
4+
reason: "Should activate skill"
5+
- prompt: "fix APIView comments"
6+
reason: "Should activate skill"
7+
- prompt: "address API review feedback"
8+
reason: "Should activate skill"
9+
- prompt: "APIView shows issues with my SDK"
10+
reason: "Should activate skill"
11+
- prompt: "help me with APIView suggestions"
12+
reason: "Should activate skill"
13+
- prompt: "Help me fix these comments: https://spa.apiview.dev/review/0qw98r9qwur9q823r?activeApiRevisionId=afiq948tquajf8jq9f"
14+
reason: "URL-only prompt without explicit APIView mention should activate skill"
15+
- prompt: "Address this feedback: https://spa.apiview.dev/review/akldfja9qjta498tjaejg0?activeApiRevisionId=odiufa9sefighj98439"
16+
reason: "URL-only prompt without explicit APIView mention should activate skill"
17+
- prompt: "Resolve these comments: https://apiviewstagingtest.com/review/akldfja9qjta498tjaejg0?activeApiRevisionId=odiufa9sefighj98439"
18+
reason: "URL-only prompt without explicit APIView mention should activate skill"
19+
should_not_trigger_prompts:
20+
- prompt: "deploy my Azure Function"
21+
reason: "Unrelated to skill scope"
22+
- prompt: "fix my pipeline build error"
23+
reason: "Unrelated to skill scope"
24+
- prompt: "create a new TypeSpec definition"
25+
reason: "Unrelated to skill scope"
26+
- prompt: "how do I release an SDK package"
27+
reason: "Unrelated to skill scope"
28+
- prompt: "set up Azure Storage account"
29+
reason: "Unrelated to skill scope"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"comments": [
3+
{
4+
"id": "c1",
5+
"text": "Consider renaming 'ComputeProvisioningState' to 'ProvisioningState' for consistency.",
6+
"severity": "suggestion",
7+
"language": "python",
8+
"resolved": false
9+
},
10+
{
11+
"id": "c2",
12+
"text": "Missing documentation on the 'createOrUpdate' method parameters.",
13+
"severity": "critical",
14+
"language": "python",
15+
"resolved": false
16+
}
17+
]
18+
}

0 commit comments

Comments
 (0)