Skip to content

Add eval coverage for dotnet-test/filter-syntax#824

Merged
Evangelink merged 2 commits into
mainfrom
evangelink-eval-filter-syntax-trait-coverage
Jun 25, 2026
Merged

Add eval coverage for dotnet-test/filter-syntax#824
Evangelink merged 2 commits into
mainfrom
evangelink-eval-filter-syntax-trait-coverage

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Adds tests/dotnet-test/filter-syntax/eval.yaml to give the previously-untested dotnet-test/filter-syntax skill eval coverage.

What this covers

The skill-coverage tool (eng/skill-coverage/Measure-SkillCoverage.ps1) reported one uncovered teaching point:

  • [CodePattern] [trait] (SKILL.md ~line 114) — xUnit's trait attribute / trait-based --filter usage.

A new scenario ("Filter xUnit v3 tests by trait and show how to tag them") produces output that genuinely references the xUnit trait attribute and --filter-trait, with a deterministic output_matches assertion (\[[Tt]rait) that makes the point covered. A second scenario exercises the xUnit v3 query filter language (combined class pattern + [Category=Smoke] trait qualifier).

Prompts are written as natural developer requests (no skill references); rubric items test outcomes rather than techniques.

Verification

  • Measure-SkillCoverage.ps1 -PluginName dotnet-test -SkillName filter-syntax -Format Json100% (1/1 points covered); [trait] no longer in uncovered, no regressions.
  • SkillValidator -- check --plugin ./plugins/dotnet-test → ✅ All checks passed (remaining warnings are pre-existing and unrelated).

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

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 25, 2026 08:13
@github-actions

Copy link
Copy Markdown
Contributor

Skill Coverage Report

Plugin Skill Covered Coverage
dotnet-test filter-syntax 1/1 100%

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

Adds skill-validator eval coverage for the dotnet-test/filter-syntax reference skill by introducing a new eval.yaml with scenarios targeting xUnit v3 trait filtering and xUnit v3 query filter language usage.

Changes:

  • Added a new tests/dotnet-test/filter-syntax/eval.yaml with two scenarios focused on xUnit v3 trait filtering ([Trait] + --filter-trait) and query filtering (--filter-query + [Category=Smoke]).
  • Introduced deterministic output_matches assertions and rubric items to validate that the scenarios cover the intended teaching points.
Show a summary per file
File Description
tests/dotnet-test/filter-syntax/eval.yaml Adds new eval scenarios intended to cover the filter-syntax skill’s xUnit v3 trait and query filter guidance.

Copilot's findings

Tip

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

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

Comment thread tests/dotnet-test/filter-syntax/eval.yaml
Comment thread tests/dotnet-test/filter-syntax/eval.yaml
Comment thread tests/dotnet-test/filter-syntax/eval.yaml
Comment thread tests/dotnet-test/filter-syntax/eval.yaml Outdated
…ertions

Match known-good MTP xUnit v3 fixtures, enforce the real Trait annotation and SDK 9 separator, and tighten the query-filter scenario with a realistic fixture.

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

Copy link
Copy Markdown
Member Author

/evaluate

@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
filter-syntax Filter xUnit v3 tests by trait and show how to tag them 2.0/5 → 2.0/5 ⚠️ NOT ACTIVATED 🟡 0.27 [1]
filter-syntax Combine an xUnit v3 class pattern and a trait in one query filter 1.0/5 → 1.0/5 ⚠️ NOT ACTIVATED 🟡 0.27 [2]

[1] ⚠️ High run-to-run variance (CV=150%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=98%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -1.7% due to: time (11.9s → 20.1s)

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 824 in dotnet/skills, download eval artifacts with gh run download 28157545142 --repo dotnet/skills --pattern "skill-validator-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/e754932459fc1c5337785f8939894f45a9c168f6/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.

@github-actions github-actions Bot added the waiting-on-author PR state label label Jun 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

@github-actions github-actions Bot added ready-to-merge PR state label and removed waiting-on-author PR state label labels Jun 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ Approved by @YuliiaKovalova. cc @dotnet/skills-merge-approvers — ready to merge.

@Evangelink Evangelink merged commit 7b02af3 into main Jun 25, 2026
36 checks passed
@Evangelink Evangelink deleted the evangelink-eval-filter-syntax-trait-coverage branch June 25, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge PR state label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants