Skip to content

Improve GPT-focused dotnet-test eval outcomes - #1122

Merged
Evangelink merged 26 commits into
mainfrom
dev/amauryleve/optimize-gpt-codex-evals
Sep 8, 2026
Merged

Improve GPT-focused dotnet-test eval outcomes#1122
Evangelink merged 26 commits into
mainfrom
dev/amauryleve/optimize-gpt-codex-evals

Conversation

@Evangelink

@Evangelink Evangelink commented Sep 4, 2026

Copy link
Copy Markdown
Member

Summary

Retained GPT-family evaluation evidence showed that several dotnet-test skills remained tie-limited or lost on specific correctness details after the broader optimization work. This change targets those measured gaps without padding repeated runs or rewriting already-passing skills.

  • Calibrates anti-pattern severity for reproduced order-dependent failures and strengthens independent transformation-oracle guidance.
  • Makes tagging edits validate compilation and non-executing test discovery, with deterministic eval graders for both.
  • Adds predeclared migration breadth for preserving local DateTime.Now semantics, exact UTC-call scope, and a successful build.
  • Makes static-analysis scope discoverable when no path is supplied and trims duplicated coverage-analysis routing text to recover model-menu capacity.
  • Front-loads the project-wide versus named-target CRAP boundary and the C#-only static-analysis boundary so explicit dormancy scenarios route correctly.
  • Recovers safely from workspace reader/editor transport and path-normalization failures while failing closed for content exclusion, policy, permissions, stale context, concurrent changes, unknown errors, and workspace-boundary violations.
  • Adds concrete activation vocabulary for existing custom file/environment abstractions without excluding other repository-defined wrappers.
  • Routes fresh coverage collection through run-tests, preserving repository overlays and platform-specific runner selection while keeping coverage-analysis focused on interpretation.
  • Repairs the static-analysis fixture, hardens deterministic migration graders, gives code-generation scenarios sufficient timeout headroom, and removes contradictory dormancy prompts.

Related issue

N/A

Validation

  • python eng/eval-quality/check_eval_quality.py - passed with existing repository warnings only.
  • skill-validator check --plugin .\plugins\dotnet-test - passed for 22 skills and 10 agents.
  • Four detect-static-dependencies C# fixtures build successfully.
  • eng\version\Test-Sync-PluginVersions.ps1 - passed 65 assertions.
  • git diff --check - passed.
  • Multiple official default and mid-profile evaluations were used iteratively; completed runs now have valid accounting and no unresolved activation-contract failures on the accepted heads.
  • Codex evidence improved coverage-analysis and detect-static-dependencies; later transcript-driven changes target the remaining migration, tagging, and audit losses caused by recoverable workspace tool failures.

Checklist

  • I searched existing issues and pull requests to avoid duplicates.
  • I kept this pull request focused and avoided unrelated refactors.
  • I added or updated tests, evals, or documentation when changing skill or agent behavior.
  • I updated CODEOWNERS when adding or moving owned content.
  • I updated all marketplace manifests when plugin metadata changed.
  • I updated eng/known-domains.txt for any new external domains referenced by skill content.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 4, 2026 11:22
@github-actions github-actions Bot added the waiting-on-author PR state label label Sep 4, 2026

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.

Copilot review overview

🟡 Changes recommended

The updated coverage-analysis frontmatter description has a small but important wording inconsistency that could misroute or mis-explain CRAP/refactoring-safety behavior.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Lite
Findings: 1 Low severity

New issues introduced by this change (1)
Severity Finding
Low severity plugins/​dotnet-test/​skills/​coverage-analysis/​SKILL.md — In the frontmatter description, the wording "calculating CRAP unless risk was requested" is…
What changed in this PR

This PR tunes dotnet-test skill guidance and evaluation fixtures to address specific GPT-family correctness gaps (severity calibration, deterministic validation, and scoped migration semantics) while keeping changes focused on measurable eval outcomes.

Changes:

  • Strengthens eval determinism by adding build + non-executing discovery validation for tagging scenarios and a new DateTime.Now-local-semantics migration scenario (with build verification).
  • Refines skill instructions around severity calibration, scope boundaries for semantics-preserving migrations, and default scan scope when a path isn’t provided.
  • Trims and tightens coverage-analysis routing/description text to recover menu capacity (with minor wording consistency still needed).
File Description
tests/​dotnet-test/​test-tagging/​eval.yaml Adds deterministic build + --list-tests discovery validation and related rubric expectations for NUnit tagging.
tests/​dotnet-test/​migrate-static-to-wrapper/​eval.yaml Adds a new predeclared scenario to preserve local calendar semantics when migrating DateTime.Now, including scope/build graders.
plugins/​dotnet-test/​skills/​test-tagging/​SKILL.md Adds a verification step and updates validation checklist to prefer non-executing discovery when available.
plugins/​dotnet-test/​skills/​test-anti-patterns/​SKILL.md Calibrates severity guidance for demonstrated order-dependent failures and strengthens transformation-oracle guidance.
plugins/​dotnet-test/​skills/​migrate-static-to-wrapper/​SKILL.md Clarifies when “intentional” call sites may be migrated (only when explicitly requested with semantics preserved).
plugins/​dotnet-test/​skills/​detect-static-dependencies/​SKILL.md Makes target path optional and clarifies default scan scope is the current workspace.
plugins/​dotnet-test/​skills/​coverage-analysis/​SKILL.md Compresses routing description text; one sentence needs wording alignment to avoid ambiguity about when CRAP is computed.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread plugins/dotnet-test/skills/coverage-analysis/SKILL.md Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 4, 2026 11:28
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Skill Coverage Report

Plugin Skill Covered Coverage
dotnet-test assertion-quality 23/24 95.8%
dotnet-test code-testing-agent 4/4 100%
ℹ️ dotnet-test code-testing-extensions - N/A (reference-only)
dotnet-test crap-score 6/6 100%
dotnet-test detect-static-dependencies 25/25 100%
ℹ️ dotnet-test filter-syntax - N/A (reference-only)
dotnet-test generate-testability-wrappers 27/28 96.4%
dotnet-test grade-tests 27/29 93.1%
dotnet-test migrate-static-to-wrapper 32/34 94.1%
⚠️ dotnet-test mtp-hot-reload 11/16 68.8%
ℹ️ dotnet-test test-analysis-extensions - N/A (reference-only)
dotnet-test test-anti-patterns 28/28 100%
dotnet-test test-gap-analysis 10/10 100%
dotnet-test test-tagging 28/31 90.3%
⚠️ dotnet-test testability-obstacle 17/28 60.7%
dotnet-test writing-mstest-tests 38/47 80.9%
Uncovered: dotnet-test/assertion-quality
  • [Validation] Jest matcher semantics are precise (toBeDefined versus undefined; (line 188)
Uncovered: dotnet-test/generate-testability-wrappers
  • [Pitfall] Treating "no DI package" as "must be ambient" (line 345)
Uncovered: dotnet-test/grade-tests
  • [Pitfall] Inflating deductions to justify the grade (line 337)
  • [Pitfall] Spilling a 500-row table into a PR comment (line 346)
Uncovered: dotnet-test/migrate-static-to-wrapper
  • [Validation] A before/after exact-member search proves the in-scope occurrence count (line 306)
  • [CodePattern] sealed (line 159)
Uncovered: dotnet-test/mtp-hot-reload
  • [Validation] Microsoft.Testing.Extensions.HotReload package is installed (line 201)
  • [Validation] TESTINGPLATFORM_HOTRELOAD_ENABLED environment variable is set to 1 (line 202)
  • [Validation] Code changes are picked up without manual restart (line 204)
  • [Pitfall] Forgetting to set the environment variable (line 212)
  • [Pitfall] Expecting Test Explorer integration (line 213)
Uncovered: dotnet-test/test-tagging
  • [WorkflowStep] Step 6: Verify edits before reporting (line 304)
  • [CodePattern] [boundary] (line 258)
  • [CodePattern] [negative] (line 258)
Uncovered: dotnet-test/testability-obstacle
  • [Validation] The original obstacle was concrete and in the requested path. (line 288)
  • [Validation] An existing seam was reused when available. (line 289)
  • [Validation] The new abstraction exposes only members required by the target behavior. (line 290)
  • [Validation] Production defaults still delegate to the original dependency. (line 291)
  • [Pitfall] Wrapping an entire static API (line 303)
  • [Pitfall] Adding DI to a library with no container (line 306)
  • [CodePattern] Assert.True (line 166)
  • [CodePattern] readonly (line 124)
  • [CodePattern] Assert.Throws (line 166)
  • [CodePattern] sealed (line 124)
  • [CodePattern] Assert.False (line 166)
Uncovered: dotnet-test/writing-mstest-tests
  • [CodePattern] [TestClass] (line 184)
  • [CodePattern] Assert.IsInRange (line 332)
  • [CodePattern] TestDataRow (line 386)
  • [CodePattern] Assert.Contains (line 267)
  • [CodePattern] [TestMethod] (line 184)
  • [CodePattern] Assert.IsNotEmpty (line 267)
  • [CodePattern] readonly (line 402)
  • [CodePattern] [DataRow] (line 342)
  • [CodePattern] Assert.AreEqual (line 184)

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.

Copilot review overview

🟢 Approval recommended

The changes are consistent with existing eval/skill patterns in the repo and add deterministic validation without introducing schema or formatting issues in the modified files.

Review tier: Lite
Findings: None

Issues resolved since last review (1)
Severity Finding
Low severity plugins/​dotnet-test/​skills/​coverage-analysis/​SKILL.md — In the frontmatter description, the wording "calculating CRAP unless risk was requested" is… View resolved comment

Copilot AI review requested due to automatic review settings September 4, 2026 11:30

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.

Copilot review overview

🟢 Approval recommended

The changes are consistent with existing eval/schema patterns in the repo and primarily strengthen deterministic validation and clarify skill guidance without introducing risky code paths.

Review tier: Lite
Findings: None

@Evangelink Evangelink left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/evaluate

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 5 improved, ➖ 3 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 2 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit 588088506caf0ef34a5b37bb2e0f9e566fbae1ea; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ⛔ Activation contract failed n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 5 dormancy excluded 🟡 0.22 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
coverage-analysis gpt-5.6-luna ⛔ Activation contract failed n=8; 4W/4T/0L; d=4; p=0.063; net +50.0%; 5 dormancy excluded ✅ 0.15 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies claude-sonnet-4.6 ✅ Improved n=8; 7W/0T/1L; d=8; p=0.035; net +75.0% 🟡 0.36 Review overfit evidence.
detect-static-dependencies gpt-5.6-luna ➖ Not proven improved n=8; 4W/4T/0L; d=4; p=0.063; net +50.0% ✅ 0.16 Activation: isolated 7/8; plugin 8/8 Inspect tied or lost stimuli; predeclare added breadth before a new experiment.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 8W/1T/1L; d=9; p=0.020; net +70.0% 🟡 0.32 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 5W/5T/0L; d=5; p=0.031; net +50.0% ✅ 0.15 None.
test-anti-patterns claude-sonnet-4.6 ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded 🟡 0.23 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-anti-patterns gpt-5.6-luna ➖ Not proven improved n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded 🟡 0.23 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🟡 0.37 Review overfit evidence.
test-tagging gpt-5.6-luna ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 4 dormancy excluded ✅ 0.13 None.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — coverage-analysis (claude-sonnet-4.6)

Why: Net win +75.0% (7W/0T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.035), mean preference +25.4% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.22)

Repeated-run reliability (not used by the gate): 26 paired runs (16W/6T/4L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) -50.0% -20.0% 0/1/1
▼ Refactoring safety assessment from coverage data Eligible -50.0% -20.0% 0/1/1
▼ Stay dormant for one-member CRAP analysis Excluded (activation contract) -100.0% -70.0% 0/0/2

Illustrative judge evidence:

  • Refactoring safety assessment from coverage data: A is more evidence-based and explanatory, especially for CalculateGpa, and its Search interpretation appears more coherent than B's claim that the null/empty branch is unexercised. However, both miss an explicit CRAP calculation/ranking and reach broadly similar practical reco...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — coverage-analysis (gpt-5.6-luna)

Why: Net win +50.0% (4W/4T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +12.3% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 4W/4T/0L; d=4; p=0.063; net +50.0%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Low (score 0.15)

Repeated-run reliability (not used by the gate): 26 paired runs (11W/12T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Coverage plateau diagnosis Eligible +0.0% +0.0% 0/2/0
= Distinguish partially covered branches from covered lines Eligible +0.0% +0.0% 0/2/0
= Project-wide coverage analysis with existing Cobertura data Eligible +0.0% +0.0% 0/2/0
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 1/0/1
▼ Stay dormant for one-member CRAP analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
▼ Stay dormant for static source-to-test pairing Excluded (activation contract) -50.0% -20.0% 0/1/1

Illustrative judge evidence:

  • Coverage plateau diagnosis: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — detect-static-dependencies (gpt-5.6-luna)

Why: Net win +50.0% (4W/4T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +20.0% across 8 paired run(s) — not credible — 4 of 8 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: Inspect tied or lost stimuli; predeclare added breadth before a new experiment.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 4W/4T/0L; d=4; p=0.063; net +50.0%

Warnings: Activation: isolated 7/8; plugin 8/8

Overfit: Low (score 0.16)

Repeated-run reliability (not used by the gate): 8 paired runs (4W/4T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Avoid false positives when ambient resources are already abstracted Eligible +0.0% +0.0% 0/1/0
= Decline scan for non-C# project Eligible +0.0% +0.0% 0/1/0
= Detect time-related statics and recommend TimeProvider Eligible +0.0% +0.0% 0/1/0
= Exclude obj and bin directories from the scan Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Avoid false positives when ambient resources are already abstracted: Both responses correctly audited the code, reported 0 dependencies needing a seam, identified TimeProvider/IFileStore/HttpClient as injected, excluded Path.Combine, and stayed concise. B's mention of HttpClient handler testability is slightly more accurate, while A is marginal...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +28.9% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded

Overfit: Moderate (score 0.23)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
▼ Detect mixed severity anti-patterns in repository service tests Eligible -100.0% -40.0% 0/0/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (gpt-5.6-luna)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +22.2% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded

Overfit: Moderate (score 0.23)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
▼ Detect flakiness indicators and test coupling Eligible -100.0% -40.0% 0/0/1
= Detect self-referential assertions in round-trip and identity tests Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: tie, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +75.0% (7W/0T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.035), mean preference +45.0% across 8 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%

Overfit: Moderate (score 0.36)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Eligible -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Decline scan for non-C# project: A actually completes the requested scan, reports the concrete finding with location, and gives an appropriate Django-oriented fix. B only offers to do the requested work later, so despite better explicit skill-scope clarification it does not satisfy the user's request.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +70.0% (8W/1T/1L over 10 preference-eligible stimulus vote(s), sign test p=0.020), mean preference +52.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 8W/1T/1L; d=9; p=0.020; net +70.0%

Overfit: Moderate (score 0.32)

Repeated-run reliability (not used by the gate): 10 paired runs (8W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate DateTime.UtcNow to TimeProvider in a service class Eligible +0.0% +0.0% 0/1/0
▼ Migrate a static helper class without breaking its callers Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Migrate DateTime.UtcNow to TimeProvider in a service class: The resulting implementation is substantively the same and satisfies every requested change. Response B provides somewhat more explicit verification in its narrative, but that does not establish a material final-result quality advantage over Response A.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +50.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: Moderate (score 0.37)

Repeated-run reliability (not used by the gate): 12 paired runs (10W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline request to write new tests Excluded (activation contract) -100.0% -40.0% 0/0/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Decline request to write new tests: A is the more usable result because it produced and built tests against the supplied code, recovering from MSTest API issues. It omits webhook tests because the class exposes no webhook operation; B acknowledges that absence but nevertheless delivers a test file that reference...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 2 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 33868885994 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/588088506caf0ef34a5b37bb2e0f9e566fbae1ea/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 4, 2026 12:24

@Evangelink Evangelink left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/evaluate

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.

Copilot review overview

🟢 Approval recommended

The changes are consistent, schema-aligned, and primarily strengthen eval determinism and skill guidance without introducing risky runtime behavior.

Review tier: Lite
Findings: None

Issues resolved since last review (1)
Severity Finding
High severity tests/​dotnet-test/​migrate-static-to-wrapper/​eval.yaml — The grader that generates .eval-csharp-lines only strips full-line // comments. That allows a… View resolved comment

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 3 improved, ➖ 3 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 4 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit e4c74c7cdbee8ab1a85cb01d1e8fc7b20ac8b322; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ⛔ Activation contract failed n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 5 dormancy excluded 🟡 0.23 Dormancy contract: 2 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
coverage-analysis gpt-5.6-luna ⛔ Activation contract failed n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 5 dormancy excluded ✅ 0.14 Dormancy contract: 2 unexpected activation(s); Activation: isolated 7/8; plugin 7/8 Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded 🟡 0.25 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ➖ Not proven improved n=7; 5W/0T/2L; d=7; p=0.227; net +42.9%; 1 dormancy excluded ✅ 0.15 Inspect tied or lost stimuli and fix inconsistent skill behavior.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 9W/1T/0L; d=9; p=0.002; net +90.0% 🟡 0.38 Activation: isolated 10/10; plugin 9/10 Fix activation gaps; Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 8W/2T/0L; d=8; p=0.004; net +80.0% ✅ 0.16 None.
test-anti-patterns claude-sonnet-4.6 ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded 🟡 0.47 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-anti-patterns gpt-5.6-luna ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 1 dormancy excluded 🟡 0.22 Activation: isolated 8/8; plugin 7/8 Fix activation gaps; Review overfit evidence.
test-tagging claude-sonnet-4.6 ⛔ Activation contract failed n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 4 dormancy excluded 🟡 0.35 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
test-tagging gpt-5.6-luna ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded ✅ 0.18 Inspect tied or lost stimuli and fix inconsistent skill behavior.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — coverage-analysis (claude-sonnet-4.6)

Why: Net win +87.5% (7W/1T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +25.4% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (2 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 5 dormancy excluded

Warnings: Dormancy contract: 2 unexpected activation(s)

Overfit: Moderate (score 0.23)

Repeated-run reliability (not used by the gate): 26 paired runs (15W/8T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Coverage plateau diagnosis Eligible +0.0% +0.0% 1/0/1
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
▲ Stay dormant for one-member CRAP analysis Excluded (activation contract) +100.0% +40.0% 2/0/0
▼ Stay dormant for test trait distribution Excluded (activation contract) -50.0% -20.0% 0/1/1

Illustrative judge evidence:

  • Coverage plateau diagnosis: A is materially more reliable because its central coverage arithmetic and attribution of the remaining Enroll gap are correct. B has useful test specificity but contains a substantial numerical contradiction about the expected coverage gain.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — coverage-analysis (gpt-5.6-luna)

Why: Net win +87.5% (7W/1T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +18.5% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (2 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 5 dormancy excluded

Warnings: Dormancy contract: 2 unexpected activation(s); Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.14)

Repeated-run reliability (not used by the gate): 26 paired runs (14W/10T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Distinguish partially covered branches from covered lines Eligible +50.0% +20.0% 1/1/0
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% +0.0% 0/2/0
= Project-wide coverage analysis with existing Cobertura data Eligible +0.0% +0.0% 0/2/0
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 1/0/1

Illustrative judge evidence:

  • Distinguish partially covered branches from covered lines: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +45.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.25)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Decline scan for non-C# project: A completes the requested scan, reports the actual finding with location, and provides an actionable Django-correct remediation. B only declines based on an inapplicable skill and asks whether to do the work, so it does not fulfill the task.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — test-tagging (claude-sonnet-4.6)

Why: Net win +87.5% (7W/1T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +43.3% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 4 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.35)

Repeated-run reliability (not used by the gate): 12 paired runs (9W/1T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Classify Go tests where no trait attribute mechanism exists Eligible +0.0% +0.0% 0/1/0
▲ Decline request to write new tests Excluded (activation contract) +100.0% +40.0% 1/0/0
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -100.0% -100.0% 0/0/1
▼ Stay dormant for line and branch coverage diagnosis Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Classify Go tests where no trait attribute mechanism exists: Position-swap inconsistent (forward: A, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — detect-static-dependencies (gpt-5.6-luna)

Why: Net win +42.9% (5W/0T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.227), mean preference +10.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.227 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 5W/0T/2L; d=7; p=0.227; net +42.9%; 1 dormancy excluded

Overfit: Low (score 0.15)

Repeated-run reliability (not used by the gate): 8 paired runs (5W/0T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Avoid false positives when ambient resources are already abstracted Eligible -100.0% -40.0% 0/0/1
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Detect time-related statics and recommend TimeProvider Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Avoid false positives when ambient resources are already abstracted: Both responses reached the correct conclusion (0 seams needed) with correct reasoning on all criteria. A is marginally better due to slightly more precise injection-point line references and a slightly more concise presentation, but the difference is small.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +40.0% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded

Overfit: Moderate (score 0.47)

Repeated-run reliability (not used by the gate): 9 paired runs (7W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
▼ Detect mixed severity anti-patterns in repository service tests Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-tagging (gpt-5.6-luna)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +30.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded

Overfit: Low (score 0.18)

Repeated-run reliability (not used by the gate): 12 paired runs (7W/4T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit test distribution without modifying files Eligible -100.0% -40.0% 0/0/1
= Classify Go tests where no trait attribute mechanism exists Eligible +0.0% +0.0% 0/1/0
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Audit test distribution without modifying files: Both responses are strong, complete, and correct analyses of all 23 tests without modifying files. B has a clear advantage on the explicit positive/negative split, which is a direct rubric criterion A omitted. However, A is notably stronger on coverage-gap depth, business-crit...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +90.0% (9W/1T/0L over 10 preference-eligible stimulus vote(s), sign test p=0.002), mean preference +36.0% across 10 paired run(s) — credibly better

Next action: Fix activation gaps; Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 9W/1T/0L; d=9; p=0.002; net +90.0%

Warnings: Activation: isolated 10/10; plugin 9/10

Overfit: Moderate (score 0.38)

Repeated-run reliability (not used by the gate): 10 paired runs (9W/1T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate DateTime.UtcNow to TimeProvider in a service class Eligible +0.0% +0.0% 0/1/0
▲ Migrate environment access to an existing reader and update tests Eligible +100.0% +40.0% 1/0/0

Illustrative judge evidence:

  • Migrate DateTime.UtcNow to TimeProvider in a service class: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-anti-patterns (gpt-5.6-luna)

Why: Net win +75.0% (6W/2T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +26.7% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Fix activation gaps; Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 1 dormancy excluded

Warnings: Activation: isolated 8/8; plugin 7/8

Overfit: Moderate (score 0.22)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/3T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
▲ Detect duplicated tests and magic values Eligible +100.0% +40.0% 1/0/0
= Detect self-referential assertions in round-trip and identity tests Eligible +0.0% +0.0% 0/1/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 1 result are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34197737325 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/e4c74c7cdbee8ab1a85cb01d1e8fc7b20ac8b322/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 5 improved, ➖ 3 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 2 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit c870df2e5ebdccf1e846f04b0056f1df137ad7c0; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ➖ Not proven improved n=8; 4W/3T/1L; d=5; p=0.188; net +37.5%; 5 dormancy excluded 🟡 0.39 Inspect tied or lost stimuli and fix inconsistent skill behavior.
coverage-analysis gpt-5.6-luna ⛔ Activation contract failed n=8; 5W/1T/2L; d=7; p=0.227; net +37.5%; 5 dormancy excluded ✅ 0.11 Dormancy contract: 1 unexpected activation(s); Activation: isolated 6/8; plugin 7/8 Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded ✅ 0.20 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ✅ Improved n=7; 5W/2T/0L; d=5; p=0.031; net +71.4%; 1 dormancy excluded ✅ 0.16 None.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 8W/2T/0L; d=8; p=0.004; net +80.0% 🟡 0.28 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 8W/2T/0L; d=8; p=0.004; net +80.0% ✅ 0.14 None.
test-anti-patterns claude-sonnet-4.6 ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 1 dormancy excluded 🟡 0.34 Review overfit evidence.
test-anti-patterns gpt-5.6-luna ➖ Not proven improved n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded 🟡 0.24 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 4 dormancy excluded 🔴 0.54 Review overfit evidence.
test-tagging gpt-5.6-luna ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded ✅ 0.16 Inspect tied or lost stimuli and fix inconsistent skill behavior.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — coverage-analysis (gpt-5.6-luna)

Why: Net win +37.5% (5W/1T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.227), mean preference +13.1% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 5W/1T/2L; d=7; p=0.227; net +37.5%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s); Activation: isolated 6/8; plugin 7/8

Overfit: Low (score 0.11)

Repeated-run reliability (not used by the gate): 26 paired runs (11W/11T/4L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Distinguish partially covered branches from covered lines Eligible -50.0% -20.0% 0/1/1
▼ Project-wide coverage analysis with existing Cobertura data Eligible -50.0% -20.0% 0/1/1
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 0/2/0
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
▼ Stay dormant for one-member CRAP analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
= Stay dormant for static source-to-test pairing Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Distinguish partially covered branches from covered lines: Both responses are correct, accurate, and avoid inventing source predicates. They cover the same core points well. Response A is slightly more thorough: it explicitly notes the report cannot identify which specific predicates are missing (directly satisfying rubric 5), gives c...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +45.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Low (score 0.20)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Decline scan for non-C# project: A directly completes the user's requested Django-project scan, correctly finds the sole call shown in the repository, and gives actionable guidance. B declines the task based on an irrelevant skill limitation and produces no scan result.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +37.5% (4W/3T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +15.4% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.188 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 4W/3T/1L; d=5; p=0.188; net +37.5%; 5 dormancy excluded

Overfit: Moderate (score 0.39)

Repeated-run reliability (not used by the gate): 26 paired runs (11W/8T/7L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Analyse a CI Cobertura report without re-running tests or installing tools Eligible -50.0% -20.0% 0/1/1
= Coverage plateau diagnosis Eligible +0.0% +0.0% 0/2/0
▼ Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) -50.0% -20.0% 0/1/1
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 1/0/1
= Refactoring safety assessment from coverage data Eligible +0.0% +0.0% 1/0/1
▼ Stay dormant for one-member CRAP analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
▼ Stay dormant for static source-to-test pairing Excluded (activation contract) -100.0% -40.0% 0/0/2
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Analyse a CI Cobertura report without re-running tests or installing tools: Both satisfy the core operational constraints and identify the same priority ordering with the key CalculateGpa figures. A is more directly responsive and complies with the requested hotspot-only presentation, whereas B unnecessarily tables a fully covered method and is more v...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (gpt-5.6-luna)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +22.2% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded

Overfit: Moderate (score 0.24)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Detect coverage-touching pattern across a service facade Eligible -100.0% -40.0% 0/0/1
= Detect duplicated tests and magic values Eligible +0.0% +0.0% 0/1/0
= Detect flakiness indicators and test coupling Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Both responses correctly diagnose the core anti-pattern and provide accurate, code-level fixes with correct discount math. The key difference is severity ranking: the task explicitly asked for a 'severity-ranked list.' Response A delivers a genuine 7-item severity gradient (Cr...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-tagging (gpt-5.6-luna)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +36.7% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded

Overfit: Low (score 0.16)

Repeated-run reliability (not used by the gate): 12 paired runs (6W/5T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit test distribution without modifying files Eligible -100.0% -40.0% 0/0/1
= Classify Go tests where no trait attribute mechanism exists Eligible +0.0% +0.0% 0/1/0
= Decline request to write new tests Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Audit test distribution without modifying files: Both responses are strong, accurate, and complete analyses of the same 23-test suite with consistent counts, boundary identification, and no file modifications. B has a slightly cleaner per-test positive/negative trait table. However, A provides notably deeper business-critica...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +80.0% (8W/2T/0L over 10 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +50.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 8W/2T/0L; d=8; p=0.004; net +80.0%

Overfit: Moderate (score 0.28)

Repeated-run reliability (not used by the gate): 10 paired runs (8W/2T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate DateTime.UtcNow to TimeProvider in a service class Eligible +0.0% +0.0% 0/1/0
= Migrate a static helper class without breaking its callers Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Migrate DateTime.UtcNow to TimeProvider in a service class: The resulting implementations are substantively the same and satisfy every requested migration requirement. B provides marginally more explicit verification detail, but not a meaningful final-result quality advantage.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +75.0% (6W/2T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +33.3% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 1 dormancy excluded

Overfit: Moderate (score 0.34)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/3T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0
= Detect self-referential assertions in round-trip and identity tests Eligible +0.0% +0.0% 0/1/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect mixed severity anti-patterns in repository service tests: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +75.0% (7W/0T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.035), mean preference +35.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 4 dormancy excluded

Overfit: High (score 0.54)

Repeated-run reliability (not used by the gate): 12 paired runs (8W/2T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit test distribution without modifying files Eligible -100.0% -40.0% 0/0/1
▼ Decline request to write new tests Excluded (activation contract) -100.0% -100.0% 0/0/1
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Audit test distribution without modifying files: A is materially more internally coherent on the apparent 26-test suite and provides a concise, useful coverage-shape analysis. It falls short of individually naming every test and contradicts itself about whitespace-email coverage. B's per-test-table format is promising, but i...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 2 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34198319014 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/c870df2e5ebdccf1e846f04b0056f1df137ad7c0/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b62ad695-3f5f-482c-a4e6-6b47c654e366

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.

Copilot review overview

🟢 Approval recommended

The updates are confined to eval specs, skill documentation, fixtures, and synced manifest versions, and the new graders align with the skill-validator schema/contracts.

Review tier: Lite
Findings: None

@Evangelink

Copy link
Copy Markdown
Member Author

/evaluate aab180f

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 4 improved, ➖ 2 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 4 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit adee7f91a5f7999fba1ed0dc954f16a5fb509cc2; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ⛔ Activation contract failed n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 5 dormancy excluded 🟡 0.31 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
coverage-analysis gpt-5.6-luna ⛔ Activation contract failed n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 5 dormancy excluded ✅ 0.12 Dormancy contract: 1 unexpected activation(s); Activation: isolated 6/8; plugin 7/8 Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded 🔴 0.54 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ➖ Not proven improved n=7; 5W/0T/2L; d=7; p=0.227; net +42.9%; 1 dormancy excluded ✅ 0.10 Inspect tied or lost stimuli and fix inconsistent skill behavior.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 9W/1T/0L; d=9; p=0.002; net +90.0% 🟡 0.34 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 7W/3T/0L; d=7; p=0.008; net +70.0% ✅ 0.16 None.
test-anti-patterns claude-sonnet-4.6 ✅ Improved n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 1 dormancy excluded 🟡 0.32 Review overfit evidence.
test-anti-patterns gpt-5.6-luna ⛔ Activation contract failed n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 1 dormancy excluded ✅ 0.13 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🟡 0.46 Review overfit evidence.
test-tagging gpt-5.6-luna ➖ Not proven improved n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 4 dormancy excluded ✅ 0.14 Inspect tied or lost stimuli and fix inconsistent skill behavior.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — coverage-analysis (claude-sonnet-4.6)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +31.5% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.31)

Repeated-run reliability (not used by the gate): 26 paired runs (18W/3T/5L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Coverage plateau diagnosis Eligible -100.0% -70.0% 0/0/2
▲ Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +100.0% +70.0% 2/0/0
= Refactoring safety assessment from coverage data Eligible +0.0% +0.0% 1/0/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 1/0/1

Illustrative judge evidence:

  • Coverage plateau diagnosis: A is internally consistent and accurately frames both remaining blockers. B has similarly useful detail and correct arithmetic, but its repeated claim that CalculateGpa is the sole/entire gap is a material contradiction that could mislead the user about the final uncovered Enr...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — coverage-analysis (gpt-5.6-luna)

Why: Net win +50.0% (6W/0T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.145), mean preference +15.4% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s); Activation: isolated 6/8; plugin 7/8

Overfit: Low (score 0.12)

Repeated-run reliability (not used by the gate): 26 paired runs (14W/8T/4L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Distinguish partially covered branches from covered lines Eligible -50.0% -20.0% 0/1/1
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% +0.0% 0/2/0
▼ Reconcile a coverage target spread across several members Eligible -100.0% -40.0% 0/0/2
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Distinguish partially covered branches from covered lines: Both responses are correct, accurate, and avoid inventing source details. A edges ahead by explicitly addressing compound predicate operands and short-circuit combinations, directly satisfying criterion 5 more fully, while B is more generic on that point. Otherwise they are es...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +30.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: High (score 0.54)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Decline scan for non-C# project: A actually fulfills the request: it scans the Python project, identifies the concrete occurrence with file and line, and supplies relevant remediation options. B merely declines based on a C#-specific skill and leaves the requested scan undone.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — test-anti-patterns (gpt-5.6-luna)

Why: Net win +75.0% (6W/2T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +22.2% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Low (score 0.13)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0
▼ Stay dormant for test trait distribution Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — detect-static-dependencies (gpt-5.6-luna)

Why: Net win +42.9% (5W/0T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.227), mean preference +10.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.227 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 5W/0T/2L; d=7; p=0.227; net +42.9%; 1 dormancy excluded

Overfit: Low (score 0.10)

Repeated-run reliability (not used by the gate): 8 paired runs (5W/0T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Avoid false positives when ambient resources are already abstracted Eligible -100.0% -40.0% 0/0/1
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Detect time-related statics and recommend TimeProvider Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Avoid false positives when ambient resources are already abstracted: Both responses reach identical, correct conclusions (count 0, correct classification of injected deps and Path.Combine, concise, no redundant wrappers). The distinguishing factor is line-number accuracy: the nl -ba output confirms timeProvider/fileStore/httpClient are on lines...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-tagging (gpt-5.6-luna)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +25.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 4 dormancy excluded

Overfit: Low (score 0.14)

Repeated-run reliability (not used by the gate): 12 paired runs (5W/5T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Audit test distribution without modifying files Eligible +0.0% +0.0% 0/1/0
= Classify Go tests where no trait attribute mechanism exists Eligible +0.0% +0.0% 0/1/0
= Decline request to write new tests Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Stay dormant for line and branch coverage diagnosis Excluded (activation contract) -100.0% -40.0% 0/0/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Tag an untagged xUnit test suite Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Audit test distribution without modifying files: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +90.0% (9W/1T/0L over 10 preference-eligible stimulus vote(s), sign test p=0.002), mean preference +42.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 9W/1T/0L; d=9; p=0.002; net +90.0%

Overfit: Moderate (score 0.34)

Repeated-run reliability (not used by the gate): 10 paired runs (9W/1T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate a static helper class without breaking its callers Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +87.5% (7W/1T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +37.8% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 1 dormancy excluded

Overfit: Moderate (score 0.32)

Repeated-run reliability (not used by the gate): 9 paired runs (7W/2T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +51.7% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: Moderate (score 0.46)

Repeated-run reliability (not used by the gate): 12 paired runs (9W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline request to write new tests Excluded (activation contract) -100.0% -40.0% 0/0/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Decline request to write new tests: A provides a substantially more usable MSTest suite for the actual PaymentGateway API. B has broader intended webhook coverage, but as delivered it introduces a compile-breaking dependency on an absent ProcessWebhookAsync method and weakens several tests by allowing incompatib...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 1 result are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34199712621 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/adee7f91a5f7999fba1ed0dc954f16a5fb509cc2/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 7 improved, ➖ 2 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 1 activation contract failure, 📉 0 preference losses (report only).

Measurement identity: evaluated commit aab180f4ff7e4a1b8ff76ece1e22390829a4a4a0; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 5 dormancy excluded 🟡 0.42 Inspect tied or lost stimuli and fix inconsistent skill behavior.
coverage-analysis gpt-5.6-luna ✅ Improved n=8; 5W/3T/0L; d=5; p=0.031; net +62.5%; 5 dormancy excluded ✅ 0.15 Activation: isolated 7/8; plugin 7/8 Fix activation gaps.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded 🟡 0.40 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ✅ Improved n=7; 5W/2T/0L; d=5; p=0.031; net +71.4%; 1 dormancy excluded ✅ 0.14 None.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 8W/1T/1L; d=9; p=0.020; net +70.0% 🟡 0.31 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 8W/2T/0L; d=8; p=0.004; net +80.0% ✅ 0.17 None.
test-anti-patterns claude-sonnet-4.6 ✅ Improved n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 1 dormancy excluded ✅ 0.18 None.
test-anti-patterns gpt-5.6-luna ➖ Not proven improved n=8; 4W/3T/1L; d=5; p=0.188; net +37.5%; 1 dormancy excluded ✅ 0.08 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🔴 0.56 Review overfit evidence.
test-tagging gpt-5.6-luna ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 4 dormancy excluded ✅ 0.17 None.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +37.5% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.40)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Decline scan for non-C# project: A actually fulfills the user's request: it scans the project, identifies the datetime.now() occurrence with location and context, and gives relevant Django fixes. B correctly notes a mismatched C# skill but unnecessarily stops and asks permission rather than performing the req...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +30.8% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 5 dormancy excluded

Overfit: Moderate (score 0.42)

Repeated-run reliability (not used by the gate): 26 paired runs (17W/6T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Analyse a CI Cobertura report without re-running tests or installing tools Eligible +0.0% -30.0% 1/0/1
▼ Refactoring safety assessment from coverage data Eligible -100.0% -40.0% 0/0/2
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Analyse a CI Cobertura report without re-running tests or installing tools: Both obey the operational constraints and identify the same principal risks, but B's central CRAP arithmetic is off by roughly an order of magnitude, making its quantitative prioritization unreliable. A is compact and accurately communicates the useful report-backed hotspot fi...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (gpt-5.6-luna)

Why: Net win +37.5% (4W/3T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +13.3% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.188 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 4W/3T/1L; d=5; p=0.188; net +37.5%; 1 dormancy excluded

Overfit: Low (score 0.08)

Repeated-run reliability (not used by the gate): 9 paired runs (4W/4T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
= Detect duplicated tests and magic values Eligible +0.0% +0.0% 0/1/0
▼ Detect flakiness indicators and test coupling Eligible -100.0% -40.0% 0/0/1
= Recognize well-written tests without inventing false positives Eligible +0.0% +0.0% 0/1/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: tie, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — coverage-analysis (gpt-5.6-luna)

Why: Net win +62.5% (5W/3T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.031), mean preference +12.3% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Fix activation gaps.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 5W/3T/0L; d=5; p=0.031; net +62.5%; 5 dormancy excluded

Warnings: Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.15)

Repeated-run reliability (not used by the gate): 26 paired runs (9W/16T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Coverage plateau diagnosis Eligible +0.0% +0.0% 0/2/0
▲ Distinguish partially covered branches from covered lines Eligible +100.0% +40.0% 2/0/0
▼ Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) -50.0% -20.0% 0/1/1
= Project-wide coverage analysis with existing Cobertura data Eligible +0.0% +0.0% 0/2/0
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 0/2/0
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for static source-to-test pairing Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Coverage plateau diagnosis: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +70.0% (8W/1T/1L over 10 preference-eligible stimulus vote(s), sign test p=0.020), mean preference +40.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 8W/1T/1L; d=9; p=0.020; net +70.0%

Overfit: Moderate (score 0.31)

Repeated-run reliability (not used by the gate): 10 paired runs (8W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Migrate a static helper class without breaking its callers Eligible -100.0% -40.0% 0/0/1
= Migrate file calls to an existing custom store and remove real I/O tests Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: Both solutions satisfy the migration requirements and report passing tests. A is only slightly stronger overall because its test suite includes extra direct validation of deep nested restoration and idempotent disposal, with no evident regression in the core implementation.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +55.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: High (score 0.56)

Repeated-run reliability (not used by the gate): 12 paired runs (10W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Stay dormant for line and branch coverage diagnosis Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Stay dormant for behavioral gap analysis: Both responses appropriately stop on the missing repository contents and request the specific source and test evidence needed. Their final outputs are substantively equivalent.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 4 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34202636959 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/aab180f4ff7e4a1b8ff76ece1e22390829a4a4a0/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b62ad695-3f5f-482c-a4e6-6b47c654e366
@Evangelink

Copy link
Copy Markdown
Member Author

/evaluate cf3a78e

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.

Copilot review overview

🟡 Changes recommended

Two SKILL.md files introduce fallback shell-reader guidance without explicitly failing closed for content-exclusion/policy/workspace-boundary errors, which could encourage policy-violating behavior.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Lite
Findings: 1 Low severity

New issues introduced by this change (1)
Severity Finding
Low severity plugins/​dotnet-test/​skills/​detect-static-dependencies/​SKILL.md — The fallback guidance suggests using shell readers/grep after a file read fails, but it doesn’t…
Suppressed comments (1)

Previously missed (1) — in code that hasn't changed since the last review.

plugins/dotnet-test/skills/coverage-analysis/SKILL.md:90

  • This section recommends falling back to shell text/XML readers when the normal viewer fails, but it doesn’t state that this must not be used to bypass content-exclusion, permission/policy, or workspace-boundary errors. Please make the fail-closed behavior explicit so the skill doesn’t encourage policy-violating fallback reads.

Comment thread plugins/dotnet-test/skills/detect-static-dependencies/SKILL.md Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b62ad695-3f5f-482c-a4e6-6b47c654e366
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b62ad695-3f5f-482c-a4e6-6b47c654e366

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.

Copilot review overview

🟢 Approval recommended

The changes are cohesive, low-risk (docs/evals/fixtures), and I did not find schema, consistency, or broken-reference issues in the modified regions.

Review tier: Lite
Findings: None

Issues resolved since last review (1)
Severity Finding
Low severity plugins/​dotnet-test/​skills/​detect-static-dependencies/​SKILL.md — The fallback guidance suggests using shell readers/grep after a file read fails, but it doesn’t… View resolved comment

@Evangelink

Copy link
Copy Markdown
Member Author

/evaluate 53310db

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.

Copilot review overview

🟢 Approval recommended

The changes are internally consistent, remove stale references, and add deterministic validation to evals without introducing obvious schema or build issues in the updated fixtures/manifests.

Review tier: Lite
Findings: None

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 4 improved, ➖ 3 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 3 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit aab180f4ff7e4a1b8ff76ece1e22390829a4a4a0; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ➖ Not proven improved n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 5 dormancy excluded 🟡 0.39 Inspect tied or lost stimuli and fix inconsistent skill behavior.
coverage-analysis gpt-5.6-luna ⛔ Activation contract failed n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 5 dormancy excluded ✅ 0.15 Dormancy contract: 1 unexpected activation(s); Activation: isolated 7/8; plugin 7/8 Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded ✅ 0.19 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ➖ Not proven improved n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded ✅ 0.17 Inspect tied or lost stimuli and fix inconsistent skill behavior.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 8W/2T/0L; d=8; p=0.004; net +80.0% 🟡 0.29 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 7W/3T/0L; d=7; p=0.008; net +70.0% ✅ 0.14 None.
test-anti-patterns claude-sonnet-4.6 ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded ✅ 0.18 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-anti-patterns gpt-5.6-luna ⛔ Activation contract failed n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded ✅ 0.09 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🔴 0.52 Review overfit evidence.
test-tagging gpt-5.6-luna ✅ Improved n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 4 dormancy excluded ✅ 0.16 None.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — coverage-analysis (gpt-5.6-luna)

Why: Net win +75.0% (7W/0T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.035), mean preference +15.4% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s); Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.15)

Repeated-run reliability (not used by the gate): 26 paired runs (13W/10T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Distinguish partially covered branches from covered lines Eligible -50.0% -20.0% 0/1/1
▼ Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) -50.0% -50.0% 0/1/1
▼ Stay dormant for static source-to-test pairing Excluded (activation contract) -50.0% -20.0% 0/1/1

Illustrative judge evidence:

  • Distinguish partially covered branches from covered lines: Both responses are accurate, well-structured, and cover the core points equally. A edges ahead by explicitly addressing short-circuit evaluation of compound predicates (matching criterion 5) and avoiding speculative invented predicates, whereas B introduces example predicate n...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +45.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Low (score 0.19)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Decline scan for non-C# project: A actually fulfills the user's requested scan, identifies the concrete datetime.now() occurrence with file and line, and gives actionable remediation. B merely declines and asks whether to perform the scan the user already requested.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — test-anti-patterns (gpt-5.6-luna)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +17.8% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Low (score 0.09)

Repeated-run reliability (not used by the gate): 9 paired runs (5W/3T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
= Detect duplicated tests and magic values Eligible +0.0% +0.0% 0/1/0
▼ Detect flakiness indicators and test coupling Eligible -100.0% -40.0% 0/0/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: tie, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +16.9% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 5 dormancy excluded

Overfit: Moderate (score 0.39)

Repeated-run reliability (not used by the gate): 26 paired runs (13W/8T/5L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Analyse a CI Cobertura report without re-running tests or installing tools Eligible +0.0% +0.0% 1/0/1
▼ Coverage plateau diagnosis Eligible -50.0% -20.0% 0/1/1
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% -30.0% 1/0/1
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 1/0/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
▼ Stay dormant for static source-to-test pairing Excluded (activation contract) -50.0% -20.0% 0/1/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Analyse a CI Cobertura report without re-running tests or installing tools: Both satisfy the key operational constraints and reach the same useful hotspot ordering. A is more compact and avoids B's severe CRAP arithmetic error and inclusion of the fully covered method in the risk table.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — detect-static-dependencies (gpt-5.6-luna)

Why: Net win +57.1% (5W/1T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +15.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded

Overfit: Low (score 0.17)

Repeated-run reliability (not used by the gate): 8 paired runs (5W/1T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Avoid false positives when ambient resources are already abstracted Eligible +0.0% +0.0% 0/1/0
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Detect time-related statics and recommend TimeProvider Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Avoid false positives when ambient resources are already abstracted: Both responses reached identical, correct conclusions (count 0), identified the injected dependencies, excluded Path.Combine, avoided redundant wrappers, and remained concise. Quality is essentially equal across all criteria.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +28.9% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded

Overfit: Low (score 0.18)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
▼ Detect mixed severity anti-patterns in repository service tests Eligible -100.0% -40.0% 0/0/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +80.0% (8W/2T/0L over 10 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +44.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 8W/2T/0L; d=8; p=0.004; net +80.0%

Overfit: Moderate (score 0.29)

Repeated-run reliability (not used by the gate): 10 paired runs (8W/2T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate a static helper class without breaking its callers Eligible +0.0% +0.0% 0/1/0
= Preserve DateTimeKind when migrating to TimeProvider Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +48.3% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: High (score 0.52)

Repeated-run reliability (not used by the gate): 12 paired runs (8W/3T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline request to write new tests Excluded (activation contract) -100.0% -40.0% 0/0/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Decline request to write new tests: A is the more credible and verifiable test deliverable: it builds and targets the existing gateway for charge/refund tests. It is still flawed—modifying production code to add a webhook stub and shipping failing/ignored tests is not ideal—but B is less grounded in the actual s...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 2 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34205328606 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/aab180f4ff7e4a1b8ff76ece1e22390829a4a4a0/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 5 improved, ➖ 4 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 1 activation contract failure, 📉 0 preference losses (report only).

Measurement identity: evaluated commit cf3a78e33895be394c71aea83be4e68d2b88a00a; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ➖ Not proven improved n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 5 dormancy excluded 🟡 0.29 Inspect tied or lost stimuli and fix inconsistent skill behavior.
coverage-analysis gpt-5.6-luna ➖ Not proven improved n=8; 4W/2T/2L; d=6; p=0.344; net +25.0%; 5 dormancy excluded ✅ 0.14 Activation: isolated 7/8; plugin 7/8 Inspect tied or lost stimuli and fix inconsistent skill behavior.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded 🟡 0.46 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ✅ Improved n=7; 5W/2T/0L; d=5; p=0.031; net +71.4%; 1 dormancy excluded ✅ 0.14 Activation: isolated 7/7; plugin 6/7 Fix activation gaps.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 9W/0T/1L; d=10; p=0.011; net +80.0% 🟡 0.31 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 7W/3T/0L; d=7; p=0.008; net +70.0% ✅ 0.16 None.
test-anti-patterns claude-sonnet-4.6 ➖ Not proven improved n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded 🟡 0.29 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-anti-patterns gpt-5.6-luna ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded 🟡 0.24 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🟡 0.38 Review overfit evidence.
test-tagging gpt-5.6-luna ✅ Improved n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 4 dormancy excluded ✅ 0.16 None.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +57.5% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.46)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/1T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline scan for non-C# project Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Decline scan for non-C# project: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +50.0% (6W/0T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.145), mean preference +24.6% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.145 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 5 dormancy excluded

Overfit: Moderate (score 0.29)

Repeated-run reliability (not used by the gate): 26 paired runs (14W/8T/4L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% +0.0% 1/0/1
▼ Reconcile a coverage target spread across several members Eligible -50.0% -20.0% 0/1/1
▼ Refactoring safety assessment from coverage data Eligible -50.0% -20.0% 0/1/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
▼ Stay dormant for static source-to-test pairing Excluded (activation contract) -50.0% -20.0% 0/1/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Reconcile a coverage target spread across several members: Both fully satisfy the requested arithmetic and prioritization. A is slightly cleaner and avoids B's unnecessary claim that the one remaining project-wide uncovered line is 'within rounding'; line counts are exact, though B's underlying reconciliation is valid.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — coverage-analysis (gpt-5.6-luna)

Why: Net win +25.0% (4W/2T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +9.2% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 4W/2T/2L; d=6; p=0.344; net +25.0%; 5 dormancy excluded

Warnings: Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.14)

Repeated-run reliability (not used by the gate): 26 paired runs (9W/14T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Coverage plateau diagnosis Eligible +0.0% +0.0% 0/2/0
▼ Distinguish partially covered branches from covered lines Eligible -50.0% -20.0% 0/1/1
▼ Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) -50.0% -20.0% 0/1/1
= Project-wide coverage analysis with existing Cobertura data Eligible +0.0% +0.0% 0/2/0
▼ Reconcile a coverage target spread across several members Eligible -50.0% -20.0% 0/1/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Coverage plateau diagnosis: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +26.7% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded

Overfit: Moderate (score 0.29)

Repeated-run reliability (not used by the gate): 9 paired runs (5W/2T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Audit a pytest suite using Python-specific anti-pattern markers Eligible +0.0% +0.0% 0/1/0
▼ Detect coverage-touching pattern across a service facade Eligible -100.0% -40.0% 0/0/1
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0
▼ Stay dormant for test trait distribution Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Audit a pytest suite using Python-specific anti-pattern markers: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (gpt-5.6-luna)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +28.9% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded

Overfit: Moderate (score 0.24)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Detect coverage-touching pattern across a service facade Eligible -100.0% -40.0% 0/0/1
= Detect self-referential assertions in round-trip and identity tests Eligible +0.0% +0.0% 0/1/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Both responses are strong, accurate, and hit all rubric points with correct concrete fixes. The key differentiator is the severity ranking the task explicitly requested. Response A provides a genuinely severity-ranked list (Critical/High/Medium) that meaningfully distinguishes...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — detect-static-dependencies (gpt-5.6-luna)

Why: Net win +71.4% (5W/2T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.031), mean preference +25.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Fix activation gaps.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=7; 5W/2T/0L; d=5; p=0.031; net +71.4%; 1 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 6/7

Overfit: Low (score 0.14)

Repeated-run reliability (not used by the gate): 8 paired runs (5W/3T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Avoid false positives when ambient resources are already abstracted Eligible +0.0% +0.0% 0/1/0
= Decline scan for non-C# project Excluded (activation contract) +0.0% +0.0% 0/1/0
= Detect time-related statics and recommend TimeProvider Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Avoid false positives when ambient resources are already abstracted: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +80.0% (9W/0T/1L over 10 preference-eligible stimulus vote(s), sign test p=0.011), mean preference +44.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 9W/0T/1L; d=10; p=0.011; net +80.0%

Overfit: Moderate (score 0.31)

Repeated-run reliability (not used by the gate): 10 paired runs (9W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Migrate a static helper class without breaking its callers Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: Both solutions appear to implement the required static ambient TimeProvider seam correctly without changing callers. A is marginally stronger because its reported tests exercise deeper nesting and substantially broader concurrent async-flow isolation.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +55.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: Moderate (score 0.38)

Repeated-run reliability (not used by the gate): 12 paired runs (10W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline request to write new tests Excluded (activation contract) -100.0% -40.0% 0/0/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Decline request to write new tests: A is better grounded in the actual source and provides tests for its existing charge and refund API while clearly identifying the webhook API gap. B is broader in intent but its invented webhook interface makes the delivered test file incompatible with the provided class.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 2 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34206761436 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/cf3a78e33895be394c71aea83be4e68d2b88a00a/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 8 improved, ➖ 1 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 1 activation contract failure, 📉 0 preference losses (report only).

Measurement identity: evaluated commit 53310dbb560a99fbf42e7d190a033bb204201955; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ✅ Improved n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 5 dormancy excluded 🟡 0.39 Review overfit evidence.
coverage-analysis gpt-5.6-luna ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 5 dormancy excluded ✅ 0.14 Activation: isolated 7/8; plugin 7/8 Fix activation gaps.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 6W/0T/1L; d=7; p=0.063; net +71.4%; 1 dormancy excluded 🟡 0.46 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ✅ Improved n=7; 6W/1T/0L; d=6; p=0.016; net +85.7%; 1 dormancy excluded ✅ 0.15 None.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 8W/2T/0L; d=8; p=0.004; net +80.0% 🟡 0.32 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 7W/3T/0L; d=7; p=0.008; net +70.0% ✅ 0.15 None.
test-anti-patterns claude-sonnet-4.6 ✅ Improved n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 1 dormancy excluded 🟡 0.25 Review overfit evidence.
test-anti-patterns gpt-5.6-luna ➖ Not proven improved n=8; 4W/3T/1L; d=5; p=0.188; net +37.5%; 1 dormancy excluded ✅ 0.08 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🔴 0.56 Review overfit evidence.
test-tagging gpt-5.6-luna ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 4 dormancy excluded 🟡 0.22 Review overfit evidence.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +71.4% (6W/0T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +35.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 6W/0T/1L; d=7; p=0.063; net +71.4%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.46)

Repeated-run reliability (not used by the gate): 8 paired runs (6W/0T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -100.0% 0/0/1
▼ Detect time-related statics and recommend TimeProvider Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Detect time-related statics and recommend TimeProvider: Both successfully answer the core time-dependency scan and recommend the right .NET abstraction. A is more focused on the user's request, internally consistent, and provides actionable implementation and test code; B adds broad dependency coverage but contains report-count inc...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (gpt-5.6-luna)

Why: Net win +37.5% (4W/3T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +13.3% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.188 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 4W/3T/1L; d=5; p=0.188; net +37.5%; 1 dormancy excluded

Overfit: Low (score 0.08)

Repeated-run reliability (not used by the gate): 9 paired runs (4W/4T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
= Detect duplicated tests and magic values Eligible +0.0% +0.0% 0/1/0
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0
▼ Detect self-referential assertions in round-trip and identity tests Eligible -100.0% -40.0% 0/0/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +75.0% (7W/0T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.035), mean preference +26.2% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 5 dormancy excluded

Overfit: Moderate (score 0.39)

Repeated-run reliability (not used by the gate): 26 paired runs (16W/5T/5L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Analyse a CI Cobertura report without re-running tests or installing tools Eligible -50.0% -20.0% 0/1/1
▼ Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) -50.0% -20.0% 0/1/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for static source-to-test pairing Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Analyse a CI Cobertura report without re-running tests or installing tools: Both satisfy the operational requirements and find the same genuine hotspots, but A is more compact and reliable. B's manually computed CRAP score for the leading hotspot is off by roughly an order of magnitude and it includes speculative path descriptions and a safe method in...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — coverage-analysis (gpt-5.6-luna)

Why: Net win +75.0% (6W/2T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +13.8% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Fix activation gaps.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 5 dormancy excluded

Warnings: Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.14)

Repeated-run reliability (not used by the gate): 26 paired runs (11W/13T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Distinguish partially covered branches from covered lines Eligible +0.0% +0.0% 0/2/0
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% +0.0% 0/2/0
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 1/0/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
▼ Stay dormant for static source-to-test pairing Excluded (activation contract) -50.0% -20.0% 0/1/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Distinguish partially covered branches from covered lines: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +80.0% (8W/2T/0L over 10 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +44.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 8W/2T/0L; d=8; p=0.004; net +80.0%

Overfit: Moderate (score 0.32)

Repeated-run reliability (not used by the gate): 10 paired runs (8W/2T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate a static helper class without breaking its callers Eligible +0.0% +0.0% 0/1/0
= Migrate only in scoped files, leaving others untouched Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +87.5% (7W/1T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +35.6% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 1 dormancy excluded

Overfit: Moderate (score 0.25)

Repeated-run reliability (not used by the gate): 9 paired runs (8W/1T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect mixed severity anti-patterns in repository service tests: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +45.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: High (score 0.56)

Repeated-run reliability (not used by the gate): 12 paired runs (8W/2T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline request to write new tests Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -100.0% -40.0% 0/0/1
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Stay dormant for one-member CRAP analysis Excluded (activation contract) -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Decline request to write new tests: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (gpt-5.6-luna)

Why: Net win +75.0% (6W/2T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +40.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 4 dormancy excluded

Overfit: Moderate (score 0.22)

Repeated-run reliability (not used by the gate): 12 paired runs (6W/6T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Audit test distribution without modifying files Eligible +0.0% +0.0% 0/1/0
= Classify Go tests where no trait attribute mechanism exists Eligible +0.0% +0.0% 0/1/0
= Decline request to write new tests Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Audit test distribution without modifying files: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 2 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34207530712 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/53310dbb560a99fbf42e7d190a033bb204201955/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b62ad695-3f5f-482c-a4e6-6b47c654e366
@Evangelink

Copy link
Copy Markdown
Member Author

/evaluate 243bac5

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.

Copilot review overview

🟢 Approval recommended

The changes are coherent, low-risk (docs/evals/fixtures), and include consistent manifest version synchronization while strengthening deterministic validation in targeted scenarios.

Review tier: Lite
Findings: None

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

❌ Evaluation did not complete successfully (the evaluate job reported failure). Check the workflow run logs, then comment /evaluate adee7f91a5f7999fba1ed0dc954f16a5fb509cc2 to retry this exact commit.

8 partial result file(s) were preserved for diagnosis but were not consolidated because the full matrix did not complete.

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 4 improved, ➖ 4 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 2 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit 53310dbb560a99fbf42e7d190a033bb204201955; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ➖ Not proven improved n=8; 5W/1T/2L; d=7; p=0.227; net +37.5%; 5 dormancy excluded 🟡 0.30 Inspect tied or lost stimuli and fix inconsistent skill behavior.
coverage-analysis gpt-5.6-luna ⛔ Activation contract failed n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 5 dormancy excluded ✅ 0.13 Dormancy contract: 1 unexpected activation(s); Activation: isolated 7/8; plugin 7/8 Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 6W/0T/1L; d=7; p=0.063; net +71.4%; 1 dormancy excluded 🟡 0.24 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ➖ Not proven improved n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded ✅ 0.15 Inspect tied or lost stimuli and fix inconsistent skill behavior.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 8W/2T/0L; d=8; p=0.004; net +80.0% 🟡 0.28 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 7W/3T/0L; d=7; p=0.008; net +70.0% ✅ 0.17 None.
test-anti-patterns claude-sonnet-4.6 ➖ Not proven improved n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded 🟡 0.27 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-anti-patterns gpt-5.6-luna ✅ Improved n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 1 dormancy excluded ✅ 0.13 None.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🟡 0.34 Review overfit evidence.
test-tagging gpt-5.6-luna ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded ✅ 0.16 Inspect tied or lost stimuli and fix inconsistent skill behavior.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — coverage-analysis (gpt-5.6-luna)

Why: Net win +50.0% (6W/0T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.145), mean preference +12.3% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s); Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.13)

Repeated-run reliability (not used by the gate): 26 paired runs (11W/12T/3L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Coverage plateau diagnosis Eligible -50.0% -20.0% 0/1/1
▼ Distinguish partially covered branches from covered lines Eligible -100.0% -40.0% 0/0/2
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for static source-to-test pairing Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Coverage plateau diagnosis: Both correctly identify CalculateGpa as the blocker and both note the remaining Enroll line. B is stronger on quantifying the impact (the exact 46/47 improvement projection), which A omits. However, A is notably stronger on the concrete, actionable test recommendations coverin...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +71.4% (6W/0T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +27.5% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 6W/0T/1L; d=7; p=0.063; net +71.4%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.24)

Repeated-run reliability (not used by the gate): 8 paired runs (6W/0T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -100.0% 0/0/1
▼ Detect time-related statics and recommend TimeProvider Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Detect time-related statics and recommend TimeProvider: A is the more accurate, focused answer to the requested time-static audit, with correct locations and counts plus usable DI/testing guidance. B adds valuable built-in-TimeProvider and prioritization details, but its contradictory time totals are a material defect in a task exp...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +37.5% (5W/1T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.227), mean preference +23.1% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.227 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/1T/2L; d=7; p=0.227; net +37.5%; 5 dormancy excluded

Overfit: Moderate (score 0.30)

Repeated-run reliability (not used by the gate): 26 paired runs (15W/5T/6L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Coverage plateau diagnosis Eligible -50.0% -20.0% 0/1/1
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% +0.0% 1/0/1
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 1/0/1
▼ Refactoring safety assessment from coverage data Eligible -50.0% -20.0% 0/1/1
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Coverage plateau diagnosis: A is concise, correct, and internally consistent: it identifies both gaps and correctly estimates the resulting line coverage. B contains useful arithmetic and recommendations, but its “sole blocker” claim and 24-versus-25 uncovered-line statement materially conflict with its ...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — detect-static-dependencies (gpt-5.6-luna)

Why: Net win +57.1% (5W/1T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +22.5% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded

Overfit: Low (score 0.15)

Repeated-run reliability (not used by the gate): 8 paired runs (5W/1T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Avoid false positives when ambient resources are already abstracted Eligible +0.0% +0.0% 0/1/0
▼ Decline scan for non-C# project Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Detect time-related statics and recommend TimeProvider Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Avoid false positives when ambient resources are already abstracted: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +28.9% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%; 1 dormancy excluded

Overfit: Moderate (score 0.27)

Repeated-run reliability (not used by the gate): 9 paired runs (6W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect coverage-touching pattern across a service facade Eligible +0.0% +0.0% 0/1/0
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0
▼ Detect self-referential assertions in round-trip and identity tests Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-tagging (gpt-5.6-luna)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +40.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded

Overfit: Low (score 0.16)

Repeated-run reliability (not used by the gate): 12 paired runs (7W/4T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit test distribution without modifying files Eligible -100.0% -40.0% 0/0/1
= Classify Go tests where no trait attribute mechanism exists Eligible +0.0% +0.0% 0/1/0
= Decline request to write new tests Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Audit test distribution without modifying files: Both responses are accurate, complete, and correctly perform read-only analysis with consistent 23-test counts and full per-test classification. A is slightly better overall: it provides richer business-critical-path discussion, a more detailed and useful coverage-gaps analysi...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +80.0% (8W/2T/0L over 10 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +50.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 8W/2T/0L; d=8; p=0.004; net +80.0%

Overfit: Moderate (score 0.28)

Repeated-run reliability (not used by the gate): 10 paired runs (8W/2T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate a static helper class without breaking its callers Eligible +0.0% +0.0% 0/1/0
= Preserve DateTimeOffset values during TimeProvider migration Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +65.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: Moderate (score 0.34)

Repeated-run reliability (not used by the gate): 12 paired runs (12W/0T/0L).

Routine passing details for 2 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34210376892 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/53310dbb560a99fbf42e7d190a033bb204201955/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 6 improved, ➖ 2 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 2 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit 243bac5ca30045c61fdeece040f3472cd9e7688d; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ➖ Not proven improved n=8; 5W/1T/2L; d=7; p=0.227; net +37.5%; 5 dormancy excluded 🟡 0.36 Inspect tied or lost stimuli and fix inconsistent skill behavior.
coverage-analysis gpt-5.6-luna ⛔ Activation contract failed n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 5 dormancy excluded ✅ 0.15 Dormancy contract: 1 unexpected activation(s); Activation: isolated 7/8; plugin 7/8 Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies claude-sonnet-4.6 ⛔ Activation contract failed n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded 🟡 0.34 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
detect-static-dependencies gpt-5.6-luna ✅ Improved n=7; 5W/2T/0L; d=5; p=0.031; net +71.4%; 1 dormancy excluded ✅ 0.15 Activation: isolated 6/7; plugin 7/7 Fix activation gaps.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 9W/0T/1L; d=10; p=0.011; net +80.0% 🟡 0.38 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 6W/4T/0L; d=6; p=0.016; net +60.0% ✅ 0.14 None.
test-anti-patterns claude-sonnet-4.6 ✅ Improved n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 1 dormancy excluded 🟡 0.31 Review overfit evidence.
test-anti-patterns gpt-5.6-luna ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 1 dormancy excluded ✅ 0.11 None.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🔴 0.59 Review overfit evidence.
test-tagging gpt-5.6-luna ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded ✅ 0.14 Inspect tied or lost stimuli and fix inconsistent skill behavior.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
⛔ Activation contract failed — coverage-analysis (gpt-5.6-luna)

Why: Net win +75.0% (6W/2T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +23.8% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 5 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s); Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.15)

Repeated-run reliability (not used by the gate): 26 paired runs (15W/10T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Coverage plateau diagnosis Eligible +0.0% +0.0% 1/0/1
▲ Distinguish partially covered branches from covered lines Eligible +50.0% +20.0% 1/1/0
= Keep MTP coverage arguments behind the separator in SDK 10 VSTest mode Excluded (activation contract) +0.0% +0.0% 0/2/0
= Project-wide coverage analysis with existing Cobertura data Eligible +0.0% +0.0% 0/2/0
= Stay dormant for static source-to-test pairing Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Coverage plateau diagnosis: Both responses correctly identify CalculateGpa as the blocker, flag the Enroll gap, and quantify impact at ~98%. They are essentially equivalent on most criteria. A provides slightly more specific and enumerated test recommendations for CalculateGpa's branches, making it margi...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

⛔ Activation contract failed — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +50.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — activation contract failed (1 explicit dormancy scenario(s) activated the isolated target skill)

Next action: Narrow skill routing so the listed off-target scenarios stay dormant.

State: VALID_NO_CHANGE (activation_contract_failed)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: Moderate (score 0.34)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/1T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Stay dormant for Python wall-clock audit Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Stay dormant for Python wall-clock audit: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +37.5% (5W/1T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.227), mean preference +14.6% across 26 paired run(s), 5 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.227 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/1T/2L; d=7; p=0.227; net +37.5%; 5 dormancy excluded

Overfit: Moderate (score 0.36)

Repeated-run reliability (not used by the gate): 26 paired runs (11W/9T/6L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Coverage plateau diagnosis Eligible -50.0% -20.0% 0/1/1
▼ Reconcile a coverage target spread across several members Eligible -100.0% -40.0% 0/0/2
= Refactoring safety assessment from coverage data Eligible +0.0% +0.0% 0/2/0
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
▼ Stay dormant for one-member CRAP analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
▼ Stay dormant for static source-to-test pairing Excluded (activation contract) -50.0% -50.0% 0/1/1
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Coverage plateau diagnosis: Both answers are largely accurate and actionable, but A is more internally consistent. B's prominent claim that CalculateGpa represents all 25 uncovered lines is arithmetically and substantively false given the remaining uncovered Enroll line it subsequently acknowledges.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-tagging (gpt-5.6-luna)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +35.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 4 dormancy excluded

Overfit: Low (score 0.14)

Repeated-run reliability (not used by the gate): 12 paired runs (7W/4T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit test distribution without modifying files Eligible -100.0% -40.0% 0/0/1
= Classify Go tests where no trait attribute mechanism exists Eligible +0.0% +0.0% 0/1/0
= Decline request to write new tests Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Audit test distribution without modifying files: Both responses are strong, complete, and accurate, classifying all 23 tests and staying focused. B has a slight edge on explicit positive/negative and boundary trait tagging (aided by the test-tagging skill). However, A provides substantially deeper and more insightful coverag...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — detect-static-dependencies (gpt-5.6-luna)

Why: Net win +71.4% (5W/2T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.031), mean preference +27.5% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Fix activation gaps.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=7; 5W/2T/0L; d=5; p=0.031; net +71.4%; 1 dormancy excluded

Warnings: Activation: isolated 6/7; plugin 7/7

Overfit: Low (score 0.15)

Repeated-run reliability (not used by the gate): 8 paired runs (5W/2T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Avoid false positives when ambient resources are already abstracted Eligible +0.0% +0.0% 0/1/0
= Detect time-related statics and recommend TimeProvider Eligible +0.0% +0.0% 0/1/0
▼ Stay dormant for Python wall-clock audit Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Avoid false positives when ambient resources are already abstracted: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +80.0% (9W/0T/1L over 10 preference-eligible stimulus vote(s), sign test p=0.011), mean preference +56.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 9W/0T/1L; d=10; p=0.011; net +80.0%

Overfit: Moderate (score 0.38)

Repeated-run reliability (not used by the gate): 10 paired runs (9W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Migrate a static helper class without breaking its callers Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: Both solutions appear correct and satisfy the requested migration and tests. A has marginally stronger reported isolation/restoration verification, while B is otherwise comparable.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +75.0% (7W/0T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.035), mean preference +44.4% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 7W/0T/1L; d=8; p=0.035; net +75.0%; 1 dormancy excluded

Overfit: Moderate (score 0.31)

Repeated-run reliability (not used by the gate): 9 paired runs (8W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Detect mixed severity anti-patterns in repository service tests Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Detect mixed severity anti-patterns in repository service tests: Both satisfy all core rubric items. A is slightly more complete as an audit: it also flags the existing-user test's IsNotNull-only oracle as insufficient to establish that the requested user was returned. B instead characterizes that test positively, which is misleading given ...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +48.3% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: High (score 0.59)

Repeated-run reliability (not used by the gate): 12 paired runs (9W/1T/2L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline request to write new tests Excluded (activation contract) -100.0% -40.0% 0/0/1
= Stay dormant for line and branch coverage diagnosis Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Stay dormant for one-member CRAP analysis Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Decline request to write new tests: A is materially closer to a useful MSTest suite for the actual supplied PaymentGateway and candidly notes its unimplemented state. B achieves passing tests by scaffolding and modifying the codebase and testing a configurable fake, which is not a valid substitute for tests of t...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 2 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34212178165 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/243bac5ca30045c61fdeece040f3472cd9e7688d/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: b62ad695-3f5f-482c-a4e6-6b47c654e366
@Evangelink

Copy link
Copy Markdown
Member Author

/evaluate efbf069

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.

Copilot review overview

🟢 Approval recommended

The changes are consistent, internally coherent (including fixture/supporting updates), and I found no concrete defects or dangling references in the modified evals/skill docs.

Review tier: Lite
Findings: None

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

10 model/skill results across 5 skills and 2 models — ✅ 8 improved, ➖ 2 not proven improved, ⚠️ 0 invalid or underpowered, ⛔ 0 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit efbf069774e4e47dc563b8118c3bc7145836c582; 2 judge models.

Measurement health: 10 expected / 10 observed / 10 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots.

Objective completion gate: not enabled. Aggregate completion transitions are telemetry only, so this report does not claim that zero objective regressions were proven.

A result passes only when preference-eligible distinct-stimulus votes have aggregate net win of at least 20% and an exact one-sided sign-test result of p ≤ 0.05, and every explicit dormancy activation contract passes. Repeated runs measure reliability only.

Skill Model Verdict Gate evidence Overfit Warnings Next action
coverage-analysis claude-sonnet-4.6 ➖ Not proven improved n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 4 dormancy excluded 🟡 0.29 Inspect tied or lost stimuli and fix inconsistent skill behavior.
coverage-analysis gpt-5.6-luna ✅ Improved n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 4 dormancy excluded ✅ 0.13 Activation: isolated 7/8; plugin 7/8 Fix activation gaps.
detect-static-dependencies claude-sonnet-4.6 ✅ Improved n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded 🟡 0.26 Review overfit evidence.
detect-static-dependencies gpt-5.6-luna ✅ Improved n=7; 5W/2T/0L; d=5; p=0.031; net +71.4%; 1 dormancy excluded ✅ 0.15 None.
migrate-static-to-wrapper claude-sonnet-4.6 ✅ Improved n=10; 9W/1T/0L; d=9; p=0.002; net +90.0% 🟡 0.30 Review overfit evidence.
migrate-static-to-wrapper gpt-5.6-luna ✅ Improved n=10; 5W/5T/0L; d=5; p=0.031; net +50.0% ✅ 0.14 None.
test-anti-patterns claude-sonnet-4.6 ✅ Improved n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 1 dormancy excluded 🟡 0.42 Review overfit evidence.
test-anti-patterns gpt-5.6-luna ➖ Not proven improved n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded 🟡 0.24 Inspect tied or lost stimuli and fix inconsistent skill behavior.
test-tagging claude-sonnet-4.6 ✅ Improved n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded 🟡 0.41 Review overfit evidence.
test-tagging gpt-5.6-luna ✅ Improved n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 4 dormancy excluded ✅ 0.15 None.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ Not proven improved — the result is valid but did not pass both gates. This is not automatically a regression.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the skill.
  • ⛔ Activation contract failed — the isolated target skill activated on an explicit dormancy scenario. Dormancy preference is excluded, but this routing failure still blocks a pass.
  • 📉 Preference loss — the LLM judge credibly preferred baseline. It is report-only, not objective completion proof.
  • Gate evidencen preference-eligible distinct-stimulus votes, W/T/L stimulus votes, d discordant votes, exact one-sided p, net win, and the count of separately retained dormancy stimuli. The p value applies to one model/skill result; no matrix-wide multiple-comparison correction is applied.
  • Overfit — overfitting-judge severity (✅ Low, 🟡 Moderate, 🔴 High, — none) and score.
  • Warnings — activation, timeout, retry recovery, or unresolved comparison conditions that need attention.
  • Do not add repeated runs to increase statistical power. Do not add stimuli after seeing a near-pass unless the new breadth is predeclared for a new experiment.
➖ Not proven improved — coverage-analysis (claude-sonnet-4.6)

Why: Net win +50.0% (6W/0T/2L over 8 preference-eligible stimulus vote(s), sign test p=0.145), mean preference +20.8% across 24 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.145 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/0T/2L; d=8; p=0.145; net +50.0%; 4 dormancy excluded

Overfit: Moderate (score 0.29)

Repeated-run reliability (not used by the gate): 24 paired runs (13W/6T/5L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Reconcile a coverage target spread across several members Eligible -50.0% -20.0% 0/1/1
▼ Refactoring safety assessment from coverage data Eligible -50.0% -20.0% 0/1/1
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -100.0% -40.0% 0/0/2
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 1/0/1
= Stay dormant for static source-to-test pairing Excluded (activation contract) +0.0% +0.0% 0/2/0

Illustrative judge evidence:

  • Reconcile a coverage target spread across several members: A better answers the prioritization request by incorporating complexity and identifying the exact-minimum test combination. It does contain a nonessential arithmetic error when claiming fully covering Calculate alone yields 32/42; it would actually be 30/42. B avoids that erro...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

➖ Not proven improved — test-anti-patterns (gpt-5.6-luna)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +26.7% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.063 > 0.05)

Next action: Inspect tied or lost stimuli and fix inconsistent skill behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%; 1 dormancy excluded

Overfit: Moderate (score 0.24)

Repeated-run reliability (not used by the gate): 9 paired runs (7W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Detect coverage-touching pattern across a service facade Eligible -100.0% -40.0% 0/0/1
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect coverage-touching pattern across a service facade: Both responses are strong and cover the core rubric well with essentially identical identification of the anti-patterns and concrete fixes. The key difference is severity ranking: the task explicitly asked for a 'severity-ranked list.' Response A provides genuine severity tier...

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — coverage-analysis (gpt-5.6-luna)

Why: Net win +75.0% (6W/2T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +18.3% across 24 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Fix activation gaps.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 6W/2T/0L; d=6; p=0.016; net +75.0%; 4 dormancy excluded

Warnings: Activation: isolated 7/8; plugin 7/8

Overfit: Low (score 0.13)

Repeated-run reliability (not used by the gate): 24 paired runs (12W/8T/4L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Distinguish partially covered branches from covered lines Eligible +50.0% +20.0% 1/1/0
= Reconcile a coverage target spread across several members Eligible +0.0% +0.0% 1/0/1
= Refactoring safety assessment from coverage data Eligible +0.0% +30.0% 1/0/1
▼ Stay dormant for behavioral gap analysis Excluded (activation contract) -50.0% -20.0% 0/1/1
= Stay dormant for one-member CRAP analysis Excluded (activation contract) +0.0% +0.0% 0/2/0
= Stay dormant for static source-to-test pairing Excluded (activation contract) +0.0% +0.0% 0/2/0
▼ Stay dormant for test trait distribution Excluded (activation contract) -50.0% -20.0% 0/1/1

Illustrative judge evidence:

  • Distinguish partially covered branches from covered lines: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — detect-static-dependencies (claude-sonnet-4.6)

Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +45.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0%; 1 dormancy excluded

Overfit: Moderate (score 0.26)

Repeated-run reliability (not used by the gate): 8 paired runs (7W/0T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Stay dormant for Python timezone review Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Stay dormant for Python timezone review: Both answers directly and correctly answer the request without modifying files, but A avoids B's minor misleading characterization of datetime.now() and its relationship to the server timezone.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — migrate-static-to-wrapper (claude-sonnet-4.6)

Why: Net win +90.0% (9W/1T/0L over 10 preference-eligible stimulus vote(s), sign test p=0.002), mean preference +48.0% across 10 paired run(s) — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=10; 9W/1T/0L; d=9; p=0.002; net +90.0%

Overfit: Moderate (score 0.30)

Repeated-run reliability (not used by the gate): 10 paired runs (9W/1T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Migrate a static helper class without breaking its callers Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Migrate a static helper class without breaking its callers: The two runs implement the same appropriate AsyncLocal/TimeProvider scoped seam, preserve compatibility, and report equivalent focused passing test coverage. Naming and presentation differences do not establish a material quality advantage.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-anti-patterns (claude-sonnet-4.6)

Why: Net win +87.5% (7W/1T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +37.8% across 9 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 7W/1T/0L; d=7; p=0.008; net +87.5%; 1 dormancy excluded

Overfit: Moderate (score 0.42)

Repeated-run reliability (not used by the gate): 9 paired runs (7W/2T/0L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Detect mixed severity anti-patterns in repository service tests Eligible +0.0% +0.0% 0/1/0
= Stay dormant for test trait distribution Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect mixed severity anti-patterns in repository service tests: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

✅ Improved — test-tagging (claude-sonnet-4.6)

Why: Net win +100.0% (8W/0T/0L over 8 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +55.0% across 12 paired run(s), 4 dormancy stimulus/stimuli excluded from preference — credibly better

Next action: Review overfit evidence.

State: VALID_PASS (credible_preference_improvement)

Gate evidence: n=8; 8W/0T/0L; d=8; p=0.004; net +100.0%; 4 dormancy excluded

Overfit: Moderate (score 0.41)

Repeated-run reliability (not used by the gate): 12 paired runs (10W/1T/1L).

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Stay dormant for behavioral gap analysis Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Stay dormant for line and branch coverage diagnosis Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Stay dormant for behavioral gap analysis: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

This is one example, not the aggregate verdict. Open Full Results for every judgment.

Routine passing details for 3 results are in Full Results.

🔍 Full Results - all metrics and investigation details

To investigate non-passing or warning results, paste this to your AI coding agent:

For PR 1122 in dotnet/skills, download eval artifacts with gh run download 34216883457 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/efbf069774e4e47dc563b8118c3bc7145836c582/eng/vally-adapter/InvestigatingResults.md and follow it. Classify each result as measurement-invalid, underpowered, not-proven, preference-loss, or passing-with-warning. Use stateReason, result accounting, weak scenarios, and judge evidence to give the cause and exact next fix.

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting-on-review PR state label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants