Skip to content

Benchmark: score the winapp-performance and winui-devtools skills - #1111

Merged
Nikola Metulev (nmetulev) merged 2 commits into
mainfrom
nmetulev-benchmark-score-new-skills
Oct 16, 2026
Merged

Nikola Metulev (nmetulev) merged 2 commits into
mainfrom
nmetulev-benchmark-score-new-skills

Conversation

@nmetulev

@nmetulev Nikola Metulev (nmetulev) commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

What and why

The agent benchmark is broken on main since winapp-performance (#837) and winui-devtools (#943) shipped:

  • benchmarks\agents\run.ps1 -Lint reports 1 error, and benchmark Pester has 2 failures.
  • No capability map matches the current 14 winapp skills, so runs with the current plugin can't be scored.
  • winapp perf ... commands aren't recognized by the command extractor.

This PR:

  • Adds a current winapp map for all 14 skills. winapp-performance maps to no capability for now: no scenario measures runtime performance, and crediting it as winui.build would let it pass unrelated build and crash scenarios. winapp perf commands are recorded but count toward nothing.
  • Keeps the previous maps so older results still score: 13 skills without winapp-performance, 13 without winui-devtools, and the original 12.
  • User-visible: changes one word in the winapp-performance skill description, "not crash dumps" → "not crash analysis". A held-out benchmark prompt mentions a "crash dump", so the old wording leaked into routing and failed lint. The meaning is the same.

Before / after

Before (main)

> .\benchmarks\agents\run.ps1 -Lint
error   demand c04-winui-hot-reload-toolbar-av   leak-bigram   shares 'crash dump' with skill winapp-performance
Linted 258 prompts: 1 errors, 54 warnings.

> Invoke-Pester benchmarks\agents\tests, benchmarks\tasks\tests, benchmarks\ui\tests
Passed 346 Failed 2

After

Linted 258 prompts: 0 errors, 54 warnings.
Passed 350 Failed 0

Not tested / risks

No live agent runs. Validation covers lint, Pester, -Plan, and the plugin validator.

Checklist

  • Tests added or updated (they fail without the fix)
  • Tested locally on Windows
  • Docs, samples, and plugins/winapp/skills/ updated if user-facing behavior changed
Notes for reviewers

Commands run on this branch:

  • .\benchmarks\agents\run.ps1 -Lint: 0 errors
  • Invoke-Pester -Path .\benchmarks\agents\tests,.\benchmarks\tasks\tests,.\benchmarks\ui\tests: 350 passed, 0 failed
  • .\benchmarks\agents\run.ps1 -Plan: runs (1710 sessions)
  • .\scripts\validate-plugin-package.ps1: passed

Skill-set hashes (computed on main's skill names): current 14 = e20195ae2f87; without performance = ea21288d7949 (main's former current map); without devtools = 93d52ca8d877; without both = 4a4abc8b6541.

Giving winapp-performance its own capability would need at least two held-out scenarios (a test requires that for every capability), so it's left for a follow-up. Ported from the benchmark part of draft #1060 only; none of its skill splits are included.

Add a current winapp capability map for all 14 shipped skills, keep legacy
maps for older results, recognize 'winapp perf' commands, and reword the
winapp-performance description so it no longer leaks a held-out fixture's
wording.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 72865eb6-685a-4ede-8516-17cfe8abcc86
Copilot AI balanced review requested due to automatic review settings October 16, 2026 07:18

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.

🟡 Changes recommended

Performance-only skill loads incorrectly pass unrelated build and crash scenarios, inflating benchmark scores.

1 open finding
What changed in this PR

Updates agent benchmark scoring for the current 14-skill winapp plugin while retaining maps for older skill sets.

Changes:

  • Adds current and historical capability maps.
  • Recognizes winapp perf commands and adds scoring tests.
  • Updates benchmark documentation and adjusts skill wording to clear prompt-leak lint.
File Description
plugins/​winapp/​skills/​winapp-performance/​SKILL.md Replaces “crash dumps” with “crash analysis”.
benchmarks/​agents/​tests/​Capabilities.Tests.ps1 Tests performance capability scoring.
benchmarks/​agents/​tests/​Benchmark.Tests.ps1 Tests performance command extraction.
benchmarks/​agents/​README.md Documents the updated map and performance credit.
benchmarks/​agents/​lib/​Benchmark.psm1 Recognizes perf commands.
benchmarks/​agents/​capabilities.json Adds skill-set maps and performance scoring rules.

🧠 Review effort: Balanced


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

Comment thread benchmarks/agents/capabilities.json Outdated
Mapping it to winui.build let a perf-only load pass unrelated build and
crash scenarios. No scenario measures runtime performance, so map it to no
capability and stop counting perf commands toward winui.build.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 72865eb6-685a-4ede-8516-17cfe8abcc86

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.

🟢 Approval recommended

The focused changes address the scoring defect with regression coverage and leave no unresolved blocking findings.

0 open findings

1 resolved since last review

🧠 Review effort: Balanced

@github-actions

Copy link
Copy Markdown
Contributor

Build Metrics Report

Validation passed. All required build and validation jobs succeeded.

Binary Sizes

Artifact Baseline Current Delta
CLI (ARM64) 64.66 MB 64.66 MB ✅ 0.0 KB (0.00%)
CLI (x64) 64.60 MB 64.60 MB 📈 +0.5 KB (+0.00%)
MSIX (ARM64) 26.77 MB 26.77 MB 📈 +0.5 KB (+0.00%)
MSIX (x64) 28.37 MB 28.37 MB 📈 +0.3 KB (+0.00%)
NPM Package 55.77 MB 55.77 MB 📉 -0.0 KB (-0.00%)
NuGet Package 55.91 MB 55.91 MB 📈 +0.5 KB (+0.00%)

.NET Test Results (TRX reports)

Other suites are reflected in the overall validation status above.

✅ 10419 passed, 43 skipped out of 10462 tests in 1951.7s (-292.8s vs. baseline)

Test Coverage

✅ 87.2% line coverage, 81.3% branch coverage · ✅ no change vs. baseline

CLI Startup Time

60ms median (x64, winapp --version) · ✅ -6ms vs. baseline


Updated 2026-10-16 08:26:08 UTC · commit 3ac0a39 · workflow run

@nmetulev
Nikola Metulev (nmetulev) merged commit 26c6f66 into main Oct 16, 2026
44 checks passed
@nmetulev
Nikola Metulev (nmetulev) deleted the nmetulev-benchmark-score-new-skills branch October 16, 2026 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants