You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update #17064
Eval naming convention
Each eval file follows this naming pattern:
[entry-point-code][scenario-id].eval.yaml
For example: 001001.eval.yaml
001 represents the entry-point code.
001 represents the scenario ID within that entry point.
entry point
code
customization request
001
feedback
002
build failure
003
breaking changes
004
Each *.eval.yaml file contains three simulations, covering different editScope values, with one simulation for each editScope.
Each simulate has tag 'editScope'
Two-level tags:
eval-spec-level tag: input, it refer to the customization input, it can be customizationRequest, feedback, buildFailure, breakingChange
simulate-level tag: editScope, it refer to the edit scope of the customization, it can be SpecInputs, CustomCode, All
example: 001001.eval.yaml
name: azsdk-customized-code-update-tool-evaldescription: Evaluation for the azsdk_customized_code_update mcp toolversion: "1.0"type: capabilitytags:
tier: unitarea: customizationinput: customRequest #environment: azsdk-mcp-live# Execution configurationdefaults:
runs: 1# Trials per stimulustimeout: "660s"# Seconds per trialmodel: gpt-6.1-sol # Model for agent executionexecutor: copilot-sdk # Which executor to usescoring:
threshold: 1.0# Test casesstimuli:
- name: 001001-rename-model-SpecInputstags:
editScope: SpecInputsprompt: | First, use the shell to resolve specification/widget/resource-manager/Microsoft.Widget/Widget against your current working directory and obtain its absolute directory path. Then call azsdk_customized_code_update with parameters: - customizationRequest: API review feedback requires renaming SDK model 'Employee' to 'Staff' for Go. - tspProjectPath: use the exact absolute path returned by the shell - editScope: "SpecInputs" Do not pass a relative path or literal placeholder text as tspProjectPath.environment:
files:
- src: ../../fixtures/Microsoft.Widget/Widget/main.tspdest: specification/widget/resource-manager/Microsoft.Widget/Widget/main.tsp
- src: ../../fixtures/Microsoft.Widget/Widget/employee.tspdest: specification/widget/resource-manager/Microsoft.Widget/Widget/employee.tsp
- src: ../../fixtures/Microsoft.Widget/Widget/tspconfig.yamldest: specification/widget/resource-manager/Microsoft.Widget/Widget/tspconfig.yaml
- src: ../../../eng/common/knowledge/customizing-client-tsp.mddest: eng/common/knowledge/customizing-client-tsp.mdcommands:
- git initconstraints:
max_turns: 20max_tokens: 50000graders:
- type: tool-callsconfig:
required:
- azsdk_customized_code_update
- type: file-containsconfig:
path: specification/widget/resource-manager/Microsoft.Widget/Widget/client.tspvalue: '@@clientName(Microsoft.Widget.Employee, "Staff", "go")'
- name: 001001-rename-model-CodeCustomtags:
editScope: CustomCodeprompt: | First, use the shell to resolve azure-sdk-for-js/sdk/widget/arm-widget against your current working directory and obtain its absolute directory path. Then call azsdk_customized_code_update with parameters: - customizationRequest: API review feedback requires renaming SDK model 'Employee' to 'Staff' for Javascript. - packagePath: use the exact absolute path returned by the shell - editScope: "CustomCode" Do not pass a relative path or literal placeholder text as packagePath.environment:
files:
- src: ../../fixtures/Microsoft.Widget/Widget/main.tspdest: specification/widget/resource-manager/Microsoft.Widget/Widget/main.tsp
- src: ../../fixtures/Microsoft.Widget/Widget/employee.tspdest: specification/widget/resource-manager/Microsoft.Widget/Widget/employee.tsp
- src: ../../fixtures/Microsoft.Widget/Widget/tspconfig.yamldest: specification/widget/resource-manager/Microsoft.Widget/Widget/tspconfig.yaml
- src: ../../../eng/common/knowledge/customizing-client-tsp.mddest: eng/common/knowledge/customizing-client-tsp.md
- src: ../../../artifacts/mcp/clidest: .artifacts/mcp/clicommands:
- git init
- git remote add origin https://github.com/Azure/azure-rest-api-specs.git
- git clone --depth 1 --filter=blob:none --sparse https://github.com/Azure/azure-sdk-for-js.git azure-sdk-for-js
- git -C azure-sdk-for-js sparse-checkout set eng/common/tsp-client
- npm ci --prefix azure-sdk-for-js/eng/common/tsp-client
- .\.artifacts\mcp\cli\azsdk.exe package generate --local-sdk-repo-path "%CD%\azure-sdk-for-js" --tsp-config-path "%CD%\specification\widget\resource-manager\Microsoft.Widget\Widget\tspconfig.yaml" --output json
- node -e "const fs=require('node:fs'); const p='azure-sdk-for-js/sdk/widget/arm-widget/package.json'; if (!fs.existsSync(p)) throw new Error('JavaScript SDK generation did not create '+p)"constraints:
max_turns: 20max_tokens: 50000graders:
- type: tool-callsconfig:
required:
- azsdk_customized_code_update
- name: 001001-rename-model-ALLprompt: | First, use the shell to resolve azure-sdk-for-js/sdk/widget/arm-widget against your current working directory and obtain its absolute directory path. Then call azsdk_customized_code_update with parameters: - customizationRequest: API review feedback requires renaming SDK model 'Employee' to 'Staff' for Javascript. - packagePath: use the exact absolute path returned by the shell - editScope: "All" Do not pass a relative path or literal placeholder text as packagePath.environment:
files:
- src: ../../fixtures/Microsoft.Widget/Widget/main.tspdest: specification/widget/resource-manager/Microsoft.Widget/Widget/main.tsp
- src: ../../fixtures/Microsoft.Widget/Widget/employee.tspdest: specification/widget/resource-manager/Microsoft.Widget/Widget/employee.tsp
- src: ../../fixtures/Microsoft.Widget/Widget/tspconfig.yamldest: specification/widget/resource-manager/Microsoft.Widget/Widget/tspconfig.yaml
- src: ../../../eng/common/knowledge/customizing-client-tsp.mddest: eng/common/knowledge/customizing-client-tsp.md
- src: ../../../artifacts/mcp/clidest: .artifacts/mcp/clicommands:
- git init
- git remote add origin https://github.com/Azure/azure-rest-api-specs.git
- git clone --depth 1 --filter=blob:none --sparse https://github.com/Azure/azure-sdk-for-js.git azure-sdk-for-js
- git -C azure-sdk-for-js sparse-checkout set eng/common/tsp-client
- npm ci --prefix azure-sdk-for-js/eng/common/tsp-client
- .\.artifacts\mcp\cli\azsdk.exe package generate --local-sdk-repo-path "%CD%\azure-sdk-for-js" --tsp-config-path "%CD%\specification\widget\resource-manager\Microsoft.Widget\Widget\tspconfig.yaml" --output json
- node -e "const fs=require('node:fs'); const p='azure-sdk-for-js/sdk/widget/arm-widget/package.json'; if (!fs.existsSync(p)) throw new Error('JavaScript SDK generation did not create '+p)"constraints:
max_turns: 20max_tokens: 50000graders:
- type: tool-callsconfig:
required:
- azsdk_customized_code_update
changed the title [-][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/-][+][TypeSpec Authoring][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/+]on Oct 19, 2026
changed the title [-][TypeSpec Authoring][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/-][+][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/+]on Oct 21, 2026
Activity
chunyu3 commentedon Oct 10, 2026
Eval naming convention
Each eval file follows this naming pattern:
[entry-point-code][scenario-id].eval.yaml
For example: 001001.eval.yaml
Each *.eval.yaml file contains three simulations, covering different editScope values, with one simulation for each editScope.
Each simulate has tag 'editScope'
Two-level tags:
eval-spec-level tag: input, it refer to the customization input, it can be customizationRequest, feedback, buildFailure, breakingChange
simulate-level tag: editScope, it refer to the edit scope of the customization, it can be SpecInputs, CustomCode, All
example: 001001.eval.yaml
[-][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/-][+][TypeSpec Authoring][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/+][-][TypeSpec Authoring][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/-][+][Customization Tool] [Epic] Benchmark for customization tool azsdk_customized_code_update[/+]chunyu3 commentedon Nov 5, 2026
Scenarios:
Breaking Change