Skip to content

Add WinForms expert skill - #1187

Merged
webreidi merged 26 commits into
mainfrom
webreidi/VSSubAgents
Oct 2, 2026
Merged

webreidi merged 26 commits into
mainfrom
webreidi/VSSubAgents

Conversation

@webreidi

@webreidi webreidi commented Sep 17, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add the winforms-expert skill as a dedicated dotnet-winforms plugin, including marketplace registration, ownership, evaluation scenarios, fixtures, and validation tooling.

The C# expert skill was split into #1207 so each skill can be reviewed independently.

Validation

  • python eng/eval-quality/check_eval_quality.py (passed in a clean worktree)

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 for the new plugin.
  • No new external domains were added.

Copilot AI lite review requested due to automatic review settings September 17, 2026 16:12
@github-actions

github-actions Bot commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Skill Coverage Report

Plugin Skill Covered Coverage
✅ dotnet-winforms winforms-expert 13/13 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.

Copilot review overview

🟡 Changes recommended

Critical validation and generated-source issues remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 5 High severity

Open (5)
What changed in this PR

Converts the C# and WinForms custom agents into skills with evaluation fixtures and plugin registration.

Changes:

  • Adds C# and WinForms skill guidance, fixtures, validators, and evaluations.
  • Registers the WinForms plugin across marketplaces and CODEOWNERS.
  • Updates documentation and SDK/project metadata.
File Summary
tests/​dotnet/​csharp-expert/​global.json [Moderate] SDK pin may not be installed by the evaluation workflow.
tests/​dotnet/​csharp-expert/​fixtures/​value-equality/​Program.cs Value-equality evaluation fixture.
tests/​dotnet/​csharp-expert/​fixtures/​value-equality/​Fixture.csproj Value-equality fixture project.
tests/​dotnet/​csharp-expert/​fixtures/​stream-ownership/​Program.cs Stream-ownership evaluation fixture.
tests/​dotnet/​csharp-expert/​fixtures/​stream-ownership/​Fixture.csproj Stream-ownership fixture project.
tests/​dotnet/​csharp-expert/​fixtures/​nullable-flow/​Program.cs Nullable-flow evaluation fixture.
tests/​dotnet/​csharp-expert/​fixtures/​nullable-flow/​Fixture.csproj Nullable-flow fixture project.
tests/​dotnet/​csharp-expert/​fixtures/​concurrent-counter/​Program.cs Concurrency evaluation fixture.
tests/​dotnet/​csharp-expert/​fixtures/​concurrent-counter/​Fixture.csproj Concurrency fixture project.
tests/​dotnet/​csharp-expert/​fixtures/​async-cancellation/​Program.cs [Moderate] Does not prove cancellation was caused by observing the token.
tests/​dotnet/​csharp-expert/​fixtures/​async-cancellation/​Fixture.csproj Cancellation fixture project.
tests/​dotnet/​csharp-expert/​fixtures/​api-contract/​Program.cs API-contract evaluation fixture.
tests/​dotnet/​csharp-expert/​fixtures/​api-contract/​Fixture.csproj API-contract fixture project.
tests/​dotnet/​csharp-expert/​fixtures/​already-correct/​Program.cs No-op baseline fixture.
tests/​dotnet/​csharp-expert/​fixtures/​already-correct/​Fixture.csproj No-op baseline project.
tests/​dotnet/​csharp-expert/​fixtures/​already-correct/​ExpectedProgram.cs Expected no-op source.
tests/​dotnet/​csharp-expert/​fixtures/​allocation-hot-path/​Program.cs Allocation evaluation fixture.
tests/​dotnet/​csharp-expert/​fixtures/​allocation-hot-path/​Fixture.csproj Allocation fixture project.
tests/​dotnet/​csharp-expert/​eval.yaml [Critical] Editable expected source and assertions can be altered to force passing results.
tests/​dotnet-winforms/​winforms-expert/​validate-winforms.ps1 [Critical] Editable no-op expected data; [Moderate] incomplete binding and custom-control assertions.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​rename-control/​WinFormsFixture.csproj Rename-control fixture project.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​rename-control/​Program.cs Rename-control fixture startup.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​rename-control/​MainForm.Designer.cs Rename-control designer fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​rename-control/​MainForm.cs Rename-control code-behind fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​no-op/​WinFormsFixture.csproj No-op fixture project.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​no-op/​Program.cs No-op fixture startup.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​no-op/​MainForm.Designer.cs No-op designer fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​no-op/​MainForm.cs No-op code-behind fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​no-op/​expected-hashes.txt No-op expected hashes.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​localization/​WinFormsFixture.csproj Localization fixture project.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​localization/​Program.cs Localization fixture startup.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​localization/​MainForm.Designer.cs Localization designer fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​localization/​MainForm.cs Localization code-behind fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​layout-container/​WinFormsFixture.csproj Layout fixture project.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​layout-container/​Program.cs Layout fixture startup.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​layout-container/​MainForm.Designer.cs Layout designer fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​layout-container/​MainForm.cs Layout code-behind fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​data-binding/​WinFormsFixture.csproj Data-binding fixture project.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​data-binding/​Program.cs Data-binding fixture startup.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​data-binding/​MainForm.Designer.cs Data-binding designer fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​data-binding/​MainForm.cs Data-binding code-behind fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​data-binding/​CustomerViewModel.cs Data-binding view model fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​custom-control/​WinFormsFixture.csproj Custom-control fixture project.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​custom-control/​StatusBadge.cs Custom-control fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​custom-control/​Program.cs Custom-control fixture startup.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​custom-control/​MainForm.Designer.cs Custom-control designer fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​custom-control/​MainForm.cs Custom-control code-behind fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​add-control/​WinFormsFixture.csproj Add-control fixture project.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​add-control/​Program.cs Add-control fixture startup.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​add-control/​MainForm.Designer.cs Add-control designer fixture.
tests/​dotnet-winforms/​winforms-expert/​fixtures/​add-control/​MainForm.cs Add-control code-behind fixture.
tests/​dotnet-winforms/​winforms-expert/​eval.yaml [Critical] Mutable validator and expected data; [Moderate] missing formatting contract assertion.
tests/​dotnet-msbuild/​item-management/​Constants.g.cs [Critical] Generated source is syntactically invalid; restore or regenerate it.
README.md Documents the WinForms plugin.
plugins/​dotnet/​skills/​csharp-expert/​SKILL.md C# expert skill guidance.
plugins/​dotnet/​README.md Lists the C# skill.
plugins/​dotnet-winforms/​version.json WinForms plugin version metadata.
plugins/​dotnet-winforms/​skills/​winforms-expert/​SKILL.md WinForms expert skill guidance.
plugins/​dotnet-winforms/​plugin.json WinForms plugin manifest.
plugins/​dotnet-winforms/​.codex-plugin/​plugin.json Codex plugin metadata.
plugins/​dotnet-winforms/​.claude-plugin/​plugin.json Claude plugin metadata.
.github/​plugin/​marketplace.json GitHub marketplace registration.
.github/​CODEOWNERS Skill and plugin ownership assignments.
.cursor-plugin/​marketplace.json Cursor marketplace registration.
.claude-plugin/​marketplace.json Claude marketplace registration.
.agents/​plugins/​marketplace.json Agents marketplace registration.
Files not reviewed (7)
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/dotnet-msbuild/item-management/Constants.g.cs Outdated
Comment thread tests/dotnet-winforms/winforms-expert/eval.yaml
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
Comment thread tests/dotnet/csharp-expert/eval.yaml Outdated
Comment thread tests/dotnet/csharp-expert/eval.yaml Outdated
@github-actions github-actions Bot added the waiting-on-author PR state label label Sep 17, 2026
Copilot AI review requested due to automatic review settings September 17, 2026 16:36

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

