Skip to content

Upgrade Vally to 0.19.0 for scoped App-token MCP evals - #17350

Merged
Ray Chen (raych1) merged 10 commits into
mainfrom
fix/eval-mcp-app-runtime
Oct 22, 2026
Merged

Ray Chen (raych1) merged 10 commits into
mainfrom
fix/eval-mcp-app-runtime

Conversation

@helen229

@helen229 Helen Gao (helen229) commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Summary

Upgrade both evaluators from Vally 0.14.0 to 0.19.0. This restores mock MCP tool calls with the existing scoped GitHub App token and brings documented reliability and diagnostic improvements not just a version bump.

Upgrade benefits

  • More reliable SDK sessions and trajectories. Vally 0.16 fixes session logging that could redirect SDK file access to the wrong root; it exports authoritative persisted session events with a raw-event fallback (#1109).
  • Bounded startup and shutdown. Vally 0.18 enforces trial deadlines during SDK startup/session creation and bounds teardown, reducing hangs and orphaned resources (#1253). Existing trial timeouts are unchanged.
  • Better result traceability. Vally 0.18 adds a stable runId to JSONL trial results and summaries, making trajectories and repeated/sharded runs easier to correlate (#1234).
  • More dependable grading. Vally 0.15 distinguishes grading/execution errors from legitimate failed scores (#1032); 0.19 correctly handles absence-only tool checks on empty scopes (#1325).

These are documented in the Vally changelog. Vally 0.18 also offers an optional --in-place mode that avoids expensive workspace copies (#1268); this PR keeps isolated execution and does not claim measured speed or token savings.

Scope

  • Use the supported Vally/Copilot SDK dependency stack and Node 24.14.1+.
  • Keep minimal existing-file edits: supported schema keys/skill assertions, explicit skill mounts, future-safe creation dates, canonical mock IDs, and the small nonblocking setup-response correction.
  • 19 existing files; no new files, tests, CI tasks, changelog, or SDK-repo bootstrap commands. Models, scoring thresholds, permissions, and disallowed-tool guards are preserved.

Validation

  • 73 existing mock tests pass; strict lint passes for all 14 changed eval definitions; all 42 configured definitions load successfully (this count excludes the separate author benchmark).
  • Full hermetic reruns at 177aa4308, with all 19 shard artifacts inspected and dashboard publication disabled:
    • Workflow/tool 6985319: 424/429 trials pass (98.8%), 5 assertion failures, no execution errors. Pipeline partially succeeded; the add-ARM-resource eval fails its required file/validation assertions.
    • Skills 6985320: 114/117 trials pass (97.4%), 2 assertion failures and 1 assessment timeout at 120 seconds. The pipeline is green, but that does not mean every trial passed: the shared threshold-based verdict accepts the assessment's aggregate score of 0.8 despite its execution error.
    • Combined: 538/546 trials pass (98.5%). These are trial counts at the 0.8 score threshold, not pipeline-status-derived percentages. Remaining failures are not all proven upgrade regressions.

Complete pipeline-consumer audit

Consumer Upgrade coverage Runtime evidence / remaining work
Common workflow/tools (8255) Shared Vally 0.19 pin; native load/plan and ADO compile preview pass Full 429-trial run above
Common skills (8256) Shared Vally 0.19 pin; native load/plan and ADO compile preview pass Full 117-trial run above
Common live (8246) Same shared Vally 0.19 pin; native load/plan and authenticated-live compile preview pass

Related: #17238 and #17323.

@azure-pipelines

azure-pipelines Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
68 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@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

@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

@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

@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

@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

@helen229
Helen Gao (helen229) marked this pull request as ready for review October 21, 2026 21:38
Copilot AI balanced review requested due to automatic review settings October 21, 2026 21:38

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.

🟡 Changes recommended

Both evaluator lockfiles need public npmjs URLs and SHA-512 integrity metadata restored to preserve portable installs and the documented update convention.

1 open issue
What changed in this PR

Upgrades both Vally evaluators to 0.19.0 to restore mock MCP calls with scoped GitHub App tokens and adopt upstream reliability improvements.

Changes:

  • Updates Vally dependencies and raises the Node.js minimum to 22.14.
  • Migrates eval settings and skill assertions, adding explicit skill mounts.
  • Aligns release-plan prompts with mock IDs, uses relative creation dates, and corrects the successful setup response.
File Description
tools/​azsdk-cli/​Azure.Sdk.Tools.Mock/​Handlers/​Verify/​VerifySetupHandler.cs Returns no requirement failures for successful setup.
evals/​workflows/​mock/​release-planner-workflows.eval.yaml Updates mock IDs and creation timelines.
evals/​workflows/​mock/​multi-turn-release-workflows.eval.yaml Aligns multi-turn release prompts with mock data.
evals/​workflows/​mock/​multi-turn-pipeline-workflows.eval.yaml Migrates execution settings to defaults.
evals/​workflows/​live/​release-planner.eval.yaml Removes unsupported repository metadata.
evals/​tools/​prompt-to-tool-releaseplan.eval.yaml Updates release-plan IDs, dates, and prompt context.
eng/​skill-eval/​package.json Pins Vally 0.19.0 and Node.js 22.14+.
eng/​skill-eval/​package-lock.json Refreshes the skill evaluator dependency graph.
eng/​common/​scripts/​eval/​package.json Updates shared evaluator and runtime requirements.
.github/​skills/​skill-authoring/​evals/​eval.yaml Migrates defaults and adds explicit skill invocation checks.
.github/​skills/​markdown-token-optimizer/​evals/​eval.yaml Migrates defaults and adds explicit skill invocation checks.
.github/​skills/​azsdk-common-sdk-release/​evals/​eval.yaml Migrates defaults and adds explicit skill invocation checks.
.github/​skills/​azsdk-common-sdk-breaking-change/​evals/​trigger.eval.yaml Explicitly mounts the skill under test.
.github/​skills/​azsdk-common-prepare-release-plan/​evals/​schedule-risk.eval.yaml Uses a relative future creation target.
.github/​skills/​azsdk-common-prepare-release-plan/​evals/​eval.yaml Migrates execution settings to defaults.
.github/​skills/​azsdk-common-generate-sdk-locally/​evals/​trigger.eval.yaml Mounts competing skills and asserts breaking-change routing.
.github/​skills/​azsdk-common-generate-sdk-locally/​evals/​eval.yaml Migrates execution settings to defaults.
.github/​skills/​azsdk-common-apiview-feedback-resolution/​evals/​eval.yaml Migrates execution settings to defaults.

Review effort: Balanced

Comment thread eng/skill-eval/package-lock.json Resolved
@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

Co-authored-by: helen229 <19517014+helen229@users.noreply.github.com>
@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

@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

Helen Gao (helen229) added a commit to Azure/azure-sdk-for-rust that referenced this pull request Oct 22, 2026
Sync eng/common directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#17350 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

---------

Co-authored-by: helen229 <gaoh@microsoft.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: helen229 <19517014+helen229@users.noreply.github.com>
Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Helen Gao (helen229) added a commit to Azure/azure-sdk-for-js that referenced this pull request Oct 22, 2026
Sync eng/common directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#17350 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

---------

Co-authored-by: helen229 <gaoh@microsoft.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: helen229 <19517014+helen229@users.noreply.github.com>
Co-authored-by: azure-sdk <azuresdk@microsoft.com>
Helen Gao (helen229) added a commit to Azure/azure-sdk-for-js that referenced this pull request Oct 22, 2026
Sync .github/skills directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#17350 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

---------

Co-authored-by: helen229 <gaoh@microsoft.com>
@raych1
Ray Chen (raych1) merged commit 9cbb565 into main Oct 22, 2026
27 of 28 checks passed
@raych1
Ray Chen (raych1) deleted the fix/eval-mcp-app-runtime branch October 22, 2026 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants