Skip to content

Consolidate dotnet-test-frameworks into test-analysis-extensions - #851

Merged
Evangelink merged 7 commits into
mainfrom
dev/amauryleve/silver-journey
Jul 1, 2026
Merged

Consolidate dotnet-test-frameworks into test-analysis-extensions#851
Evangelink merged 7 commits into
mainfrom
dev/amauryleve/silver-journey

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Summary

Removes the orphaned dotnet-test-frameworks reference skill from the dotnet-test plugin. Its content was a duplicate subset of test-analysis-extensions/extensions/dotnet.md (the canonical superset, which additionally carries capability tags, trait attributes, and calibration notes), and a repo-wide search confirmed nothing actually loaded it — its own description claimed it was "loaded by test-anti-patterns," but that skill loads test-analysis-extensions/extensions/dotnet.md instead.

This reclaims skill budget with no functional loss. The plugin goes from 21 → 20 skills.

Changes

  • Deleted plugins/dotnet-test/skills/dotnet-test-frameworks/ (the skill)
  • Deleted tests/dotnet-test/dotnet-test-frameworks/ (its eval tests, which targeted only that skill)
  • Updated plugins/dotnet-test/README.md — removed the reference-data table row
  • Updated test-analysis-extensions/extensions/dotnet.md — removed the now-dead "See also" note
  • Updated dotnet-experimental/.../exp-test-maintainability/SKILL.md — redirected its framework-markers pointer to test-analysis-extensions' dotnet.md

plugin.json needed no change (it globs ./skills/).

Remove the orphaned dotnet-test-frameworks reference skill, whose content
was a duplicate subset of test-analysis-extensions/extensions/dotnet.md.
Nothing actually loaded it. Redirect the remaining references and drop its
eval tests.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 1, 2026 10:24
@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.

Pull request overview

This PR removes the unused dotnet-test-frameworks reference skill from the dotnet-test plugin and consolidates the remaining reference guidance into the existing test-analysis-extensions .NET extension file, reclaiming skill budget without losing functionality.

Changes:

  • Deleted the orphaned dotnet-test-frameworks skill and its associated eval test suite.
  • Removed the now-dead cross-reference in test-analysis-extensions/extensions/dotnet.md and the dotnet-test plugin README.
  • Updated exp-test-maintainability documentation to point at test-analysis-extensions instead of the deleted skill.
Show a summary per file
File Description
tests/dotnet-test/dotnet-test-frameworks/eval.yaml Removes eval scenarios for the deleted dotnet-test-frameworks skill.
tests/dotnet-test/dotnet-test-frameworks/eval.vally.yaml Removes vally eval configuration for the deleted skill.
plugins/dotnet-test/skills/test-analysis-extensions/extensions/dotnet.md Drops the obsolete “See also” note pointing to the removed skill.
plugins/dotnet-test/skills/dotnet-test-frameworks/SKILL.md Deletes the unused reference skill content.
plugins/dotnet-test/README.md Removes the deleted skill from the plugin’s reference-data list.
plugins/dotnet-experimental/skills/exp-test-maintainability/SKILL.md Updates guidance to reference test-analysis-extensions (but currently points to a different plugin’s skill).

Copilot's findings

Tip

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

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

Comment thread plugins/dotnet-experimental/skills/exp-test-maintainability/SKILL.md Outdated
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
exp-test-maintainability Recommend data-driven patterns with display names for unclear parameters 4.0/5 → 4.0/5 ⚠️ NOT ACTIVATED ✅ 0.12 [1]
exp-test-maintainability Recognize well-maintained tests that need minimal changes 4.7/5 → 5.0/5 🟢 ✅ exp-test-maintainability; tools: report_intent, skill / ✅ exp-test-maintainability; tools: skill ✅ 0.12 [2]
exp-test-maintainability Detect repeated object construction and setup across test methods 3.0/5 → 4.7/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.12 [3]
exp-test-maintainability Recognize tests with minimal boilerplate that need no refactoring 3.3/5 → 5.0/5 🟢 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: skill, glob ✅ 0.12

[1] ⚠️ High run-to-run variance (CV=85%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -12.0% due to: judgment
[2] ⚠️ High run-to-run variance (CV=85%) — consider re-running with --runs 5. (Plugin) Quality unchanged but weighted score is -5.9% due to: quality, tokens (13417 → 19283)
[3] ⚠️ High run-to-run variance (CV=109%) — consider re-running with --runs 5

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 851 in dotnet/skills, download eval artifacts with gh run download 28510753799 --repo dotnet/skills --pattern "skill-validator-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/cbbfa79d6187d6db26837f2f98c915f0405d5a67/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 Bot added a commit that referenced this pull request Jul 1, 2026
Address PR review: exp-test-maintainability (dotnet-experimental plugin)
must not point at test-analysis-extensions (dotnet-test plugin) — inline the
.NET framework markers instead. Also strengthen the description/When-to-Use
triggers so the 'each new case needs a whole new method / suggest a better
structure' scenario reliably activates the skill instead of routing to a
test-writing skill.

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

Copy link
Copy Markdown
Member Author

/evaluate

github-actions Bot added a commit that referenced this pull request Jul 1, 2026
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
exp-test-maintainability Recommend data-driven patterns with display names for unclear parameters 4.0/5 → 4.0/5 ⚠️ NOT ACTIVATED ✅ 0.12 [1]
exp-test-maintainability Recognize well-maintained tests that need minimal changes 5.0/5 → 4.7/5 🔴 ⚠️ NOT ACTIVATED ✅ 0.12 [2]
exp-test-maintainability Detect repeated object construction and setup across test methods 3.7/5 → 3.0/5 🔴 ⚠️ NOT ACTIVATED ✅ 0.12 [3]
exp-test-maintainability Recognize tests with minimal boilerplate that need no refactoring 4.3/5 → 4.0/5 🔴 ⚠️ NOT ACTIVATED ✅ 0.12 [4]

[1] ⚠️ High run-to-run variance (CV=164%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=132%) — consider re-running with --runs 5
[3] ⚠️ High run-to-run variance (CV=121%) — consider re-running with --runs 5
[4] ⚠️ High run-to-run variance (CV=924%) — consider re-running with --runs 5

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

…tained markers

The description broadening regressed activation (3/4 -> 0/4 across a
variance-dominated single eval run, CV up to 924%). Description is the
activation lever, so restore the original wording and keep only the
review-comment fix (inlined .NET framework markers in Step 1).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 1, 2026 11:26
@Evangelink

Copy link
Copy Markdown
Member Author

/evaluate --runs 5

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: 6/6 changed files
  • Comments generated: 0 new

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

github-actions Bot commented Jul 1, 2026

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 Bot added a commit that referenced this pull request Jul 1, 2026
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
exp-test-maintainability Recommend data-driven patterns with display names for unclear parameters 4.0/5 → 4.0/5 ⚠️ NOT ACTIVATED ✅ 0.13 [1]
exp-test-maintainability Recognize well-maintained tests that need minimal changes 4.7/5 → 5.0/5 🟢 ✅ exp-test-maintainability; tools: report_intent, skill / ⚠️ NOT ACTIVATED ✅ 0.13 [2]
exp-test-maintainability Detect repeated object construction and setup across test methods 3.3/5 → 4.0/5 🟢 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: glob, skill ✅ 0.13 [3]
exp-test-maintainability Recognize tests with minimal boilerplate that need no refactoring 4.0/5 → 4.7/5 🟢 ✅ exp-test-maintainability; tools: skill, glob / ✅ exp-test-maintainability; tools: skill ✅ 0.13 [4]

[1] (Isolated) Quality unchanged but weighted score is -15.0% due to: judgment, quality
[2] ⚠️ High run-to-run variance (CV=56%) — consider re-running with --runs 5. (Isolated) Quality improved but weighted score is -17.2% due to: judgment, tokens (13459 → 29793), tool calls (0 → 2), time (15.2s → 20.5s)
[3] ⚠️ High run-to-run variance (CV=74%) — consider re-running with --runs 5
[4] ⚠️ High run-to-run variance (CV=167%) — consider re-running with --runs 5. (Isolated) Quality improved but weighted score is -0.5% due to: tokens (39840 → 61391), time (23.0s → 32.2s), tool calls (3 → 4)

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

Scenario 1 pasted a self-contained snippet inline and asked to 'suggest a
better structure', which the base model answers directly without loading the
skill -> NOT ACTIVATED with no headroom. Convert it to the project-fixture
pattern used by the activating scenarios (3 & 4): move the repetitive
InputValidatorTests into a Validation.Tests fixture and ask the model to
analyze the project. Mirror the change in eval.vally.yaml.

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

Copy link
Copy Markdown
Member Author

/evaluate --runs 5

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
exp-test-maintainability Recommend data-driven patterns with display names for unclear parameters 3.7/5 → 4.0/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.12 [1]
exp-test-maintainability Recognize well-maintained tests that need minimal changes 5.0/5 → 5.0/5 ⚠️ NOT ACTIVATED ✅ 0.12 [2]
exp-test-maintainability Detect repeated object construction and setup across test methods 2.3/5 → 3.7/5 🟢 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: glob, skill ✅ 0.12 [3]
exp-test-maintainability Recognize tests with minimal boilerplate that need no refactoring 4.0/5 → 4.0/5 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: skill, glob ✅ 0.12 [4]

[1] ⚠️ High run-to-run variance (CV=115%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=76%) — consider re-running with --runs 5. (Isolated) Quality unchanged but weighted score is -15.5% due to: judgment, quality
[3] ⚠️ High run-to-run variance (CV=1261%) — consider re-running with --runs 5
[4] ⚠️ High run-to-run variance (CV=144%) — consider re-running with --runs 5

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 851 in dotnet/skills, download eval artifacts with gh run download 28514650306 --repo dotnet/skills --pattern "skill-validator-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/f308a93a19db34fd4ac53887ac224b26a7239957/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 Bot added a commit that referenced this pull request Jul 1, 2026
@github-actions github-actions Bot added waiting-on-review PR state label and removed waiting-on-author PR state label labels Jul 1, 2026
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

✅ Evaluation passed for f308a93. cc @dotnet/dotnet-testing — please review.

Scenario 2 also pasted a self-contained snippet inline (well-maintained
Auth.Tests) and asked to 'review these tests', which the base model handles
without loading the skill. Convert to the project-fixture pattern used by the
activating scenarios; add fixtures/well-maintained/Auth.Tests. Mirror in
eval.vally.yaml. All four scenarios now reference a project on disk.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 1, 2026 14:20
@Evangelink

Copy link
Copy Markdown
Member Author

/evaluate --runs 5

All four scenarios scored NOT ACTIVATED / no-headroom (#8 in
InvestigatingResults.md): baselines are already 4.0-5.0/5, so loading the
skill only adds token/tool overhead with no offsetting quality gain.

Match the convention of the sibling analysis skill test-anti-patterns:
reject bash/edit/create on every scenario. This skill is analysis-only
('do not modify any files'), so the constraint is a no-op for correct
behavior but levels the playing field between baseline and skilled runs —
scoring focuses on answer quality (weight 0.40+0.30) instead of tool-induced
overhead. Applied to both eval.yaml and eval.vally.yaml.

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

Copy link
Copy Markdown
Member Author

/evaluate --runs 5

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
exp-test-maintainability Recommend data-driven patterns with display names for unclear parameters 3.3/5 → 4.0/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.12
exp-test-maintainability Recognize well-maintained tests that need minimal changes 4.3/5 → 5.0/5 🟢 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: skill, glob ✅ 0.12 [1]
exp-test-maintainability Detect repeated object construction and setup across test methods 3.0/5 → 4.0/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.12 [2]
exp-test-maintainability Recognize tests with minimal boilerplate that need no refactoring 4.0/5 → 4.7/5 🟢 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: glob, skill ✅ 0.12 [3]

[1] ⚠️ High run-to-run variance (CV=120%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=178%) — consider re-running with --runs 5
[3] ⚠️ High run-to-run variance (CV=283%) — consider re-running with --runs 5

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

🔍 Full Results - additional metrics and failure investigation steps

github-actions Bot added a commit that referenced this pull request Jul 1, 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's findings

  • Files reviewed: 12/12 changed files
  • Comments generated: 2

Copilot AI review requested due to automatic review settings July 1, 2026 14:24

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: 12/12 changed files
  • Comments generated: 0 new

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
exp-test-maintainability Recommend data-driven patterns with display names for unclear parameters 3.3/5 → 3.7/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.12 [1]
exp-test-maintainability Recognize well-maintained tests that need minimal changes 4.3/5 → 5.0/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.12 [2]
exp-test-maintainability Detect repeated object construction and setup across test methods 3.0/5 → 4.7/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.12
exp-test-maintainability Recognize tests with minimal boilerplate that need no refactoring 3.7/5 → 4.7/5 🟢 ✅ exp-test-maintainability; tools: skill, glob / ✅ exp-test-maintainability; tools: skill ✅ 0.12 [3]

[1] ⚠️ High run-to-run variance (CV=105%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=342%) — consider re-running with --runs 5
[3] ⚠️ High run-to-run variance (CV=146%) — consider re-running with --runs 5

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

🔍 Full Results - additional metrics and failure investigation steps

github-actions Bot added a commit that referenced this pull request Jul 1, 2026
@Evangelink
Evangelink enabled auto-merge (squash) July 1, 2026 14:30
@Evangelink
Evangelink disabled auto-merge July 1, 2026 14:30
…ministic

- Import System.Security.Authentication for AuthenticationException
- Replace wall-clock assertion (token.ExpiresAt > DateTime.UtcNow) with a
  deterministic one anchored on a fixed clock (FixedNow), and drive the
  injected FakeClock from that fixed time. This removes the flakiness and
  makes the FakeClock injection meaningful — a better exemplar for the
  'well-maintained' scenario.

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

Copy link
Copy Markdown
Member Author

/evaluate --runs 5

@Evangelink
Evangelink enabled auto-merge (squash) July 1, 2026 14:31
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
exp-test-maintainability Recommend data-driven patterns with display names for unclear parameters 3.0/5 → 4.0/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.13
exp-test-maintainability Recognize well-maintained tests that need minimal changes 4.7/5 → 5.0/5 🟢 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: skill, glob ✅ 0.13 [1]
exp-test-maintainability Detect repeated object construction and setup across test methods 3.0/5 → 4.7/5 🟢 ✅ exp-test-maintainability; tools: skill ✅ 0.13
exp-test-maintainability Recognize tests with minimal boilerplate that need no refactoring 4.3/5 → 4.3/5 ✅ exp-test-maintainability; tools: skill / ✅ exp-test-maintainability; tools: skill, glob ✅ 0.13 [2]

[1] ⚠️ High run-to-run variance (CV=455%) — consider re-running with --runs 5
[2] ⚠️ High run-to-run variance (CV=134%) — consider re-running with --runs 5

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

🔍 Full Results - additional metrics and failure investigation steps

github-actions Bot added a commit that referenced this pull request Jul 1, 2026
@Evangelink
Evangelink merged commit a677ec4 into main Jul 1, 2026
35 of 37 checks passed
@Evangelink
Evangelink deleted the dev/amauryleve/silver-journey branch July 1, 2026 14:53
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