Unresolved critical and moderate findings affect validation correctness, portability, and skill routing.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 10 High severity

Open (10)
Files not reviewed (11)
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
Comment thread tests/dotnet/csharp-expert/eval.yaml Outdated
Comment thread tests/dotnet/csharp-expert/global.json Outdated
@github-actions

Copy link
Copy Markdown
Contributor

👋 @webreidi — this PR has 10 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.)

Copilot AI review requested due to automatic review settings September 17, 2026 17:40

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

Cross-platform WinForms validation failures and invalid generated C# syntax remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 3 High severity

Open (3)
Resolved since last review (8)
Files not reviewed (11)
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
Copilot AI review requested due to automatic review settings September 17, 2026 17:48

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

Critical validator and SDK configuration issues remain, along with moderate evaluation and fixture issues.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 3 High severity

Open (3)
Resolved since last review (2)
Files not reviewed (11)
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
Comment thread tests/dotnet/csharp-expert/global.json Outdated
Copilot AI review requested due to automatic review settings September 17, 2026 17:55

@webreidi webreidi left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

/evaluate

@webreidi
webreidi deployed to copilot-pat-pool September 17, 2026 18:11 — with GitHub Actions Active
@webreidi
webreidi deployed to copilot-pat-pool September 17, 2026 18:11 — with GitHub Actions Active
@webreidi
webreidi deployed to copilot-pat-pool September 17, 2026 18:11 — with GitHub Actions Active
@webreidi
webreidi deployed to copilot-pat-pool September 17, 2026 18:11 — with GitHub Actions Active
@webreidi
webreidi deployed to copilot-pat-pool September 17, 2026 18:11 — with GitHub Actions Active

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

🔵 Needs a closer look

Five moderate review issues remain in configuration, validation logic, evaluation constraints, and a generated artifact.

Review effort: Lite
Findings: None

Resolved since last review (3)
Files not reviewed (11)
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file
Previously missed (1)

In code that hasn't changed since last review

Medium severity Normalize path separators when excluding build artifacts

tests/​dotnet-winforms/​winforms-expert/​validate-winforms.ps1:120

On Unix runners, Path.GetRelativePath returns /-separated paths, but this split only recognizes \\. After the required dotnet build, generated .cs, .props, and .targets files under obj/bin remain in actualPaths, so the no-op and VB preservation checks fail with unexpected-file errors. Split on both separators (or use a platform-independent filter).

@github-actions

Copy link
Copy Markdown
Contributor

📊 Skill and Agent Evaluation Results

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

Measurement identity: evaluated commit 1a7e1fa6af7cda28c3ab2021056a69ab9a6a0f71; 2 judge models.

Measurement health: 2 expected / 2 observed / 2 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.

Target Model Verdict Gate evidence Overfit Warnings Next action
winforms-expert claude-sonnet-5 ➖ Not proven improved n=15; 7W/6T/2L; d=9; p=0.090; net +33.3%; 1 dormancy excluded 🟡 0.48 Activation: isolated 15/15; plugin 14/15 Inspect tied or lost stimuli and fix inconsistent skill behavior.
winforms-expert gpt-5.6-luna ⛔ Activation contract failed n=15; 11W/2T/2L; d=13; p=0.011; net +60.0%; 1 dormancy excluded 🔴 0.50 Dormancy contract: 1 unexpected activation(s) Narrow skill routing so the listed off-target scenarios stay dormant.
ℹ️ 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 target.
  • ⛔ Activation contract failed — the isolated target 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 evidence — n 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/target 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 — winforms-expert (gpt-5.6-luna)

Why: Net win +60.0% (11W/2T/2L over 15 preference-eligible stimulus vote(s), sign test p=0.011), mean preference +23.8% across 16 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=15; 11W/2T/2L; d=13; p=0.011; net +60.0%; 1 dormancy excluded

Warnings: Dormancy contract: 1 unexpected activation(s)

Overfit: High (score 0.50)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Add VB application event handling without a new entry point Eligible -100.0% -40.0% 0/0/1
▼ Add a button with a named event handler Eligible -100.0% -40.0% 0/0/1
= Add safe serialization metadata to a custom control Eligible +0.0% +0.0% 0/1/0
= Audit and repair SQL injection risks across a WinForms solution Eligible +0.0% +0.0% 0/1/0
▼ Stay dormant for a WPF command binding request Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Add VB application event handling without a new entry point: Both responses successfully implement the required functionality (startup restoration and exception logging through ApplicationEvents.vb) and both achieve successful builds. However, Response A executed the implementation cleanly on the first attempt with proper imports includ...

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

➖ Not proven improved — winforms-expert (claude-sonnet-5)

Why: Net win +33.3% (7W/6T/2L over 15 preference-eligible stimulus vote(s), sign test p=0.090), mean preference +16.2% across 16 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.090 > 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=15; 7W/6T/2L; d=9; p=0.090; net +33.3%; 1 dormancy excluded

Warnings: Activation: isolated 15/15; plugin 14/15

Overfit: Moderate (score 0.48)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Add VB application event handling without a new entry point Eligible +0.0% +0.0% 0/1/0
▼ Add safe serialization metadata to a custom control Eligible -100.0% -40.0% 0/0/1
▲ Audit and repair SQL injection risks across a WinForms solution Eligible +100.0% +40.0% 1/0/0
▼ Await background refresh and restore UI state Eligible -100.0% -40.0% 0/0/1
= Leave an already designer-safe form unchanged Eligible +0.0% +0.0% 0/1/0
= Localize form and button text through resources Eligible +0.0% +0.0% 0/1/0
= Make bound list additions visible immediately Eligible +0.0% +0.0% 0/1/0
= Repair clipping through nested layout containers Eligible +0.0% +0.0% 0/1/0
= Restore designer ownership of a form timer Eligible +0.0% +0.0% 0/1/0
= Stay dormant for a WPF command binding request Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Add VB application event handling without a new entry point: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

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

🔍 Full Results - all metrics and investigation details

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

For PR 1187 in dotnet/skills, download eval artifacts with gh run download 36753671540 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/1a7e1fa6af7cda28c3ab2021056a69ab9a6a0f71/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.

⚠️ Session replay telemetry was not published because the auxiliary dotnet/skills-data publisher failed. The evaluation verdicts above remain authoritative; maintainers must repair SKILLS_DATA_TOKEN or the publisher before replay links are available.

@github-actions

Copy link
Copy Markdown
Contributor

📊 Skill and Agent Evaluation Results

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

Measurement identity: evaluated commit 6fd9fde698e92f230c3d53d9951c9a6bd861036f; 2 judge models.

Measurement health: 2 expected / 2 observed / 2 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.

Target Model Verdict Gate evidence Overfit Warnings Next action
winforms-expert claude-sonnet-5 ✅ Improved n=15; 8W/7T/0L; d=8; p=0.004; net +53.3%; 1 dormancy excluded 🟡 0.40 Activation: isolated 15/15; plugin 14/15 Fix activation gaps; Review overfit evidence.
winforms-expert gpt-5.6-luna ✅ Improved n=15; 9W/6T/0L; d=9; p=0.002; net +60.0%; 1 dormancy excluded — — 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 target.
  • ⛔ Activation contract failed — the isolated target 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 evidence — n 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/target 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.
✅ Improved — winforms-expert (claude-sonnet-5)

Why: Net win +53.3% (8W/7T/0L over 15 preference-eligible stimulus vote(s), sign test p=0.004), mean preference +26.2% across 16 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=15; 8W/7T/0L; d=8; p=0.004; net +53.3%; 1 dormancy excluded

Warnings: Activation: isolated 15/15; plugin 14/15

Overfit: Moderate (score 0.40)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Add VB application event handling without a new entry point Eligible +0.0% +0.0% 0/1/0
= Add safe serialization metadata to a custom control Eligible +0.0% +0.0% 0/1/0
▲ Audit and repair SQL injection risks across a WinForms solution Eligible +100.0% +40.0% 1/0/0
= Await background refresh and restore UI state Eligible +0.0% +0.0% 0/1/0
= Localize form and button text through resources Eligible +0.0% +0.0% 0/1/0
= Make bound list additions visible immediately Eligible +0.0% +0.0% 0/1/0
= Repair clipping through nested layout containers Eligible +0.0% +0.0% 0/1/0
= Replace absolute positioning with a responsive layout container Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Add VB application event handling without a new entry point: 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

⚠️ Session replay telemetry was not published because the auxiliary dotnet/skills-data publisher failed. The evaluation verdicts above remain authoritative; maintainers must repair SKILLS_DATA_TOKEN or the publisher before replay links are available.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Evaluation passed for 6fd9fde. cc @webreidi @AbhitejJohn — please review.

@AbhitejJohn AbhitejJohn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for the updates here. The additional VB coverage and stronger SQL construction checks are good improvements, but I still found several grader issues that can change the eval result independently of solution quality.

The main blocker is the SQL fixture layout. The eval copies the contents of fixtures/TimeTracking to the work-directory root, but the validator and build command now add another TimeTracking/ prefix. I reproduced this with a fully repaired solution; validation failed before it could inspect the code because TimeTracking/TimeTracking/FrmMain.cs does not exist.

I also verified that the SQL validator accepts placeholder and parameter-name mismatches, accepts a repair that loses the original contains-search behavior, and rejects valid typed or derived parameter-value patterns. The async validator is source-order dependent: the new skill-prescribed RefreshAsync extraction passes or fails based only on whether the helper appears before or after the event handler.

Could we correct the harness paths and make both validators follow the actual command or method structure rather than independent text fragments? I would also move the general SQL audit out of this eval, or add corresponding WinForms data-access guidance so the case measures skill lift.

The merge-readiness verdict is request changes, but I am submitting this review with GitHub status Comment as requested.

(Copilot, commenting on Abhitej's behalf.)

Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/eval.yaml
@github-actions

Copy link
Copy Markdown
Contributor

👋 @webreidi — this PR has 5 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.)

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

Final comments identify unresolved critical and moderate validator gaps.

Review effort: Lite
Findings: 1 High severity · 1 Medium severity

Open (2)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated

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

🔵 Needs a closer look

Unresolved routing, experiment-configuration, and validator correctness issues must be addressed before approval.

Review effort: Lite
Findings: None

Resolved since last review (2)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

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

Unresolved validator defects and evaluation-integration issues remain.

Review effort: Lite
Findings: 1 Low severity

Open (1)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

@webreidi webreidi left a comment

Copy link
Copy Markdown
Collaborator 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 Oct 1, 2026

Copy link
Copy Markdown
Contributor

📊 Skill and Agent Evaluation Results

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

Measurement identity: evaluated commit 8f00c36c366cb479d4845672e5252e25abcbaaad; 2 judge models.

Measurement health: 2 expected / 2 observed / 2 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.

Target Model Verdict Gate evidence Overfit Warnings Next action
winforms-expert claude-sonnet-5 ➖ Not proven improved n=15; 5W/9T/1L; d=6; p=0.109; net +26.7%; 1 dormancy excluded 🟡 0.46 Activation: isolated 14/15; plugin 15/15 Inspect tied or lost stimuli and fix inconsistent skill behavior.
winforms-expert gpt-5.6-luna ✅ Improved n=15; 10W/5T/0L; d=10; p=0.001; net +66.7%; 1 dormancy excluded — — 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 target.
  • ⛔ Activation contract failed — the isolated target 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 evidence — n 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/target 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 — winforms-expert (claude-sonnet-5)

Why: Net win +26.7% (5W/9T/1L over 15 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +16.2% across 16 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=15; 5W/9T/1L; d=6; p=0.109; net +26.7%; 1 dormancy excluded

Warnings: Activation: isolated 14/15; plugin 15/15

Overfit: Moderate (score 0.46)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Add safe serialization metadata to a custom control Eligible +0.0% +0.0% 0/1/0
▼ Audit and repair SQL injection risks across a WinForms solution Eligible -100.0% -40.0% 0/0/1
= Await background refresh and restore UI state Eligible +0.0% +0.0% 0/1/0
= Balance designer initialization for a grid Eligible +0.0% +0.0% 0/1/0
= Localize form and button text through resources Eligible +0.0% +0.0% 0/1/0
= Make bound list additions visible immediately Eligible +0.0% +0.0% 0/1/0
= Preserve runtime injection while restoring designer construction Eligible +0.0% +0.0% 0/1/0
= Rename a designer control and its event handler Eligible +0.0% +0.0% 0/1/0
= Replace absolute positioning with a responsive layout container Eligible +0.0% +0.0% 0/1/0
= Restore designer ownership of a form timer Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Add safe serialization metadata to a custom control: 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 1187 in dotnet/skills, download eval artifacts with gh run download 36892769472 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/8f00c36c366cb479d4845672e5252e25abcbaaad/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.

⚠️ Session replay telemetry was not published because the auxiliary dotnet/skills-data publisher failed. The evaluation verdicts above remain authoritative; maintainers must repair SKILLS_DATA_TOKEN or the publisher before replay links are available.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

📊 Skill and Agent Evaluation Results

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

Measurement identity: evaluated commit 8f00c36c366cb479d4845672e5252e25abcbaaad; 2 judge models.

Measurement health: 2 expected / 2 observed / 2 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.

Target Model Verdict Gate evidence Overfit Warnings Next action
winforms-expert claude-sonnet-5 ✅ Improved n=15; 11W/3T/1L; d=12; p=0.003; net +66.7%; 1 dormancy excluded 🟡 0.42 — Review overfit evidence.
winforms-expert gpt-5.6-luna ✅ Improved n=15; 11W/3T/1L; d=12; p=0.003; net +66.7%; 1 dormancy excluded — — 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 target.
  • ⛔ Activation contract failed — the isolated target 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 evidence — n 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/target 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.
✅ Improved — winforms-expert (claude-sonnet-5)

Why: Net win +66.7% (11W/3T/1L over 15 preference-eligible stimulus vote(s), sign test p=0.003), mean preference +38.8% across 16 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=15; 11W/3T/1L; d=12; p=0.003; net +66.7%; 1 dormancy excluded

Overfit: Moderate (score 0.42)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Add VB application event handling without a new entry point Eligible -100.0% -40.0% 0/0/1
= Await background refresh and restore UI state Eligible +0.0% +0.0% 0/1/0
= Localize form and button text through resources Eligible +0.0% +0.0% 0/1/0
= Restore designer ownership of a form timer Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Add VB application event handling without a new entry point: The implementations appear substantively equivalent and both compile cleanly. B describes a slightly more defensive logging implementation, but A supplies stronger project-specific validation evidence, including the provided scenario and designer-safety validation passing.

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

⚠️ Session replay telemetry was not published because the auxiliary dotnet/skills-data publisher failed. The evaluation verdicts above remain authoritative; maintainers must repair SKILLS_DATA_TOKEN or the publisher before replay links are available.

@AbhitejJohn AbhitejJohn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for the substantial update here. I verified that the earlier harness-path, integrity-hash, placeholder-name, wildcard, async source-order, and cancellation-token issues are now fixed.

There are a few remaining cases where the validators can still give the wrong result. Could we take another look at these as follow-up improvements?

  1. The async validator extracts finally with a lazy regex. A valid finally containing a nested if before _refreshButton.Enabled = true builds successfully but fails validation because the capture stops at the inner }. I included an apply-ready suggestion that uses the existing brace-aware helper.
  2. The SQL binding check accepts any placeholder that carries userSearchText. I bound the real LIKE @search parameter to a constant and the input to a tautological @decoy = @decoy; validation and build both passed, although the search behavior was lost.
  3. The whole-source SQL concatenation check can reject safe parameter-value locals. A derived %term% value assigned to a typed SqlParameter built successfully but was reported as dynamic SQL.
  4. The new C# delimiter scanner still counts braces and semicolons inside strings and comments. This can truncate an otherwise correct method based only on its string contents.
  5. Verbatim SQL strings such as @"SELECT ..." are not recognized by the query extractor.
  6. The SQL audit still does not map to guidance in winforms-expert/SKILL.md. It might be better to add the guidance this case is intended to measure or move the stimulus to a skill that owns SQL security.

The first item has a direct suggestion. The remaining items need a small design choice, so I left the reason and reproduction evidence rather than prescribing one implementation.

Thanks again for working through these validator cases.

(Copilot, commenting on Abhitej’s behalf.)

Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1
webreidi and others added 2 commits October 2, 2026 07:34
Co-authored-by: Abhitej John <aajohn@microsoft.com>

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

Moderate validator gaps remain and should be addressed before approval.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
Resolved since last review (1)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1 Outdated

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

Critical validator integrity and coverage issues remain unresolved.

Review effort: Lite
Findings: 5 High severity · 1 Medium severity

Open (6)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

Comment thread tests/dotnet-winforms/winforms-expert/eval.yaml Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1 Outdated
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
- Introduced functions to handle C# statement parsing, including Get-CSharpStatementEnd, Get-CSharpCodeMask, and Get-CSharpAssignmentExpressions for better readability and maintainability.
- Enhanced Get-QueryInfo to support various SQL literal formats and improved regex patterns for detecting SQL commands.
- Added Get-PredicatePlaceholders to identify parameterized column predicates in SQL queries.
- Simplified Get-InitializeComponentBody by utilizing Get-CSharpBlockBody for improved brace handling.
- Removed redundant regex patterns and assertions related to SQL string construction.

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

🔵 Needs a closer look

Unresolved moderate validator findings and the external-link constraint must be addressed.

Review effort: Lite
Findings: 3 High severity · 1 Medium severity

Open (4)
Resolved since last review (2)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

- Improved SQL statement end detection in C# by allowing both ';' and ',' as valid statement terminators when no parentheses, braces, or brackets are open.
- Added a new function `Get-VisualBasicCodeMask` to handle Visual Basic code, distinguishing between code, strings, and comments.
- Enhanced `Get-QueryInfo` to support object initializer syntax for `SqlCommand` and improved regex patterns for command text extraction.
- Updated `Test-ExpressionUsesInput` to utilize the new Visual Basic code mask for input validation.
- Refined regex patterns in `validate-winforms.ps1` to accommodate async methods and additional property attributes in Visual Basic.
- Ensured that the parameterless constructor for `MainForm` initializes designer controls correctly.

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

Unresolved SQL-validator and WinForms designer-check gaps block approval.

Review effort: Lite
Findings: 1 High severity · 2 Medium severity

Open (3)
Resolved since last review (4)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1
Comment thread tests/dotnet-winforms/winforms-expert/validate-sql-injection.ps1
Comment thread tests/dotnet-winforms/winforms-expert/validate-winforms.ps1 Outdated
- Implemented Get-SqlCodeMask function to mask SQL code elements such as strings, comments, and quoted identifiers.
- Added Get-CSharpInterpolationExpressions function to extract and mask interpolation expressions from C# strings.
- Updated Test-ExpressionUsesInput function to include handling of C# interpolation expressions when not using Visual Basic.
- Modified Get-PredicatePlaceholders to utilize the new SQL code masking functionality.

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

🔵 Needs a closer look

Six moderate validator and evaluation gaps remain unresolved.

Review effort: Lite
Findings: None

Resolved since last review (3)
Files not reviewed (17)
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking.Controls/DayTracking.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/TimeTracking/TimeTracking/FrmMain.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/add-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/async-ui-refresh/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/component-ownership/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/custom-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/data-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/designer-constructor/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/initialization-balance/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/layout-container/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/live-list-binding/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/localization/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/nested-layout-clipping/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/no-op/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/rename-control/MainForm.Designer.cs: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/MainForm.Designer.vb: Generated file
  • tests/dotnet-winforms/winforms-expert/fixtures/vb-application-events/My Project/Application.Designer.vb: Generated file

@webreidi webreidi left a comment

Copy link
Copy Markdown
Collaborator 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 Oct 2, 2026

Copy link
Copy Markdown
Contributor

📊 Skill and Agent Evaluation Results

2 model/target results across 1 target and 2 models — ✅ 2 improved, ➖ 0 results without a clear winner, ⚠️ 0 invalid or underpowered, ⛔ 0 activation contract failures, 📉 0 preference losses (report only).

Measurement identity: evaluated commit d3de1de77323de2637872ffe14584264ab58e9ac; 2 judge models.

Measurement health: 2 expected / 2 observed / 2 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.

Target Model Verdict Gate evidence Overfit Warnings Next action
winforms-expert claude-sonnet-5 ✅ Improved n=15; 11W/4T/0L; d=11; p=0.000; net +73.3%; 1 dormancy excluded 🟡 0.47 Activation: isolated 14/15; plugin 15/15 Fix activation gaps; Review overfit evidence.
winforms-expert gpt-5.6-luna ✅ Improved n=15; 14W/1T/0L; d=14; p=0.000; net +93.3%; 1 dormancy excluded — — None.
ℹ️ How to read this report
  • ✅ Improved — the result passed both the statistical gate and the 20% practical net-win floor.
  • ➖ No clear winner — the result is valid but did not pass both gates. The label distinguishes all ties, mixed evidence, directional but unproven evidence, and credible effects below the practical floor.
  • ⚠️ Invalid / underpowered — the gate withheld a quality verdict. Fix the measurement before judging the target.
  • ⛔ Activation contract failed — the isolated target 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 evidence — n 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/target 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.
✅ Improved — winforms-expert (claude-sonnet-5)

Why: Net win +73.3% (11W/4T/0L over 15 preference-eligible stimulus vote(s), sign test p=0.000), mean preference +37.5% across 16 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=15; 11W/4T/0L; d=11; p=0.000; net +73.3%; 1 dormancy excluded

Warnings: Activation: isolated 14/15; plugin 15/15

Overfit: Moderate (score 0.47)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Add VB application event handling without a new entry point Eligible +0.0% +0.0% 0/1/0
= Add safe serialization metadata to a custom control Eligible +0.0% +0.0% 0/1/0
▲ Audit and repair SQL injection risks across a WinForms solution Eligible +100.0% +40.0% 1/0/0
= Make bound list additions visible immediately Eligible +0.0% +0.0% 0/1/0
= Restore designer ownership of a form timer Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Add VB application event handling without a new entry point: Position-swap inconsistent (forward: tie, 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

⚠️ Session replay telemetry was not published because the auxiliary dotnet/skills-data publisher failed. The evaluation verdicts above remain authoritative; maintainers must repair SKILLS_DATA_TOKEN or the publisher before replay links are available.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

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

This branch was successfully deployed

1 active deployment
copilot-pat-pool — d3de1de7 Deployed Oct 2, 2026 by webreidi via evaluate / vally (dotnet-winforms--claude-sonnet-5) #11406
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