Skip to content

Upgrade agentic workflows and fix stale PR cleanup - #916

Merged
Evangelink merged 9 commits into
mainfrom
fix-stale-pr-cleanup
Jul 20, 2026
Merged

Upgrade agentic workflows and fix stale PR cleanup#916
Evangelink merged 9 commits into
mainfrom
fix-stale-pr-cleanup

Conversation

@Evangelink

@Evangelink Evangelink commented Jul 20, 2026

Copy link
Copy Markdown
Member

Summary

This PR combines an agentic workflow runtime upgrade and stale-PR cleanup fix with related dotnet-test skill and evaluation improvements already present on the branch.

Agentic workflows

  • upgrades the repository's gh-aw runtime, dispatcher, action pins, maintenance workflow, and generated lock files
  • fixes stale PR cleanup so it searches only PRs older than the cutoff, paginates the complete result set, includes drafts, and processes the oldest closures before warnings
  • adds an explicit noop path when no stale PR action is required
  • adds the gh-aw router skill and Copilot agent setup workflow generated for the upgraded integration

The failed stale-PR run emitted only one warning for PR 703 because it inspected only the newest 100 open pull requests. The corrected search surfaces all eight old draft PRs that were previously beyond the first page.

dotnet-test skills and evaluations

  • clarifies the Research-Plan-Implement handoffs and language-specific extension guidance used by the code-testing agents
  • improves MSTest and xUnit-to-MSTest migration guidance and adds a mapping reference
  • adds and updates eval coverage for untested-source discovery, grading, and MSTest migration, including their fixture projects

Why copilot-setup-steps.yml is new

gh aw upgrade generated this repository-level setup workflow so GitHub Copilot coding agent sessions can install the matching gh-aw CLI before working with agentic workflows. GitHub recognizes the copilot-setup-steps job name and runs it during Copilot agent environment setup. The file is part of the upgraded gh-aw integration, not part of the stale PR cleanup runtime itself.

Security review

The post-merge gh-aw compilation flagged COPILOT_PAT_0 through COPILOT_PAT_9 as newly referenced restricted secrets. These references come from main's shared PAT-pool integration. I reviewed the flow: the trusted pat_pool job only checks which secrets are non-empty and emits a numeric index; the agent job then resolves that index to the matching secret through the case() expression. Secret values are not emitted by the selector or exposed to untrusted steps. No new actions or redirect changes were flagged by compilation. The secret additions are safe to approve.

github-actions Bot and others added 3 commits June 22, 2026 14:41
Upgrade the generated agentic workflow assets and ensure stale PR discovery includes every result page and draft pull requests.

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

Copilot-Session: 968a22c2-327f-4d26-8f86-1c59bcd323ea
Address remaining high-confidence items from #899 by bounding the code-testing pipeline and adding eval coverage for grade-tests and find-untested-sources.

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

Copilot-Session: e430fee9-d3df-4ef5-85a4-745ae4b17046
Copilot AI review requested due to automatic review settings July 20, 2026 08:12

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.

Pull request overview

This PR upgrades the repository’s gh-aw/agentic workflow runtime and regenerates the associated lock files, while also fixing the stale PR cleanup agent so it reliably finds and processes all old open PRs (including drafts) by paginating through the full result set and providing a noop path when nothing needs action.

Changes:

  • Upgraded gh-aw runtime/action pins and regenerated multiple .lock.yml workflows plus the generated maintenance workflow.
  • Updated the stale PR agent instructions to search only older PRs, include drafts, paginate all pages, and process oldest activity first.
  • Added a Copilot Agent “setup steps” workflow and introduced an “agentic-workflows” router skill/agent documentation.
Show a summary per file
File Description
.github/workflows/markdown-linter.md Updates action pins (checkout + super-linter).
.github/workflows/devops-health-investigate.lock.yml Regenerated lock workflow for newer gh-aw runtime and updated safe outputs / MCP gateway wiring.
.github/workflows/copilot-setup-steps.yml Adds a dedicated Copilot Agent setup workflow (checkout + gh-aw CLI install).
.github/workflows/close-stale-prs.agent.md Updates agent instructions to paginate and include drafts; adds noop behavior.
.github/workflows/close-stale-prs.agent.lock.yml Regenerated lock workflow for the stale PR agent with updated runtime and tooling.
.github/workflows/agentics-maintenance.yml Regenerated maintenance workflow for v0.82.8 with split expiration cleanup jobs and updated caching/forecast steps.
.github/skills/agentic-workflows/SKILL.md Adds an agentic workflow “router” skill for selecting the right gh-aw prompt/guide.
.github/aw/actions-lock.json Updates locked action versions (notably checkout v7 and gh-aw actions v0.82.8).
.github/agents/agentic-workflows.md Updates dispatcher agent metadata and points prompt URLs to raw.githubusercontent.com main branch references.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 14/15 changed files
  • Comments generated: 2

Comment thread .github/workflows/copilot-setup-steps.yml
Comment thread .github/workflows/close-stale-prs.agent.md Outdated
Pin the Copilot setup checkout action and include the cutoff date in stale PR search results.

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

Copilot-Session: 968a22c2-327f-4d26-8f86-1c59bcd323ea
Copilot AI review requested due to automatic review settings July 20, 2026 08:19

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's findings

  • Files reviewed: 14/15 changed files
  • Comments generated: 2

Comment thread .github/workflows/close-stale-prs.agent.lock.yml
Comment thread .github/workflows/devops-health-investigate.lock.yml
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 5e19d263-02a6-45b1-9cfb-424fa4d10863
Copilot AI review requested due to automatic review settings July 20, 2026 08:28

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's findings

  • Files reviewed: 34/35 changed files
  • Comments generated: 2

Comment thread tests/dotnet-test/find-untested-sources/eval.yaml
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a464e6e4-3e45-41fe-b17d-887c8cb8a448
Copilot AI review requested due to automatic review settings July 20, 2026 08:39

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's findings

  • Files reviewed: 34/35 changed files
  • Comments generated: 0 new

@github-actions github-actions Bot added the waiting-on-author PR state label label Jul 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

👋 @Evangelink — this PR has merge conflict. When you're ready, please address the feedback and push an update; the triage bot will pick up the next state automatically. (Add the no-stale label to silence further pings.)

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

Copilot-Session: a464e6e4-3e45-41fe-b17d-887c8cb8a448
Copilot AI review requested due to automatic review settings July 20, 2026 11:20
@github-actions

Copy link
Copy Markdown
Contributor

Skill Coverage Report

Plugin Skill Covered Coverage
dotnet-test-migration migrate-mstest-v1v2-to-v3 15/16 93.8%
dotnet-test-migration migrate-xunit-to-mstest 0/1 0%
dotnet-test code-testing-agent 3/3 100%
dotnet-test grade-tests 28/28 100%
Uncovered: dotnet-test-migration/migrate-mstest-v1v2-to-v3
  • [CodePattern] Assert.AreNotEqual (line 147)
Uncovered: dotnet-test-migration/migrate-xunit-to-mstest
  • [CodePattern] Parallelize (line 106)

@Evangelink

Copy link
Copy Markdown
Member Author

/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's findings

  • Files reviewed: 42/42 changed files
  • Comments generated: 1

Comment thread tests/dotnet-test/grade-tests/eval.vally.yaml
github-actions Bot added a commit that referenced this pull request Jul 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
migrate-mstest-v1v2-to-v3 Migrate MSTest v1 project with assembly reference 3.0/5 → 4.7/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Migrate MSTest v2 NuGet project to v3 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Fix Assert.AreEqual object overload errors after v3 upgrade 4.0/5 → 4.3/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill, bash ✅ 0.07 [1]
migrate-mstest-v1v2-to-v3 Migrate from .testsettings to .runsettings 4.0/5 → 4.0/5 ✅ migrate-mstest-v1v2-to-v3; tools: skill, bash ✅ 0.07 [2]
migrate-mstest-v1v2-to-v3 Fix DataRow type mismatch errors after v3 upgrade 3.0/5 → 2.7/5 🔴 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07 [3]
migrate-mstest-v1v2-to-v3 Migrate to MSTest.Sdk project style 3.3/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill, bash ✅ 0.07
migrate-mstest-v1v2-to-v3 Handle dropped target framework during v3 migration 2.0/5 → 4.7/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Migrate complex MSTest v2 project with testsettings, DataRow issues, and dropped TFM 4.3/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07 [4]
migrate-mstest-v1v2-to-v3 Correctly identify MSTest v1 vs v2 and recommend different migration paths 4.7/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill, glob / ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Execute and verify MSTest v2 to v3 migration 4.3/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07 [5]
migrate-xunit-to-mstest Migrate basic xUnit v2 project to MSTest v4 preserving VSTest 4.0/5 → 4.3/5 🟢 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.11 [6]
migrate-xunit-to-mstest Migrate basic xUnit v3 project to MSTest v4 preserving VSTest 4.0/5 → 1.7/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill, read_bash ✅ 0.11 [7]
migrate-xunit-to-mstest Stop when target framework is unsupported by MSTest v4 1.7/5 → 2.0/5 🟢 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, glob ✅ 0.11 [8]
migrate-xunit-to-mstest Convert IClassFixture to ClassInitialize 2.7/5 → 1.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, read_bash, grep ✅ 0.11
migrate-xunit-to-mstest Handle ICollectionFixture explicitly (do not silently widen scope) 3.3/5 → 2.7/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill, read_bash / ✅ migrate-xunit-to-mstest; tools: skill, grep, read_bash ✅ 0.11 [9]
migrate-xunit-to-mstest Convert ITestOutputHelper to TestContext 4.7/5 → 5.0/5 🟢 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, grep ✅ 0.11 [10]
migrate-xunit-to-mstest Map exception assertions correctly (xUnit Throws -> MSTest ThrowsExactly) 4.3/5 → 4.3/5 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.11 [11]
migrate-xunit-to-mstest Convert MemberData and TheoryData to DynamicData 3.3/5 → 1.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.11
migrate-xunit-to-mstest Convert Skip, Trait, and Timeout 2.3/5 → 2.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, read_bash ✅ 0.11 [12]
migrate-xunit-to-mstest Preserve xUnit parallelization default with [assembly: Parallelize] 2.7/5 → 1.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.11
migrate-xunit-to-mstest Convert xUnit v3 TestContext.Current.CancellationToken 4.0/5 → 4.3/5 🟢 ✅ migrate-xunit-to-mstest; tools: skill, grep / ✅ migrate-xunit-to-mstest; tools: skill, grep, read_bash ✅ 0.11 [13]
migrate-xunit-to-mstest Recognize project already on MSTest 5.0/5 → 5.0/5 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.11 [14]
code-testing-agent Generate tests for ContosoUniversity ASP.NET Core MVC app 3.0/5 → 3.0/5 ✅ code-testing-agent; tools: skill / ✅ code-testing-agent; tools: skill, task, read_agent 🟡 0.21 [15]
code-testing-agent Generate pytest tests for the Flask tasks API (Python polyglot) 4.3/5 → 4.0/5 🔴 ✅ code-testing-agent; tools: skill, edit / ✅ code-testing-agent; tools: skill 🟡 0.21 [16]
code-testing-agent Generate Vitest tests for the shopping-cart library (TypeScript polyglot) 5.0/5 → 4.7/5 🔴 ✅ code-testing-agent; tools: skill, edit 🟡 0.21
code-testing-agent Does not revert a gutted-looking workspace (workspace integrity) 5.0/5 → 5.0/5 ⚠️ NOT ACTIVATED 🟡 0.21 [17]
find-untested-sources Identify unpaired C# source files and suggest a test location 4.0/5 → 4.0/5 ⚠️ NOT ACTIVATED 🟡 0.23 [18]
find-untested-sources Reject non-C# source discovery 4.0/5 → 4.0/5 ℹ️ not activated (expected) 🟡 0.23 [19]
grade-tests Grade a curated list of MSTest tests with mixed quality 4.0/5 → 4.7/5 🟢 ✅ grade-tests; tools: skill, glob / ✅ grade-tests; tools: skill, bash, glob 🟡 0.21 [20]
grade-tests Grade pytest test methods using the same rubric 5.0/5 → 4.3/5 🔴 ✅ grade-tests; tools: skill / ✅ grade-tests; tools: skill, glob, bash, stop_bash 🟡 0.21 [21]
grade-tests Decline to grade the entire workspace when no test list is provided 1.0/5 → 4.7/5 🟢 ✅ grade-tests; tools: skill / ✅ grade-tests; test-analysis-extensions; tools: skill 🟡 0.21 [22]
grade-tests Grade Go table-driven tests without misreading the loop as branching 4.7/5 → 3.7/5 🔴 ✅ grade-tests; tools: skill, glob / ✅ grade-tests; tools: skill, bash, glob 🟡 0.21 [23]
grade-tests Grade tests when the production code under test is unavailable 4.0/5 → 4.0/5 ✅ grade-tests; tools: skill, glob / ✅ grade-tests; tools: skill, bash, glob 🟡 0.21 [24]

[1] ⚠️ High run-to-run variance (CV=5742%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=6045%) — consider re-running with --runs 5
[3] ⚠️ High run-to-run variance (CV=290%) — consider re-running with --runs 5
[4] ⚠️ High run-to-run variance (CV=160%) — consider re-running with --runs 5
[5] ⚠️ High run-to-run variance (CV=120%) — consider re-running with --runs 5
[6] ⚠️ High run-to-run variance (CV=923%) — consider re-running with --runs 5
[7] ⚠️ High run-to-run variance (CV=80%) — consider re-running with --runs 5
[8] ⚠️ High run-to-run variance (CV=153%) — consider re-running with --runs 5
[9] ⚠️ High run-to-run variance (CV=404%) — consider re-running with --runs 5
[10] (Isolated) Quality improved but weighted score is -4.7% due to: tokens (68870 → 112259), time (33.3s → 45.6s), tool calls (8 → 10)
[11] (Isolated) Quality unchanged but weighted score is -4.9% due to: tokens (63565 → 112950), tool calls (8 → 11)
[12] ⚠️ High run-to-run variance (CV=260%) — consider re-running with --runs 5
[13] ⚠️ High run-to-run variance (CV=216%) — consider re-running with --runs 5
[14] ⚠️ High run-to-run variance (CV=91%) — consider re-running with --runs 5. (Plugin) Quality unchanged but weighted score is -5.9% due to: tokens (25505 → 47685), tool calls (3 → 4), time (10.2s → 13.0s)
[15] ⚠️ High run-to-run variance (CV=84%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -12.8% due to: judgment, tokens (1362383 → 1536268)
[16] ⚠️ High run-to-run variance (CV=135%) — consider re-running with --runs 5
[17] ⚠️ High run-to-run variance (CV=53%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -16.7% due to: judgment, quality, time (44.2s → 55.3s)
[18] ⚠️ High run-to-run variance (CV=61%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -4.0% due to: quality
[19] (Isolated) Quality unchanged but weighted score is -2.2% due to: quality
[20] ⚠️ High run-to-run variance (CV=137%) — consider re-running with --runs 5
[21] (Plugin) Quality dropped but weighted score is +2.0% due to: completion (✗ → ✓)
[22] (Plugin) Quality unchanged but weighted score is -5.2% due to: tokens (58137 → 97476), time (27.1s → 47.1s)
[23] ⚠️ High run-to-run variance (CV=91%) — consider re-running with --runs 5
[24] ⚠️ High run-to-run variance (CV=68%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -24.1% due to: judgment, tokens (26456 → 54585), quality, tool calls (2 → 4), time (16.9s → 30.0s)

Model: claude-opus-4.6 | Judge: claude-opus-4.6

🔍 Full Results - additional metrics and failure investigation steps

To investigate failures, paste this to your AI coding agent:

For PR 916 in dotnet/skills, download eval artifacts with gh run download 29738308377 --repo dotnet/skills --pattern "skill-validator-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/3442f30f182e45981e369b43cde6c3b18a6a90f7/eng/skill-validator/src/docs/InvestigatingResults.md and follow it to analyze the results.json files. Diagnose each failure, suggest fixes to the eval.yaml and skill content, and tell me what to fix first.

▶ 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: a464e6e4-3e45-41fe-b17d-887c8cb8a448
Copilot AI review requested due to automatic review settings July 20, 2026 11:50
@Evangelink
Evangelink enabled auto-merge (squash) July 20, 2026 11:51

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's findings

  • Files reviewed: 42/42 changed files
  • Comments generated: 0 new

@github-actions github-actions Bot added pr-state/ready-for-eval PR is mergeable and awaiting evaluation and removed waiting-on-author PR state label labels Jul 20, 2026
@Evangelink
Evangelink merged commit 4df4da4 into main Jul 20, 2026
39 checks passed
@Evangelink
Evangelink deleted the fix-stale-pr-cleanup branch July 20, 2026 13:20
github-actions Bot added a commit that referenced this pull request Jul 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
migrate-mstest-v1v2-to-v3 Migrate MSTest v1 project with assembly reference 3.0/5 → 4.7/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Migrate MSTest v2 NuGet project to v3 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Fix Assert.AreEqual object overload errors after v3 upgrade 4.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07 [1]
migrate-mstest-v1v2-to-v3 Migrate from .testsettings to .runsettings 4.0/5 → 4.0/5 ✅ migrate-mstest-v1v2-to-v3; tools: skill, bash ✅ 0.07 [2]
migrate-mstest-v1v2-to-v3 Fix DataRow type mismatch errors after v3 upgrade 3.0/5 → 3.0/5 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07 [3]
migrate-mstest-v1v2-to-v3 Migrate to MSTest.Sdk project style 3.3/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill, edit, bash ✅ 0.07
migrate-mstest-v1v2-to-v3 Handle dropped target framework during v3 migration 2.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill, edit / ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Migrate complex MSTest v2 project with testsettings, DataRow issues, and dropped TFM 4.7/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07 [4]
migrate-mstest-v1v2-to-v3 Correctly identify MSTest v1 vs v2 and recommend different migration paths 4.3/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill, glob / ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-mstest-v1v2-to-v3 Execute and verify MSTest v2 to v3 migration 4.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill ✅ 0.07
migrate-xunit-to-mstest Migrate basic xUnit v2 project to MSTest v4 preserving VSTest 4.0/5 → 1.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, read_bash ✅ 0.08
migrate-xunit-to-mstest Migrate basic xUnit v3 project to MSTest v4 preserving VSTest 3.0/5 → 1.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill, bash / ✅ migrate-xunit-to-mstest; tools: skill, bash, read_bash ✅ 0.08
migrate-xunit-to-mstest Stop when target framework is unsupported by MSTest v4 1.0/5 → 1.7/5 🟢 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.08 [5]
migrate-xunit-to-mstest Convert IClassFixture to ClassInitialize 2.3/5 → 1.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill, bash / ✅ migrate-xunit-to-mstest; tools: skill, bash, grep, read_bash ✅ 0.08
migrate-xunit-to-mstest Handle ICollectionFixture explicitly (do not silently widen scope) 2.7/5 → 1.0/5 🔴 ✅ migrate-xunit-to-mstest; tools: skill, bash / ✅ migrate-xunit-to-mstest; tools: skill, grep, bash, read_bash ✅ 0.08
migrate-xunit-to-mstest Convert ITestOutputHelper to TestContext 4.7/5 → 5.0/5 🟢 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, grep ✅ 0.08 [6]
migrate-xunit-to-mstest Map exception assertions correctly (xUnit Throws -> MSTest ThrowsExactly) 5.0/5 → 5.0/5 ✅ migrate-xunit-to-mstest; tools: skill, grep / ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.08 [7]
migrate-xunit-to-mstest Convert MemberData and TheoryData to DynamicData 5.0/5 → 5.0/5 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, read_bash ✅ 0.08 [8]
migrate-xunit-to-mstest Convert Skip, Trait, and Timeout 4.0/5 → 4.0/5 ✅ migrate-xunit-to-mstest; tools: skill / ✅ migrate-xunit-to-mstest; tools: skill, grep, read_bash ✅ 0.08 [9]
migrate-xunit-to-mstest Preserve xUnit parallelization default with [assembly: Parallelize] 3.7/5 → 4.0/5 🟢 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.08 [10]
migrate-xunit-to-mstest Convert xUnit v3 TestContext.Current.CancellationToken 3.7/5 → 3.7/5 ✅ migrate-xunit-to-mstest; tools: skill, grep ✅ 0.08 [11]
migrate-xunit-to-mstest Recognize project already on MSTest 5.0/5 → 5.0/5 ✅ migrate-xunit-to-mstest; tools: skill ✅ 0.08 [12]
code-testing-agent Generate tests for ContosoUniversity ASP.NET Core MVC app 3.0/5 → 3.0/5 ✅ code-testing-agent; tools: skill / ✅ code-testing-agent; tools: edit, skill, task, read_agent, glob 🟡 0.25 [13]
code-testing-agent Generate pytest tests for the Flask tasks API (Python polyglot) 5.0/5 → 4.3/5 🔴 ✅ code-testing-agent; tools: skill, edit / ✅ code-testing-agent; tools: skill 🟡 0.25 [14]
code-testing-agent Generate Vitest tests for the shopping-cart library (TypeScript polyglot) 5.0/5 → 5.0/5 ✅ code-testing-agent; tools: skill 🟡 0.25 [15]
code-testing-agent Does not revert a gutted-looking workspace (workspace integrity) 5.0/5 → 5.0/5 ⚠️ NOT ACTIVATED 🟡 0.25 [16]
find-untested-sources Identify unpaired C# source files and suggest a test location 4.0/5 → 4.0/5 ⚠️ NOT ACTIVATED 🟡 0.32 [17]
find-untested-sources Reject non-C# source discovery 3.3/5 → 3.3/5 ℹ️ not activated (expected) 🟡 0.32 [18]
grade-tests Grade a curated list of MSTest tests with mixed quality 4.0/5 → 5.0/5 🟢 ✅ grade-tests; tools: skill, glob / ✅ grade-tests; tools: skill, glob, bash ✅ 0.20 [19]
grade-tests Grade pytest test methods using the same rubric 5.0/5 → 4.0/5 🔴 ✅ grade-tests; tools: skill, glob / ✅ grade-tests; tools: skill, glob, bash ✅ 0.20 [20]
grade-tests Decline to grade the entire workspace when no test list is provided 1.0/5 → 2.0/5 🟢 ✅ grade-tests; tools: skill, glob ✅ 0.20 [21]
grade-tests Grade Go table-driven tests without misreading the loop as branching 4.0/5 → 4.0/5 ✅ grade-tests; tools: skill, glob ✅ 0.20 [22]
grade-tests Grade tests when the production code under test is unavailable 4.0/5 → 4.0/5 ✅ grade-tests; tools: skill, glob / ✅ grade-tests; tools: skill, glob, bash ✅ 0.20 [23]

[1] ⚠️ High run-to-run variance (CV=128%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=2308%) — consider re-running with --runs 5
[3] ⚠️ High run-to-run variance (CV=309%) — consider re-running with --runs 5
[4] ⚠️ High run-to-run variance (CV=551%) — consider re-running with --runs 5
[5] ⚠️ High run-to-run variance (CV=57%) — consider re-running with --runs 5
[6] ⚠️ High run-to-run variance (CV=55%) — consider re-running with --runs 5
[7] (Plugin) Quality unchanged but weighted score is -7.3% due to: tokens (73203 → 202831), tool calls (8 → 13), time (93.8s → 122.1s)
[8] ⚠️ High run-to-run variance (CV=65%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -7.1% due to: tokens (69827 → 133285), time (70.6s → 115.9s), tool calls (8 → 11)
[9] ⚠️ High run-to-run variance (CV=226%) — consider re-running with --runs 5. (Plugin) Quality unchanged but weighted score is -10.0% due to: tokens (85396 → 325064), tool calls (9 → 19), time (88.6s → 179.0s)
[10] ⚠️ High run-to-run variance (CV=267%) — consider re-running with --runs 5
[11] ⚠️ High run-to-run variance (CV=8910%) — consider re-running with --runs 5
[12] ⚠️ High run-to-run variance (CV=82%) — consider re-running with --runs 5. (Plugin) Quality unchanged but weighted score is -3.3% due to: tokens (25519 → 47668), tool calls (3 → 4)
[13] ⚠️ High run-to-run variance (CV=64%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -15.2% due to: judgment, quality, tokens (993607 → 1249274)
[14] ⚠️ High run-to-run variance (CV=147%) — consider re-running with --runs 5
[15] (Isolated) Quality unchanged but weighted score is -3.8% due to: quality, tokens (222881 → 255931)
[16] ⚠️ High run-to-run variance (CV=103%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -4.2% due to: quality
[17] ⚠️ High run-to-run variance (CV=110%) — consider re-running with --runs 5. (Plugin) Quality unchanged but weighted score is -0.7% due to: tokens (61075 → 77121)
[18] (Isolated) Quality unchanged but weighted score is -12.9% due to: judgment, tokens (59444 → 67919)
[19] ⚠️ High run-to-run variance (CV=51%) — consider re-running with --runs 5
[20] ⚠️ High run-to-run variance (CV=611%) — consider re-running with --runs 5
[21] ⚠️ High run-to-run variance (CV=343%) — consider re-running with --runs 5. (Plugin) Quality unchanged but weighted score is -8.2% due to: tokens (52505 → 114630), time (24.7s → 49.6s), tool calls (7 → 9)
[22] ⚠️ High run-to-run variance (CV=851%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -9.8% due to: judgment, tokens (26722 → 64606), quality, time (18.0s → 33.4s), tool calls (3 → 5)
[23] (Plugin) Quality unchanged but weighted score is -9.4% due to: tokens (26459 → 133143), tool calls (2 → 6), time (19.8s → 35.0s)

Model: claude-opus-4.6 | Judge: claude-opus-4.6

🔍 Full Results - additional metrics and failure investigation steps

To investigate failures, paste this to your AI coding agent:

For PR 916 in dotnet/skills, download eval artifacts with gh run download 29744473853 --repo dotnet/skills --pattern "skill-validator-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/f69d27d16d27d71b47539a342eccb413e957badf/eng/skill-validator/src/docs/InvestigatingResults.md and follow it to analyze the results.json files. Diagnose each failure, suggest fixes to the eval.yaml and skill content, and tell me what to fix first.

▶ 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

pr-state/ready-for-eval PR is mergeable and awaiting evaluation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants