Update to Vally 0.7.0#854
Conversation
Consume Vally 0.6.0 (no ambient skill discovery; `vally experiment run`). Replace the dual `vally eval` baseline/skilled harness with a single declarative experiment per plugin, keeping adapt.mjs for the improvement-score verdict. - Add dotnet-skills.experiment.yaml: baseline (no skills) vs skilled (the one skill under test via environment.skills), skill path derived from the eval path. Excludes agent.* evals. - Add scope-experiment.mjs: rewrites the experiment's evals/overrides blocks to scope a run to specific evals and pin model/judge/runs (no YAML dependency). - adapt.mjs: add experiment-dir mode that splits per-variant results.jsonl into per-skill results.json; iterate the union of evals across variants and warn on any eval missing from a variant instead of silently dropping it. - run-vally-evals.sh and vally-evaluation.yml: drive `vally experiment run`, then adapt. Select the run dir created by this invocation, clear and verify the expected per-skill outputs, and report produced-vs-expected shortfalls. - Normalize compound-duration eval timeouts (2m40s/17m30s) to single-unit seconds; 0.6.0 validates specs that the old --skip-validate flow bypassed. - Remove .vally.yaml (only configured ambient discovery, now gone). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Consume vally 0.7.0: use `vally experiment run --eval-filter` for scoping (deleting scope-experiment.mjs), and `vally compare` per eval as the scoring engine. adapt.mjs now splits experiment output by evalFile and maps each comparison to a per-skill verdict; a skill passes only on a credible improvement (mean preference > 0 with its 95% CI above 0). Model/judge/runs come from the experiment file's overrides block. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
vally 0.7.0 removed the `pairwise` grader type (the validator now hard-errors on it); comparison moved into `vally compare`. Remove the `- type: pairwise` grader entries; the sibling `prompt` grader retains per-trajectory LLM grading. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Skill Coverage Report
Uncovered:
|
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s informational “skill-vs-baseline” Vally shadow harness to align with Vally 0.7.0 by switching from per-eval runs + a custom weighted score to a single vally experiment run plus vally compare-based scoring, and by removing the deprecated pairwise grader from eval specs.
Changes:
- Replace the old baseline/skilled per-eval execution model with a single
dotnet-skills.experiment.yamlexperiment run, scoped via--eval-filter, then split results per eval and score withvally compare. - Update the adapter (
eng/vally-adapter/adapt.mjs) to group outcomes byexperiment.evalFile, runvally compareper skill, and emit per-skillresults.jsonwith credible-improvement pass criteria. - Update all affected
eval.vally.yamlfiles to remove thepairwisegrader (and adjust a few timeouts).
Show a summary per file
| File | Description |
|---|---|
| tests/dotnet11/system-text-json-net11/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-upgrade/thread-abort-migration/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-upgrade/migrate-nullable-references/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-upgrade/migrate-dotnet9-to-dotnet10/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-upgrade/migrate-dotnet8-to-dotnet9/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-upgrade/migrate-dotnet10-to-dotnet11/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-upgrade/dotnet-aot-compat/eval.vally.yaml | Remove deprecated pairwise grader; convert timeout to seconds. |
| tests/dotnet-test/writing-mstest-tests/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/test-tagging/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/test-smell-detection/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/test-gap-analysis/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/test-anti-patterns/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/run-tests/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/mtp-hot-reload/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/migrate-static-to-wrapper/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/generate-testability-wrappers/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/detect-static-dependencies/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/crap-score/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/coverage-analysis/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/code-testing-agent/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/assertion-quality/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/agent.testability-migration/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test/agent.test-quality-auditor/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test-migration/migrate-xunit-to-xunit-v3/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test-migration/migrate-xunit-to-mstest/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test-migration/migrate-vstest-to-mtp/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test-migration/migrate-mstest-v3-to-v4/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test-migration/migrate-mstest-v1v2-to-v3/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-test-migration/agent.test-migration/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-template-engine/template-validation/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-template-engine/template-smart-defaults/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-template-engine/template-instantiation/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-template-engine/template-discovery/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-template-engine/template-comparison/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-template-engine/template-authoring/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-nuget/convert-to-cpm/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/resolve-project-references/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/msbuild-server/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/msbuild-modernization/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/msbuild-antipatterns/eval.vally.yaml | Remove deprecated pairwise grader; convert timeout to seconds. |
| tests/dotnet-msbuild/incremental-build/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/including-generated-files/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/eval-performance/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/directory-build-organization/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/check-bin-obj-clash/eval.vally.yaml | Remove deprecated pairwise grader; convert timeout to seconds. |
| tests/dotnet-msbuild/build-perf-diagnostics/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/build-perf-baseline/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/build-parallelism/eval.vally.yaml | Remove deprecated pairwise grader; convert timeout to seconds. |
| tests/dotnet-msbuild/binlog-generation/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/binlog-failure-analysis/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-msbuild/agent.msbuild/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/maui-theming/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/maui-shell-navigation/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/maui-safe-area/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/maui-dependency-injection/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/maui-data-binding/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/maui-collectionview/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/maui-app-lifecycle/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-maui/dotnet-maui-doctor/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-experimental/exp-test-maintainability/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-experimental/exp-simd-vectorization/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-experimental/exp-mock-usage-analysis/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-diag/microbenchmarking/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-diag/dump-collect/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-diag/dotnet-trace-collect/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-diag/clr-activation-debugging/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-diag/apple-crash-symbolication/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-diag/android-tombstone-symbolication/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-diag/analyzing-dotnet-performance/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-data/optimizing-ef-core-queries/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/use-js-interop/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/support-prerendering/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/plan-ui-change/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/fetch-and-send-data/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/create-blazor-project/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/coordinate-components/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/configure-auth/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/collect-user-input/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-blazor/author-component/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-aspnetcore/minimal-api-file-upload/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-aspnetcore/configuring-opentelemetry-dotnet/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-ai/technology-selection/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-ai/mcp-csharp-test/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-ai/mcp-csharp-publish/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-ai/mcp-csharp-debug/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-ai/mcp-csharp-create/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-advanced/nuget-trusted-publishing/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-advanced/dotnet-pinvoke/eval.vally.yaml | Remove deprecated pairwise grader. |
| tests/dotnet-advanced/csharp-scripts/eval.vally.yaml | Remove deprecated pairwise grader. |
| eng/vally-adapter/run-vally-evals.sh | Rework local runner to use vally experiment run + adapter + compare. |
| eng/vally-adapter/adapt.mjs | Split experiment output by eval file; run vally compare and emit per-skill verdicts. |
| dotnet-skills.experiment.yaml | New canonical experiment definition (baseline vs skilled variants). |
| .vally.yaml | Remove legacy suite-based Vally config in favor of experiment-driven runs. |
| .github/workflows/vally-evaluation.yml | Update CI shadow workflow to run the experiment, adapt results, and summarize compare-based scoring. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 94/94 changed files
- Comments generated: 2
|
👋 @adityamandaleeka — this PR has 2 unresolved review thread(s). When you're ready, please address the feedback and push an update; the triage bot will pick up the next state automatically. (Add the |
Address PR review: set the default (vally-results) at the parseArgs option level so the CLI contract matches the help text, mark it optional in the usage banner, and drop the now-redundant ?? fallback. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
/evaluate |
Skill Validation Results
[1]
Model: claude-opus-4.6 | Judge: claude-opus-4.6 🔍 Full Results - additional metrics and failure investigation steps
|
Skill Validation Results
[1]
Model: claude-opus-4.6 | Judge: claude-opus-4.6 🔍 Full Results - additional metrics and failure investigation steps
▶ Sessions Visualisation -- interactive replay of all evaluation sessions |
|
/evaluate |
Skill Validation Results
[1]
Model: claude-opus-4.6 | Judge: claude-opus-4.6 🔍 Full Results - additional metrics and failure investigation steps
▶ Sessions Visualisation -- interactive replay of all evaluation sessions |
Updates the informational skill-vs-baseline shadow harness to Vally 0.7.0:
experiment run --eval-filter(deletedscope-experiment.mjs); CI honors each matrix entry'sskills_path.Vally compare:adapt.mjssplits experiment output by eval file and runs compare per skill. Pass = credible improvement (mean preference > 0 with its 95% CI above 0). Dropped the old weighted-composite score + 10% threshold.- type: pairwisefrom 89 files (0.7.0 removed that grader); the siblingpromptgrader stays.Requires Vally ≥ 0.7.0. Informational job — never gates PRs.
runs: 1, which makes the 95% CI very wide — genuinely-helpful skills often read "not credible." We should bumprunsfor a real signal before relying on these verdicts.