Skip to content

Surface dotnet-msbuild binlog startup diagnostics - #1315

Closed
YuliiaKovalova wants to merge 3 commits into
mainfrom
fix/dotnet-msbuild-binlog-startup-diagnostics
Closed

YuliiaKovalova wants to merge 3 commits into
mainfrom
fix/dotnet-msbuild-binlog-startup-diagnostics

Conversation

@YuliiaKovalova

@YuliiaKovalova YuliiaKovalova commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Summary

The shipped dnx command inherits the workspace's effective NuGet settings. When those feeds do not provide Microsoft.AITools.BinlogMcp, package resolution fails before the MCP server starts, and the assistant sees only a closed connection rather than the stderr diagnosis.

  • Add host-specific SessionStart hooks for Copilot CLI and Claude Code. A 5-second exact-match, prerelease-inclusive JSON package search runs in the session workspace, inside an 8-second launcher budget and 10-second host timeout.
  • Inspect package arrays and both top-level and per-source problems instead of relying on exit codes. Distinguish absence, feed problems, timeouts, unsupported probes, and missing dotnet; successful availability checks remain silent. Serialize only the documented assistant-visible payload, without raw feed details, credentials, SDK banners, or credential-provider warnings.
  • Isolate the Unix helper in its own Bash process group and terminate the group on timeout/exit. Native Windows Git Bash delegates to PowerShell process-tree cleanup. Before package search launches, the helper joins a process-lifetime kill-on-close Windows Job Object so orphaned providers are terminated on normal/early helper exit and launcher termination. Transfer captured hook input through per-invocation UTF-8 files rather than console-dependent stdin forwarding.
  • Preserve the existing MCP command and workspace NuGet configuration. Recovery guidance preserves enterprise feed policy. Search is explicitly not proof of MCP startup: dnx also applies source mapping and may use cached tools or unlisted versions.

The shared parser uses dotnet fsi, bundled with the .NET SDK, rather than requiring another runtime or JSON parser. Add focused regression coverage and a Windows/macOS/Linux CI matrix without modifying skill evaluations or validator launch overrides.

Related issue

Fixes #1312.

Validation

  • python eng/hooks/test_binlog_preflight.py -v: 15 cases on Windows with .NET SDK 10.0.402; 13 passed and the 2 native Unix cases were skipped. Coverage includes inherited <clear />/mirror settings, exact availability, structured problems despite exit code 0, source mapping, timeouts, missing tools, both host schemas, spaces and Unicode in workspace paths, Windows input encoding, the Windows cleanup race, and orphaned stream-holder cleanup after search exit and launcher timeout.
  • Focused CI matrix passed on Windows, macOS, and Linux. Native Unix timeout/early-exit regressions verify that the helper owns its process group, TERM-ignoring descendants stop, and an unrelated process survives. Windows stream-holder fixtures verify cleanup after the search parent exits, including normal helper exit and forced launcher timeout.
  • The structured F# runner passed 65 assertions.
  • Real Copilot CLI 1.0.97 session: the unchanged MCP launch failed against an isolated empty mirror, and the assistant quoted the actionable preflight context without using tools.
  • Healthy workspace: preflight output was silent; the unchanged shipped dnx command initialized BinlogMcp 3.0.4 and returned 47 MCP tools, including binlog_overview.

Coverage limitations: Claude Code live-session delivery has not been verified because Claude is not installed in the validation environment. Native macOS/Linux hook execution is covered by the passing CI matrix; live assistant delivery was reverified with Copilot CLI 1.0.97 on Windows. Native Windows Claude requires Git Bash and delegates to the Windows PowerShell launcher. Copilot CLI 1.0.68 did not load the plugin hook in the live check and is not covered. No diagnostic support is claimed for Codex, VS Code, or Cursor.

Checklist

  • I searched existing issues and pull requests to avoid duplicates.
  • I kept this pull request focused and avoided unrelated refactors.
  • I added focused tests and documentation for the changed diagnostic behavior.
  • I reviewed CODEOWNERS; existing plugin, engineering, and workflow rules cover all added files.
  • I updated only the required host-specific hook declarations; plugin metadata and marketplace MCP declarations are unchanged.
  • No new external domains were added to skill content; a known-domains update is not applicable.

Evaluation-specific checklist items are not applicable: no skill evaluations or validator evaluation logic changed.

Add bounded assistant-visible NuGet preflight hooks for Copilot CLI and Claude Code without changing the MCP launch or workspace feed policy. Cover structured results, workspace settings, host payloads, and timeout cleanup independently of skill evaluations.

Refs #1312

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

Copy link
Copy Markdown
Contributor

Skill Coverage Report

Plugin Skill Covered Coverage
✅ dotnet-msbuild check-bin-obj-clash 4/5 80%
❌ dotnet-msbuild directory-build-organization 0/1 0%
❌ dotnet-msbuild extension-points 0/1 0%
✅ dotnet-msbuild msbuild-modernization 7/7 100%
✅ dotnet-msbuild property-patterns 1/1 100%
✅ dotnet-msbuild resolve-project-references 6/6 100%
Uncovered: dotnet-msbuild/check-bin-obj-clash
  • [WorkflowStep] Step 2: Get an overview and list projects (line 48)
Uncovered: dotnet-msbuild/directory-build-organization
  • [CodePattern] [MSBuild] (line 143)
Uncovered: dotnet-msbuild/extension-points
  • [CodePattern] [MSBuild] (line 195)

@github-actions github-actions Bot added pr-state/ready-for-eval PR is mergeable and awaiting evaluation pr-state/evals-in-progress PR evaluations are in progress and removed pr-state/ready-for-eval PR is mergeable and awaiting evaluation labels Oct 14, 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.

🟡 Changes recommended

The Unix timeout can leave package-search or credential-provider descendant processes running after the hook exits.

1 open finding
What changed in this PR

Adds host-specific session-start diagnostics for binlog MCP package-resolution failures.

Changes:

  • Adds bounded NuGet preflight hooks for Copilot CLI and Claude Code.
  • Parses sanitized outcomes and provides policy-preserving recovery guidance.
  • Adds cross-platform regression tests and CI coverage.
File Description
plugins/​dotnet-msbuild/​README.md Documents diagnostics and limitations.
plugins/​dotnet-msbuild/​plugin.json Registers Copilot hooks.
plugins/​dotnet-msbuild/​.claude-plugin/​plugin.json Registers Claude hooks.
plugins/​dotnet-msbuild/​hooks/​copilot.json Configures Copilot session-start execution.
plugins/​dotnet-msbuild/​hooks/​claude.json Configures Claude session-start execution.
plugins/​dotnet-msbuild/​hooks/​session-start.sh Adds Unix hook launcher.
plugins/​dotnet-msbuild/​hooks/​session-start.ps1 Adds Windows hook launcher.
plugins/​dotnet-msbuild/​hooks/​binlog-preflight.fsx Implements probing and diagnosis.
eng/​hooks/​Test-BinlogPreflight.fsx Tests structured result handling.
eng/​hooks/​test_binlog_preflight.py Tests launchers and NuGet scenarios.
.github/​workflows/​binlog-hook-tests.yml Runs tests across three operating systems.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread plugins/dotnet-msbuild/hooks/session-start.sh Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 14, 2026 14:06

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.

🔵 Needs a closer look

Windows descendant cleanup needs correction, and native cross-platform behavior and Claude delivery still require validation.

0 open findings

1 resolved since last review
Previously missed (1)

In code that hasn't changed since last review

Medium severity Credential-provider descendants leak after package search exits

plugins/​dotnet-msbuild/​hooks/​binlog-preflight.fsx:40

On Windows, if package search exits while a credential-provider descendant keeps stdout or stderr open, this branch returns TimedOut without terminating that descendant. The FSI helper can then exit normally, so session-start.ps1 skips its timeout-only taskkill; disposing the process object does not stop the provider. Establish process-tree ownership before launch (for example, a kill-on-close Windows Job Object), and clean up descendants on normal and early exits as well as timeouts. Add a Windows regression where the search process exits but its descendant keeps a redirected stream open.

🧠 Review effort: Balanced

@github-actions github-actions Bot added pr-state/ready-for-eval PR is mergeable and awaiting evaluation pr-state/evals-in-progress PR evaluations are in progress and removed pr-state/evals-in-progress PR evaluations are in progress pr-state/ready-for-eval PR is mergeable and awaiting evaluation labels Oct 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📊 Skill and Agent Evaluation Results

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

Measurement identity: evaluated commit 76b96cfdf3a75bc4b3e355d7519f0933ae18777f; 2 judge models.

Measurement health: 36 expected / 36 observed / 36 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
agent.msbuild claude-sonnet-5 ➖ Improvement signal, unproven n=5; 4W/0T/1L; d=5; p=0.188; net +60.0% — — The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
agent.msbuild gpt-5.6-luna ➖ Improvement signal, tie-limited n=5; 3W/2T/0L; d=3; p=0.125; net +60.0% — — The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
binlog-failure-analysis claude-sonnet-5 ➖ Baseline signal, tie-limited n=6; 1W/3T/2L; d=3; p=0.500; net -16.7%; 1 dormancy excluded 🟡 0.29 Activation: isolated 5/7; plugin 6/7 Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.
binlog-failure-analysis gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 4W/2T/0L; d=4; p=0.063; net +66.7%; 1 dormancy excluded 🟡 0.49 Activation: isolated 6/7; plugin 6/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
binlog-generation claude-sonnet-5 ✅ Improved n=7; 6W/1T/0L; d=6; p=0.016; net +85.7%; 1 dormancy excluded 🔴 0.52 Activation: isolated 5/7; plugin 6/7 Fix activation gaps; Review overfit evidence.
binlog-generation gpt-5.6-luna ➖ Improvement signal, unproven n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded 🔴 0.58 Activation: isolated 7/7; plugin 5/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
build-parallelism claude-sonnet-5 ➖ Mixed evidence n=6; 2W/2T/2L; d=4; p=0.687; net +0.0%; 1 dormancy excluded ✅ 0.11 Activation: isolated 5/6; plugin 5/6 Compare winning and losing scenarios to isolate where the target helps versus hurts.
build-parallelism gpt-5.6-luna ➖ Baseline signal, unproven n=6; 2W/0T/4L; d=6; p=0.344; net -33.3%; 1 dormancy excluded 🔴 0.51 Activation-only stop: isolated 1 failed run; Activation-only stop: plugin 1 failed run Inspect activation-only failed runs before rewriting skill content; the model stopped after loading a skill.
build-perf-baseline claude-sonnet-5 ➖ Improvement signal, unproven n=6; 3W/1T/2L; d=5; p=0.500; net +16.7%; 1 dormancy excluded 🟡 0.48 Activation: isolated 5/6; plugin 3/6 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
build-perf-baseline gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 1 dormancy excluded 🟡 0.48 Activation: isolated 6/6; plugin 4/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
build-perf-diagnostics claude-sonnet-5 ➖ Improvement signal, unproven n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded 🟡 0.44 Activation: isolated 7/7; plugin 3/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
build-perf-diagnostics gpt-5.6-luna ➖ Mixed evidence n=7; 3W/1T/3L; d=6; p=0.656; net +0.0%; 1 dormancy excluded 🟡 0.37 Activation: isolated 7/7; plugin 3/7 Compare winning and losing scenarios to isolate where the target helps versus hurts.
check-bin-obj-clash claude-sonnet-5 ➖ Improvement signal, tie-limited n=7; 3W/4T/0L; d=3; p=0.125; net +42.9% 🟡 0.24 — The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
check-bin-obj-clash gpt-5.6-luna ➖ Improvement signal, tie-limited n=7; 3W/3T/1L; d=4; p=0.312; net +28.6% 🟡 0.33 Activation: isolated 7/7; plugin 6/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
directory-build-organization claude-sonnet-5 ➖ Improvement signal, unproven n=6; 4W/0T/2L; d=6; p=0.344; net +33.3%; 1 dormancy excluded 🟡 0.35 Activation: isolated 4/6; plugin 5/6 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
directory-build-organization gpt-5.6-luna ➖ Baseline signal, tie-limited n=6; 1W/2T/3L; d=4; p=0.312; net -33.3%; 1 dormancy excluded 🔴 0.55 Activation: isolated 6/6; plugin 4/6 Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.
eval-performance claude-sonnet-5 ➖ Improvement signal, unproven n=8; 6W/1T/1L; d=7; p=0.063; net +62.5% 🟡 0.40 Activation: isolated 6/8; plugin 5/8 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
eval-performance gpt-5.6-luna ➖ Improvement signal, unproven n=8; 5W/2T/1L; d=6; p=0.109; net +50.0% 🟡 0.40 — The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
extension-points claude-sonnet-5 ➖ Improvement signal, unproven n=7; 4W/2T/1L; d=5; p=0.188; net +42.9%; 2 dormancy excluded 🟡 0.43 Activation: isolated 5/7; plugin 6/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
extension-points gpt-5.6-luna ➖ Improvement signal, tie-limited n=7; 2W/5T/0L; d=2; p=0.250; net +28.6%; 2 dormancy excluded 🟡 0.36 Activation: isolated 7/7; plugin 6/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
including-generated-files claude-sonnet-5 ➖ Improvement signal, unproven n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded 🟡 0.38 Activation: isolated 5/7; plugin 6/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
including-generated-files gpt-5.6-luna ➖ Improvement signal, tie-limited n=7; 3W/4T/0L; d=3; p=0.125; net +42.9%; 1 dormancy excluded 🟡 0.38 Activation: isolated 7/7; plugin 6/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
incremental-build claude-sonnet-5 ➖ Improvement signal, unproven n=9; 5W/3T/1L; d=6; p=0.109; net +44.4% 🟡 0.24 Activation: isolated 4/9; plugin 4/9 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
incremental-build gpt-5.6-luna ➖ Improvement signal, tie-limited n=9; 3W/5T/1L; d=4; p=0.312; net +22.2% 🔴 0.57 Activation: isolated 9/9; plugin 6/9 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
item-management claude-sonnet-5 ➖ Improvement signal, tie-limited n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 1 dormancy excluded 🟡 0.33 Activation: isolated 2/6; plugin 3/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
item-management gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 2W/4T/0L; d=2; p=0.250; net +33.3%; 1 dormancy excluded 🔴 0.54 — The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
msbuild-antipatterns claude-sonnet-5 ➖ Improvement signal, tie-limited n=7; 2W/4T/1L; d=3; p=0.500; net +14.3%; 1 dormancy excluded 🟡 0.25 Activation: isolated 3/7; plugin 3/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
msbuild-antipatterns gpt-5.6-luna ➖ Baseline signal, tie-limited n=7; 1W/4T/2L; d=3; p=0.500; net -14.3%; 1 dormancy excluded 🔴 0.54 Activation: isolated 5/7; plugin 3/7 Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.
msbuild-modernization claude-sonnet-5 ➖ Improvement signal, tie-limited n=6; 2W/4T/0L; d=2; p=0.250; net +33.3%; 1 dormancy excluded 🟡 0.29 Activation: isolated 6/6; plugin 5/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
msbuild-modernization gpt-5.6-luna ➖ Mixed evidence n=6; 2W/2T/2L; d=4; p=0.687; net +0.0%; 1 dormancy excluded 🟡 0.21 — Compare winning and losing scenarios to isolate where the target helps versus hurts.
property-patterns claude-sonnet-5 ➖ Baseline signal, unproven n=7; 2W/0T/5L; d=7; p=0.227; net -42.9% 🟡 0.21 Activation: isolated 5/7; plugin 6/7 Evidence leans baseline but is not credible; inspect losing scenarios for recurring defects.
property-patterns gpt-5.6-luna ➖ Mixed evidence n=7; 2W/3T/2L; d=4; p=0.687; net +0.0% 🟡 0.24 Activation: isolated 6/7; plugin 6/7 Compare winning and losing scenarios to isolate where the target helps versus hurts.
resolve-project-references claude-sonnet-5 ➖ Improvement signal, tie-limited n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 2 dormancy excluded 🟡 0.36 Activation: isolated 5/6; plugin 4/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
resolve-project-references gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 4W/2T/0L; d=4; p=0.063; net +66.7%; 2 dormancy excluded 🟡 0.39 Activation: isolated 6/6; plugin 4/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
target-authoring claude-sonnet-5 ➖ Baseline signal, tie-limited n=6; 0W/4T/2L; d=2; p=0.250; net -33.3%; 1 dormancy excluded 🟡 0.42 Activation: isolated 5/6; plugin 5/6 Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.
target-authoring gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 4W/2T/0L; d=4; p=0.063; net +66.7%; 1 dormancy excluded 🟡 0.39 — The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
ℹ️ 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.
➖ Improvement signal, unproven — agent.msbuild (claude-sonnet-5)

Why: Net win +60.0% (4W/0T/1L over 5 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +36.0% across 5 paired run(s) — not credible (sign test p=0.188 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=5; 4W/0T/1L; d=5; p=0.188; net +60.0%

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Review a project file for maintainability risks Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Review a project file for maintainability risks: A catches and prioritizes the stronger correctness risk, offers a workable targeted fix, and also covers the incremental-execution issue. B is more concise and avoids optional generic concerns, but misses the directory-ordering defect and includes a technically questionable cl...

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

➖ Improvement signal, tie-limited — agent.msbuild (gpt-5.6-luna)

Why: Net win +60.0% (3W/2T/0L over 5 preference-eligible stimulus vote(s), sign test p=0.125), mean preference +36.0% across 5 paired run(s) — not credible — 2 of 5 preference-eligible stimulus vote(s) tied, leaving only 3 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the agent is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=5; 3W/2T/0L; d=3; p=0.125; net +60.0%

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Diagnose broken incremental build behavior Eligible +0.0% +0.0% 0/1/0
= Triage a build failure and route to appropriate analysis Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose broken incremental build behavior: Position-swap inconsistent (forward: skill, reverse: baseline). Defaulting to tie.

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

➖ Baseline signal, tie-limited — binlog-failure-analysis (claude-sonnet-5)

Why: Net win -16.7% (1W/3T/2L over 6 preference-eligible stimulus vote(s), sign test p=0.500), mean preference -14.3% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 1W/3T/2L; d=3; p=0.500; net -16.7%; 1 dormancy excluded

Warnings: Activation: isolated 5/7; plugin 6/7

Overfit: Moderate (score 0.29)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Assess a requested binlog investigation when the current build is healthy Eligible -100.0% -40.0% 0/0/1
= Confirm the actual resolved target framework and package version from a binlog Eligible +0.0% +0.0% 0/0/0
= Determine whether a quiet second build actually failed Eligible +0.0% +0.0% 0/1/0
= Diagnose a warning behind a build that actually succeeded Eligible +0.0% +0.0% 0/1/0
= Diagnose build failures from binlog only (no source files) Eligible +0.0% +0.0% 0/1/0
= Stay dormant for a non-MSBuild build failure log Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Trace why a generated source file is missing at compile time Eligible -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Assess a requested binlog investigation when the current build is healthy: Both reach the correct core conclusion and preserve a binlog. A is modestly stronger because it actually performs additional diagnostic validation and interprets potentially alarming MSBuild resolver and NuGet-code text, yielding a fuller analysis while remaining appropriately...

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

➖ Improvement signal, tie-limited — binlog-failure-analysis (gpt-5.6-luna)

Why: Net win +66.7% (4W/2T/0L over 6 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +37.1% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 2 of 6 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 4W/2T/0L; d=4; p=0.063; net +66.7%; 1 dormancy excluded

Warnings: Activation: isolated 6/7; plugin 6/7

Overfit: Moderate (score 0.49)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Confirm the actual resolved target framework and package version from a binlog Eligible +0.0% +0.0% 0/0/0
= Diagnose build failures from binlog only (no source files) Eligible +0.0% +0.0% 0/1/0
= Use capture-time text logs when the binlog reader is unavailable Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose build failures from binlog only (no source files): Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — binlog-generation (gpt-5.6-luna)

Why: Net win +57.1% (5W/1T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +50.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 5/7

Overfit: High (score 0.58)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Choose a predictable, non-colliding binlog name for a CI upload step Eligible -100.0% -40.0% 0/0/1
= Decline Maven compiler configuration Excluded (activation contract) +0.0% +0.0% 0/1/0
▲ Fix a CI build script that reuses the same binlog on every run Eligible +100.0% +40.0% 1/0/0
▲ Preserve binlog history while cleaning stale build output Eligible +100.0% +100.0% 1/0/0
= Recognize that a failed build produced no binlog at all Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Choose a predictable, non-colliding binlog name for a CI upload step: Both responses successfully completed the task and met all rubric requirements with identical output filenames. Response A has a slight edge due to explicit verification of the generated binlogs using ls -lh and file commands, which is a best practice for CI/CD artifacts a...

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

➖ Mixed evidence — build-parallelism (claude-sonnet-5)

Why: Net win +0.0% (2W/2T/2L over 6 preference-eligible stimulus vote(s), sign test p=0.687), mean preference +8.6% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Compare winning and losing scenarios to isolate where the target helps versus hurts.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 2W/2T/2L; d=4; p=0.687; net +0.0%; 1 dormancy excluded

Warnings: Activation: isolated 5/6; plugin 5/6

Overfit: Low (score 0.11)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Analyze build parallelism bottlenecks Eligible -100.0% -40.0% 0/0/1
= Decline database query tuning request Excluded (activation contract) +0.0% +0.0% 0/1/0
= Decline graph build for runtime-discovered projects Eligible +0.0% +0.0% 0/1/0
= Enable parallel nodes for a wide project graph Eligible +0.0% +0.0% 0/1/0
▼ Reduce CI build scope with a solution filter Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Analyze build parallelism bottlenecks: Both provide the correct dependency, redundancy, and critical-path conclusions. A is stronger because it substantiates the requested binlog-based parallelism analysis with actual observed timing/node evidence, whereas B does not.

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

➖ Baseline signal, unproven — build-parallelism (gpt-5.6-luna)

Why: Net win -33.3% (2W/0T/4L over 6 preference-eligible stimulus vote(s), sign test p=0.344), mean preference -17.1% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Inspect activation-only failed runs before rewriting skill content; the model stopped after loading a skill.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 2W/0T/4L; d=6; p=0.344; net -33.3%; 1 dormancy excluded

Warnings: Activation-only stop: isolated 1 failed run; Activation-only stop: plugin 1 failed run

Overfit: High (score 0.51)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline database query tuning request Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Decline graph build for runtime-discovered projects Eligible -100.0% -40.0% 0/0/1
▼ Enable BuildInParallel on a custom MSBuild task Eligible -100.0% -40.0% 0/0/1
▲ Enable parallel nodes for a wide project graph Eligible +100.0% +40.0% 1/0/0
▼ Preserve valid dependencies and optimize the slow critical-path project Eligible -100.0% -40.0% 0/0/1
▼ Reduce CI build scope with a solution filter Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Decline graph build for runtime-discovered projects: Both responses correctly identify the fundamental problem and explain why /graph is unsafe with runtime project discovery. However, Response A is slightly better because: (1) it more precisely names the artifact (@(Discovered)) and the timing issue; (2) it explicitly acknowled...

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

➖ Improvement signal, unproven — build-perf-baseline (claude-sonnet-5)

Why: Net win +16.7% (3W/1T/2L over 6 preference-eligible stimulus vote(s), sign test p=0.500), mean preference -0.0% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.500 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 3W/1T/2L; d=5; p=0.500; net +16.7%; 1 dormancy excluded

Warnings: Activation: isolated 5/6; plugin 3/6

Overfit: Moderate (score 0.48)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Configure deterministic, cache-safe CI builds Eligible +100.0% +40.0% 1/0/0
▼ Decline a non-MSBuild build performance request Excluded (activation contract) -100.0% -100.0% 0/0/1
▼ Leave an already-optimized build unchanged Eligible -100.0% -40.0% 0/0/1
▼ Route a broken no-op rebuild away from generic optimization Eligible -100.0% -40.0% 0/0/1
= Route a restore-bound cold build away from architecture changes Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Leave an already-optimized build unchanged: A is not ideal because it makes changes where the checklist calls for none, but its assessment of the existing CI-gated settings is sound and its added reference-assembly setting has a plausible incremental-build rationale. B's main finding is backwards for this build-performa...

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

➖ Improvement signal, tie-limited — build-perf-baseline (gpt-5.6-luna)

Why: Net win +33.3% (3W/2T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.312), mean preference +14.3% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 2 of 6 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 1 dormancy excluded

Warnings: Activation: isolated 6/6; plugin 4/6

Overfit: Moderate (score 0.48)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Configure deterministic, cache-safe CI builds Eligible +100.0% +40.0% 1/0/0
▼ Decline a non-MSBuild build performance request Excluded (activation contract) -100.0% -40.0% 0/0/1
= Leave an already-optimized build unchanged Eligible +0.0% +0.0% 0/1/0
= Route a broken no-op rebuild away from generic optimization Eligible +0.0% +0.0% 0/1/0
▼ Route a restore-bound cold build away from architecture changes Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Leave an already-optimized build unchanged: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — build-perf-diagnostics (claude-sonnet-5)

Why: Net win +28.6% (4W/1T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +10.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 3/7

Overfit: Moderate (score 0.44)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline a runtime latency request that is not a build performance issue Excluded (activation contract) +0.0% +0.0% 0/1/0
= Diagnose a Copy task dominating build time Eligible +0.0% +0.0% 0/1/0
▲ Diagnose a single custom target dominating one project's build Eligible +100.0% +40.0% 1/0/0
▼ Diagnose evaluation overhead before any target runs Eligible -100.0% -40.0% 0/0/1
▼ Diagnose per-project overhead across many small projects Eligible -100.0% -40.0% 0/0/1
▲ Diagnose slow build for a small project Eligible +100.0% +40.0% 1/0/0

Illustrative judge evidence:

  • Diagnose a Copy task dominating build time: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

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

➖ Mixed evidence — build-perf-diagnostics (gpt-5.6-luna)

Why: Net win +0.0% (3W/1T/3L over 7 preference-eligible stimulus vote(s), sign test p=0.656), mean preference +0.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Compare winning and losing scenarios to isolate where the target helps versus hurts.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 3W/1T/3L; d=6; p=0.656; net +0.0%; 1 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 3/7

Overfit: Moderate (score 0.37)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline a runtime latency request that is not a build performance issue Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Diagnose NuGet restore running redundantly across CI stages Eligible -100.0% -40.0% 0/0/1
= Diagnose a Copy task dominating build time Eligible +0.0% +0.0% 0/1/0
▲ Diagnose a pathological ResolveAssemblyReference time Eligible +100.0% +40.0% 1/0/0
▲ Diagnose a single custom target dominating one project's build Eligible +100.0% +40.0% 1/0/0
▼ Diagnose evaluation overhead before any target runs Eligible -100.0% -40.0% 0/0/1
▼ Diagnose per-project overhead across many small projects Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose NuGet restore running redundantly across CI stages: Both responses correctly diagnose the problem and recommend the primary solution (restore-once + --no-restore). The key differentiator is Response A's superior handling of the multi-stage CI scenario: it explicitly warns that NuGet cache alone is insufficient—you must persist/...

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

➖ Improvement signal, tie-limited — check-bin-obj-clash (claude-sonnet-5)

Why: Net win +42.9% (3W/4T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.125), mean preference +17.1% across 7 paired run(s) — not credible — 4 of 7 preference-eligible stimulus vote(s) tied, leaving only 3 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 3W/4T/0L; d=3; p=0.125; net +42.9%

Overfit: Moderate (score 0.24)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Avoid a false clash report when projects share only the top-level artifacts root Eligible +0.0% +0.0% 0/1/0
= Decline output-clash remediation for separate projects using the default SDK layout Eligible +0.0% +0.0% 0/1/0
= Diagnose redundant project reference metadata that forks a same-path build Eligible +0.0% +0.0% 0/1/0
= Diagnose shared output and intermediate path collision Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Avoid a false clash report when projects share only the top-level artifacts root: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

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

➖ Improvement signal, tie-limited — check-bin-obj-clash (gpt-5.6-luna)

Why: Net win +28.6% (3W/3T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.312), mean preference +11.4% across 7 paired run(s) — not credible — 3 of 7 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 3W/3T/1L; d=4; p=0.312; net +28.6%

Warnings: Activation: isolated 7/7; plugin 6/7

Overfit: Moderate (score 0.33)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit the mixed solution and separate safe projects from unsafe ones Eligible -100.0% -40.0% 0/0/1
= Avoid a false clash report when projects share only the top-level artifacts root Eligible +0.0% +0.0% 0/1/0
▲ Diagnose multi-targeting outputs that collapse into one path Eligible +100.0% +40.0% 1/0/0
= Diagnose shared output and intermediate path collision Eligible +0.0% +0.0% 0/1/0
= Fix all clash mechanisms in the mixed solution Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Audit the mixed solution and separate safe projects from unsafe ones: Response A provides clearer and more actionable categorization by correctly placing ToolLib in the "Safe to leave alone" section and precisely identifying the ConsumerApp reference (not ToolLib itself) as the unsafe element. Response B's placement of ToolLib in the "Unsafe" ta...

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

➖ Improvement signal, unproven — directory-build-organization (claude-sonnet-5)

Why: Net win +33.3% (4W/0T/2L over 6 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +20.0% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 4W/0T/2L; d=6; p=0.344; net +33.3%; 1 dormancy excluded

Warnings: Activation: isolated 4/6; plugin 5/6

Overfit: Moderate (score 0.35)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline adding shared build files to a lone project Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Diagnose a TargetFramework condition that silently skips in props Eligible -100.0% -40.0% 0/0/1
▲ Diagnose an inner shared-props file that overwrites its own override Eligible +100.0% +40.0% 1/0/0
▼ Preserve an intentional project-specific exception while centralizing Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose a TargetFramework condition that silently skips in props: Both answers reach the correct practical diagnosis and fix. A is slightly cleaner and more focused; B unnecessarily states that Directory.Build.props is before Sdk.props and adds a muddled, non-actionable alternative about keeping it in props. A's import-order wording is somew...

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

➖ Baseline signal, tie-limited — directory-build-organization (gpt-5.6-luna)

Why: Net win -33.3% (1W/2T/3L over 6 preference-eligible stimulus vote(s), sign test p=0.312), mean preference -5.7% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 1W/2T/3L; d=4; p=0.312; net -33.3%; 1 dormancy excluded

Warnings: Activation: isolated 6/6; plugin 4/6

Overfit: High (score 0.55)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Apply repo-level build organization cleanup Eligible -100.0% -40.0% 0/0/1
= Diagnose a TargetFramework condition that silently skips in props Eligible +0.0% +0.0% 0/1/0
= Diagnose a package downgrade chain and reorganize version management Eligible +0.0% +0.0% 0/1/0
▼ Diagnose an inner shared-props file that overwrites its own override Eligible -100.0% -40.0% 0/0/1
▼ Preserve an intentional project-specific exception while centralizing Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Apply repo-level build organization cleanup: Both responses successfully centralized the build layout, but Response A demonstrates superior quality through explicit verification and real problem-solving. A verified the final state through MSBuild property queries confirming duplication removal, and had to debug and resol...

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

➖ Improvement signal, unproven — eval-performance (claude-sonnet-5)

Why: Net win +62.5% (6W/1T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +25.0% across 8 paired run(s) — not credible (sign test p=0.063 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 6W/1T/1L; d=7; p=0.063; net +62.5%

Warnings: Activation: isolated 6/8; plugin 5/8

Overfit: Moderate (score 0.40)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Gather a measurement before proposing evaluation fixes for an unremarkable project Eligible -100.0% -40.0% 0/0/1
▲ Recognize TreatAsLocalProperty overuse versus one justified entry Eligible +100.0% +40.0% 1/0/0
= Redirect an incremental-rebuild complaint mistakenly framed as an evaluation problem Eligible +0.0% +0.0% 0/1/0
▲ Triage which of two property functions actually costs evaluation time Eligible +100.0% +40.0% 1/0/0

Illustrative judge evidence:

  • Gather a measurement before proposing evaluation fixes for an unremarkable project: Both deliver the correct measurement-first outcome. A is marginally more actionable and precise about how to obtain and interpret evaluation timing, while remaining appropriately non-speculative.

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

➖ Improvement signal, unproven — eval-performance (gpt-5.6-luna)

Why: Net win +50.0% (5W/2T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +35.0% across 8 paired run(s) — not credible (sign test p=0.109 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 5W/2T/1L; d=6; p=0.109; net +50.0%

Overfit: Moderate (score 0.40)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Detect a project evaluated twice under different global properties Eligible -100.0% -40.0% 0/0/1
= Redirect a compile-time slowdown mistakenly framed as an evaluation problem Eligible +0.0% +0.0% 0/1/0
= Triage which of two property functions actually costs evaluation time Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect a project evaluated twice under different global properties: Response A provides a more technically precise and complete explanation of the root cause: MSBuild's inability to reuse evaluations when global properties differ. Response A also quantifies the impact (386.5 ms + 32.2 ms ≈ 419 ms of 1.10 s build) and correctly identifies that ...

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

➖ Improvement signal, unproven — extension-points (claude-sonnet-5)

Why: Net win +42.9% (4W/2T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +31.1% across 9 paired run(s), 2 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.188 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 4W/2T/1L; d=5; p=0.188; net +42.9%; 2 dormancy excluded

Warnings: Activation: isolated 5/7; plugin 6/7

Overfit: Moderate (score 0.43)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline Kubernetes readiness probe configuration Excluded (activation contract) +0.0% +0.0% 0/1/0
▲ Diagnose a package ID and file-name mismatch Eligible +100.0% +40.0% 1/0/0
= Diagnose build extension point failures Eligible +0.0% +0.0% 0/1/0
▼ Fix extension point anti-patterns Eligible -100.0% -40.0% 0/0/1
= Review packed layout without a false missing-file bug Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose build extension point failures: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, tie-limited — extension-points (gpt-5.6-luna)

Why: Net win +28.6% (2W/5T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.250), mean preference +17.8% across 9 paired run(s), 2 dormancy stimulus/stimuli excluded from preference — not credible — 5 of 7 preference-eligible stimulus vote(s) tied, leaving only 2 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 2W/5T/0L; d=2; p=0.250; net +28.6%; 2 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 6/7

Overfit: Moderate (score 0.36)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Create extensibility hooks for a custom SDK target file Eligible +0.0% +0.0% 0/1/0
= Diagnose a package ID and file-name mismatch Eligible +0.0% +0.0% 0/1/0
= Diagnose build extension point failures Eligible +0.0% +0.0% 0/1/0
= Fix extension point anti-patterns Eligible +0.0% +0.0% 0/1/0
= Review packed layout without a false missing-file bug Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Create extensibility hooks for a custom SDK target file: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — including-generated-files (claude-sonnet-5)

Why: Net win +28.6% (4W/1T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +10.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded

Warnings: Activation: isolated 5/7; plugin 6/7

Overfit: Moderate (score 0.38)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline a Python runtime report-path problem Excluded (activation contract) +0.0% +0.0% 0/1/0
▲ Diagnose missing clean tracking for generated source Eligible +100.0% +40.0% 1/0/0
▼ Diagnose missing output registration for generated non-code file Eligible -100.0% -40.0% 0/0/1
▼ Diagnose project-level glob for generated source Eligible -100.0% -40.0% 0/0/1
▲ Diagnose wrong hook for generated source files Eligible +100.0% +40.0% 1/0/0
= Fix generated source inclusion and clean tracking Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose missing output registration for generated non-code file: A delivers a fully applied, clean, verified solution that places the file in the requested bin root. B has sound core diagnosis and timing guidance but leaves its actual applied change with the file nested under obj and asks whether to perform the final correction.

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

➖ Improvement signal, tie-limited — including-generated-files (gpt-5.6-luna)

Why: Net win +42.9% (3W/4T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.125), mean preference +20.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 4 of 7 preference-eligible stimulus vote(s) tied, leaving only 3 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 3W/4T/0L; d=3; p=0.125; net +42.9%; 1 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 6/7

Overfit: Moderate (score 0.38)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Diagnose hardcoded obj path for generated source Eligible +0.0% +0.0% 0/1/0
= Diagnose missing clean tracking for generated source Eligible +0.0% +0.0% 0/1/0
= Diagnose missing generated source inclusion Eligible +0.0% +0.0% 0/1/0
= Diagnose missing output registration for generated non-code file Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose hardcoded obj path for generated source: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — incremental-build (claude-sonnet-5)

Why: Net win +44.4% (5W/3T/1L over 9 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +17.8% across 9 paired run(s) — not credible (sign test p=0.109 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=9; 5W/3T/1L; d=6; p=0.109; net +44.4%

Warnings: Activation: isolated 4/9; plugin 4/9

Overfit: Moderate (score 0.24)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Distinguish a cold first build from broken incrementality Eligible +0.0% +0.0% 0/1/0
▲ Explain slower builds when MSBuild skipped everything Eligible +100.0% +40.0% 1/0/0
= Explain why clean leaves generated hash source behind Eligible +0.0% +0.0% 0/1/0
▼ Identify a volatile output path that defeats incrementality Eligible -100.0% -40.0% 0/0/1
= Read a diagnostic log to find the stale input Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Distinguish a cold first build from broken incrementality: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

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

➖ Improvement signal, tie-limited — incremental-build (gpt-5.6-luna)

Why: Net win +22.2% (3W/5T/1L over 9 preference-eligible stimulus vote(s), sign test p=0.312), mean preference +15.6% across 9 paired run(s) — not credible — 5 of 9 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=9; 3W/5T/1L; d=4; p=0.312; net +22.2%

Warnings: Activation: isolated 9/9; plugin 6/9

Overfit: High (score 0.57)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Correct the assumption that Outputs alone enables incremental skipping Eligible +0.0% +0.0% 0/1/0
= Diagnose custom targets that always rerun Eligible +0.0% +0.0% 0/1/0
▼ Distinguish a cold first build from broken incrementality Eligible -100.0% -40.0% 0/0/1
= Explain slower builds when MSBuild skipped everything Eligible +0.0% +0.0% 0/1/0
▲ Explain why clean leaves generated hash source behind Eligible +100.0% +40.0% 1/0/0
= Identify a volatile output path that defeats incrementality Eligible +0.0% +0.0% 0/1/0
= Read a diagnostic log to find the stale input Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Correct the assumption that Outputs alone enables incremental skipping: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, tie-limited — item-management (claude-sonnet-5)

Why: Net win +33.3% (3W/2T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.312), mean preference +17.1% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 2 of 6 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 1 dormancy excluded

Warnings: Activation: isolated 2/6; plugin 3/6

Overfit: Moderate (score 0.33)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Diagnose an ineffective Compile Remove that does not match the glob Eligible +100.0% +40.0% 1/0/0
▼ Diagnose item group and batching issues Eligible -100.0% -40.0% 0/0/1
= Diagnose real and claimed item problems in a code generation pipeline Eligible +0.0% +0.0% 0/1/0
= Fix item management anti-patterns Eligible +0.0% +0.0% 0/1/0
▲ Leave already-correct item management unchanged Eligible +100.0% +40.0% 1/0/0
▲ Leave correct single-list batching unchanged Eligible +100.0% +40.0% 1/0/0

Illustrative judge evidence:

  • Diagnose item group and batching issues: Both diagnose the three underlying MSBuild item-management problems well, but A is more precise and actionable, especially for defining a reliable data/schema association and using the proper Update operation.

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

➖ Improvement signal, tie-limited — item-management (gpt-5.6-luna)

Why: Net win +33.3% (2W/4T/0L over 6 preference-eligible stimulus vote(s), sign test p=0.250), mean preference +28.6% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 4 of 6 preference-eligible stimulus vote(s) tied, leaving only 2 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 2W/4T/0L; d=2; p=0.250; net +33.3%; 1 dormancy excluded

Overfit: High (score 0.54)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline JavaScript configuration merging Excluded (activation contract) +0.0% +0.0% 0/1/0
= Diagnose an ineffective Compile Remove that does not match the glob Eligible +0.0% +0.0% 0/1/0
= Diagnose real and claimed item problems in a code generation pipeline Eligible +0.0% +0.0% 0/1/0
= Fix item management anti-patterns Eligible +0.0% +0.0% 0/1/0
= Leave correct single-list batching unchanged Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose an ineffective Compile Remove that does not match the glob: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, tie-limited — msbuild-antipatterns (claude-sonnet-5)

Why: Net win +14.3% (2W/4T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.500), mean preference +0.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 4 of 7 preference-eligible stimulus vote(s) tied, leaving only 3 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 2W/4T/1L; d=3; p=0.500; net +14.3%; 1 dormancy excluded

Warnings: Activation: isolated 3/7; plugin 3/7

Overfit: Moderate (score 0.25)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Add a module to an F# project Eligible +0.0% +0.0% 0/1/0
= Add a signature file to define public API Eligible +0.0% +0.0% 0/1/0
= Fix broken file order causing FS0039 Eligible +0.0% +0.0% 0/1/0
= Judge an unguarded import inside a NuGet package build folder Eligible +0.0% +0.0% 0/1/0
▼ Leave a clean project without inventing anti-patterns Eligible -100.0% -40.0% 0/0/1
▼ Non-activation: migrate a legacy project to SDK style Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Add a module to an F# project: Both responses fully implement the requested validation module, compile ordering, and pre-processing validation flow, and both verify a successful build and run. The minor differences in validation/check ordering and compile placement relative to Services.fs do not affect comp...

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

Details for 10 results were omitted to keep this comment under GitHub's limit. Open the workflow summary or Full Results for the complete breakdown.

🔍 Full Results - all metrics and investigation details

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

For PR 1315 in dotnet/skills, download eval artifacts with gh run download 38572106478 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/76b96cfdf3a75bc4b3e355d7519f0933ae18777f/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 Bot added a commit that referenced this pull request Oct 14, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 14, 2026 15:15
@YuliiaKovalova

Copy link
Copy Markdown
Member Author

Addressed the Windows credential-provider leak from the latest review in 71c8faf.

Before starting package search, the FSI helper joins an unnamed kill-on-close Windows Job Object. Its sole non-inheritable handle lives until helper teardown, so Windows terminates orphaned descendants on normal/early helper exit and launcher termination, even after their search parent exits. Failed ownership setup skips the probe and reports unverified availability. Process exit and redirected-stream completion share the same five-second probe budget; the MCP command and NuGet policy are unchanged.

The regression reproduces an exiting search whose provider holds redirected streams open. It verifies provider termination after helper exit and forced eight-second launcher timeout through native PowerShell and both Git Bash host schemas, while an unrelated process survives. Native Windows/macOS/Linux CI passes: Windows 13 passed / 2 Unix-only skips; macOS and Linux 11 passed / 4 Windows-only skips. The structured runner passes 65 assertions. Actual Copilot CLI 1.0.97 assistant delivery and the unchanged healthy MCP launch were reverified on Windows.

Claude Code live delivery remains unverified because Claude is not installed in this environment. Its documented output schema and shell paths have regression coverage, but I am not claiming end-to-end Claude verification; the PR retains that limitation.

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.

🔵 Needs a closer look

Windows launcher-termination cleanup remains unresolved, and the current process-ownership changes require human validation.

1 open finding

🧠 Review effort: Balanced

Comment on lines +69 to +72
if not (AssignProcessToJobObject(job, GetCurrentProcess())) then fail ()
// Keep the non-inheritable handle for this helper's lifetime, not a probe's scope:
// OS teardown closes it on normal exit, early exit, or taskkill, killing all descendants.
job
@github-actions github-actions Bot added waiting-on-author PR state label and removed pr-state/evals-in-progress PR evaluations are in progress labels Oct 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

👋 @YuliiaKovalova — 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

Copy link
Copy Markdown
Contributor

📊 Skill and Agent Evaluation Results

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

Measurement identity: evaluated commit 86f5c1eb7fffc2c8478f2c37ca47b64ea93f15be; 2 judge models.

Measurement health: 36 expected / 36 observed / 36 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
agent.msbuild claude-sonnet-5 ➖ Mixed evidence n=5; 2W/1T/2L; d=4; p=0.687; net +0.0% — — Compare winning and losing scenarios to isolate where the target helps versus hurts.
agent.msbuild gpt-5.6-luna ➖ Baseline signal, tie-limited n=5; 0W/3T/2L; d=2; p=0.250; net -40.0% — — Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.
binlog-failure-analysis claude-sonnet-5 ➖ Baseline signal, unproven n=6; 2W/0T/4L; d=6; p=0.344; net -33.3%; 1 dormancy excluded 🟡 0.24 Activation: isolated 5/7; plugin 6/7 Evidence leans baseline but is not credible; inspect losing scenarios for recurring defects.
binlog-failure-analysis gpt-5.6-luna ➖ Improvement signal, unproven n=6; 4W/0T/2L; d=6; p=0.344; net +33.3%; 1 dormancy excluded 🟡 0.30 Activation: isolated 6/7; plugin 6/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
binlog-generation claude-sonnet-5 ➖ Improvement signal, unproven n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded 🔴 0.52 Activation: isolated 5/7; plugin 6/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
binlog-generation gpt-5.6-luna ➖ Improvement signal, unproven n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded 🟡 0.39 Activation: isolated 5/7; plugin 6/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
build-parallelism claude-sonnet-5 ➖ Baseline signal, tie-limited n=6; 0W/2T/4L; d=4; p=0.063; net -66.7%; 1 dormancy excluded 🟡 0.40 Activation: isolated 6/6; plugin 4/6; Activation-only stop: isolated 1 failed run Inspect activation-only failed runs before rewriting skill content; the model stopped after loading a skill.
build-parallelism gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 1 dormancy excluded 🟡 0.30 Activation-only stop: isolated 1 failed run; Activation-only stop: plugin 1 failed run Inspect activation-only failed runs before rewriting skill content; the model stopped after loading a skill.
build-perf-baseline claude-sonnet-5 ➖ Improvement signal, unproven n=6; 4W/1T/1L; d=5; p=0.188; net +50.0%; 1 dormancy excluded 🟡 0.39 Activation: isolated 4/6; plugin 4/6 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
build-perf-baseline gpt-5.6-luna ➖ Improvement signal, unproven n=6; 4W/1T/1L; d=5; p=0.188; net +50.0%; 1 dormancy excluded 🟡 0.22 Activation: isolated 6/6; plugin 4/6 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
build-perf-diagnostics claude-sonnet-5 ➖ Improvement signal, tie-limited n=7; 3W/3T/1L; d=4; p=0.312; net +28.6%; 1 dormancy excluded 🟡 0.44 Activation: isolated 7/7; plugin 2/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
build-perf-diagnostics gpt-5.6-luna ➖ Baseline signal, unproven n=7; 2W/2T/3L; d=5; p=0.500; net -14.3%; 1 dormancy excluded 🟡 0.38 Activation: isolated 7/7; plugin 4/7 Evidence leans baseline but is not credible; inspect losing scenarios for recurring defects.
check-bin-obj-clash claude-sonnet-5 ➖ Mixed evidence n=7; 2W/3T/2L; d=4; p=0.687; net +0.0% 🟡 0.22 Activation: isolated 6/7; plugin 5/7 Compare winning and losing scenarios to isolate where the target helps versus hurts.
check-bin-obj-clash gpt-5.6-luna ➖ Mixed evidence n=7; 3W/1T/3L; d=6; p=0.656; net +0.0% 🟡 0.20 Activation: isolated 7/7; plugin 5/7 Compare winning and losing scenarios to isolate where the target helps versus hurts.
directory-build-organization claude-sonnet-5 ➖ Mixed evidence n=6; 1W/4T/1L; d=2; p=0.750; net +0.0%; 1 dormancy excluded 🟡 0.33 Activation: isolated 4/6; plugin 4/6 Compare winning and losing scenarios to isolate where the target helps versus hurts.
directory-build-organization gpt-5.6-luna ➖ Improvement signal, unproven n=6; 4W/1T/1L; d=5; p=0.188; net +50.0%; 1 dormancy excluded 🟡 0.45 Activation: isolated 6/6; plugin 4/6 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
eval-performance claude-sonnet-5 ➖ Improvement signal, unproven n=8; 4W/3T/1L; d=5; p=0.188; net +37.5% 🟡 0.24 Activation: isolated 6/8; plugin 5/8 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
eval-performance gpt-5.6-luna ➖ Improvement signal, unproven n=8; 4W/1T/3L; d=7; p=0.500; net +12.5% 🟡 0.29 Activation: isolated 8/8; plugin 7/8 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
extension-points claude-sonnet-5 ➖ Baseline signal, unproven n=7; 2W/2T/3L; d=5; p=0.500; net -14.3%; 2 dormancy excluded 🟡 0.29 Activation: isolated 5/7; plugin 6/7 Evidence leans baseline but is not credible; inspect losing scenarios for recurring defects.
extension-points gpt-5.6-luna ➖ Improvement signal, tie-limited n=7; 4W/3T/0L; d=4; p=0.063; net +57.1%; 2 dormancy excluded 🟡 0.33 Activation: isolated 7/7; plugin 6/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
including-generated-files claude-sonnet-5 ➖ Improvement signal, tie-limited n=7; 2W/4T/1L; d=3; p=0.500; net +14.3%; 1 dormancy excluded 🟡 0.36 Activation: isolated 3/7; plugin 4/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
including-generated-files gpt-5.6-luna ➖ Improvement signal, unproven n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded ✅ 0.18 — The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
incremental-build claude-sonnet-5 ➖ Improvement signal, unproven n=9; 4W/3T/2L; d=6; p=0.344; net +22.2% 🟡 0.31 Activation: isolated 1/9; plugin 4/9 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
incremental-build gpt-5.6-luna ✅ Improved n=9; 8W/1T/0L; d=8; p=0.004; net +88.9% 🔴 0.55 Activation: isolated 8/9; plugin 6/9 Fix activation gaps; Review overfit evidence.
item-management claude-sonnet-5 ➖ Baseline signal, tie-limited n=6; 1W/3T/2L; d=3; p=0.500; net -16.7%; 1 dormancy excluded 🟡 0.45 Activation: isolated 2/6; plugin 3/6 Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.
item-management gpt-5.6-luna ➖ Mixed evidence n=6; 1W/4T/1L; d=2; p=0.750; net +0.0%; 1 dormancy excluded 🟡 0.26 — Compare winning and losing scenarios to isolate where the target helps versus hurts.
msbuild-antipatterns claude-sonnet-5 ➖ Improvement signal, unproven n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded 🟡 0.34 Activation: isolated 3/7; plugin 3/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
msbuild-antipatterns gpt-5.6-luna ➖ Improvement signal, tie-limited n=7; 2W/4T/1L; d=3; p=0.500; net +14.3%; 1 dormancy excluded 🟡 0.50 Activation: isolated 5/7; plugin 4/7 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
msbuild-modernization claude-sonnet-5 ➖ Improvement signal, tie-limited n=6; 3W/3T/0L; d=3; p=0.125; net +50.0%; 1 dormancy excluded 🟡 0.22 Activation: isolated 6/6; plugin 5/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
msbuild-modernization gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 2W/3T/1L; d=3; p=0.500; net +16.7%; 1 dormancy excluded ✅ 0.15 Activation: isolated 5/6; plugin 6/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
property-patterns claude-sonnet-5 ➖ Improvement signal, unproven n=7; 4W/1T/2L; d=6; p=0.344; net +28.6% 🟡 0.36 Activation: isolated 6/7; plugin 5/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
property-patterns gpt-5.6-luna ➖ Improvement signal, unproven n=7; 4W/1T/2L; d=6; p=0.344; net +28.6% 🟡 0.29 Activation: isolated 6/7; plugin 6/7 The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.
resolve-project-references claude-sonnet-5 ➖ Improvement signal, tie-limited n=6; 2W/3T/1L; d=3; p=0.500; net +16.7%; 2 dormancy excluded 🟡 0.36 Activation: isolated 4/6; plugin 5/6 The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
resolve-project-references gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 2W/3T/1L; d=3; p=0.500; net +16.7%; 2 dormancy excluded 🟡 0.48 Activation: isolated 6/6; plugin 4/6; Activation-only stop: isolated 1 failed run Inspect activation-only failed runs before rewriting skill content; the model stopped after loading a skill.
target-authoring claude-sonnet-5 ➖ Baseline signal, tie-limited n=6; 1W/3T/2L; d=3; p=0.500; net -16.7%; 1 dormancy excluded 🟡 0.46 Activation: isolated 5/6; plugin 3/6 Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.
target-authoring gpt-5.6-luna ➖ Improvement signal, tie-limited n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 1 dormancy excluded ✅ 0.14 — The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.
ℹ️ 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.
➖ Mixed evidence — agent.msbuild (claude-sonnet-5)

Why: Net win +0.0% (2W/1T/2L over 5 preference-eligible stimulus vote(s), sign test p=0.687), mean preference +12.0% across 5 paired run(s) — no improvement

Next action: Compare winning and losing scenarios to isolate where the target helps versus hurts.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=5; 2W/1T/2L; d=4; p=0.687; net +0.0%

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Diagnose broken incremental build behavior Eligible -100.0% -40.0% 0/0/1
= Route a slow build to performance analysis Eligible +0.0% +0.0% 0/1/0
▼ Triage a build failure and route to appropriate analysis Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose broken incremental build behavior: Both reach the correct primary diagnosis and propose a viable Inputs/Outputs fix. A is more useful overall for the user's request because it gives broader, concrete guidance for diagnosing timestamp and input/output mistakes. B is somewhat stronger on explicitly describing a s...

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

➖ Baseline signal, tie-limited — agent.msbuild (gpt-5.6-luna)

Why: Net win -40.0% (0W/3T/2L over 5 preference-eligible stimulus vote(s), sign test p=0.250), mean preference -16.0% across 5 paired run(s) — no improvement

Next action: Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=5; 0W/3T/2L; d=2; p=0.250; net -40.0%

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Advise on project file organization Eligible +0.0% +0.0% 0/1/0
= Diagnose broken incremental build behavior Eligible +0.0% +0.0% 0/1/0
= Review a project file for maintainability risks Eligible +0.0% +0.0% 0/1/0
▼ Route a slow build to performance analysis Eligible -100.0% -40.0% 0/0/1
▼ Triage a build failure and route to appropriate analysis Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Advise on project file organization: Position-swap inconsistent (forward: skill, reverse: baseline). Defaulting to tie.

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

➖ Baseline signal, unproven — binlog-failure-analysis (claude-sonnet-5)

Why: Net win -33.3% (2W/0T/4L over 6 preference-eligible stimulus vote(s), sign test p=0.344), mean preference -20.0% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Evidence leans baseline but is not credible; inspect losing scenarios for recurring defects.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 2W/0T/4L; d=6; p=0.344; net -33.3%; 1 dormancy excluded

Warnings: Activation: isolated 5/7; plugin 6/7

Overfit: Moderate (score 0.24)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Assess a requested binlog investigation when the current build is healthy Eligible -100.0% -40.0% 0/0/1
= Confirm the actual resolved target framework and package version from a binlog Eligible +0.0% +0.0% 0/0/0
▼ Diagnose a warning behind a build that actually succeeded Eligible -100.0% -40.0% 0/0/1
▼ Diagnose build failures from binlog only (no source files) Eligible -100.0% -40.0% 0/0/1
= Stay dormant for a non-MSBuild build failure log Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Trace why a generated source file is missing at compile time Eligible -100.0% -100.0% 0/0/1

Illustrative judge evidence:

  • Assess a requested binlog investigation when the current build is healthy: Both results are correct, safe, and satisfy the central request by capturing a binlog and reporting a clean build. A is slightly more useful because its final analysis documents successful restore/output and the benign project context rather than only stating success.

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

➖ Improvement signal, unproven — binlog-failure-analysis (gpt-5.6-luna)

Why: Net win +33.3% (4W/0T/2L over 6 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +5.7% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 4W/0T/2L; d=6; p=0.344; net +33.3%; 1 dormancy excluded

Warnings: Activation: isolated 6/7; plugin 6/7

Overfit: Moderate (score 0.30)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Assess a requested binlog investigation when the current build is healthy Eligible -100.0% -100.0% 0/0/1
= Confirm the actual resolved target framework and package version from a binlog Eligible +0.0% +0.0% 0/0/0
▼ Stay dormant for a non-MSBuild build failure log Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Trace why a generated source file is missing at compile time Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Assess a requested binlog investigation when the current build is healthy: Response A correctly identified that InventorySync builds successfully with no code failures, captured appropriate binlogs as requested, and explained why certain incorrect invocations fail. Response B violated the core rubric intent by deliberately using a non-standard build ...

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

➖ Improvement signal, unproven — binlog-generation (claude-sonnet-5)

Why: Net win +28.6% (4W/1T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +45.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded

Warnings: Activation: isolated 5/7; plugin 6/7

Overfit: High (score 0.52)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Choose a predictable, non-colliding binlog name for a CI upload step Eligible +0.0% +0.0% 0/1/0
▼ Preserve binlog history while cleaning stale build output Eligible -100.0% -40.0% 0/0/1
▼ Recognize that a failed build produced no binlog at all Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Choose a predictable, non-colliding binlog name for a CI upload step: Position-swap inconsistent (forward: tie, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — binlog-generation (gpt-5.6-luna)

Why: Net win +57.1% (5W/1T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +57.5% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.109 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 5W/1T/1L; d=6; p=0.109; net +57.1%; 1 dormancy excluded

Warnings: Activation: isolated 5/7; plugin 6/7

Overfit: Moderate (score 0.39)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Choose a predictable, non-colliding binlog name for a CI upload step Eligible +0.0% +0.0% 0/1/0
= Decline Maven compiler configuration Excluded (activation contract) +0.0% +0.0% 0/1/0
▲ Fix a CI build script that reuses the same binlog on every run Eligible +100.0% +100.0% 1/0/0
▲ Preserve binlog history while cleaning stale build output Eligible +100.0% +100.0% 1/0/0
▼ Recognize that a failed build produced no binlog at all Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Choose a predictable, non-colliding binlog name for a CI upload step: Position-swap inconsistent (forward: tie, reverse: B). Defaulting to tie.

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

➖ Baseline signal, tie-limited — build-parallelism (claude-sonnet-5)

Why: Net win -66.7% (0W/2T/4L over 6 preference-eligible stimulus vote(s), sign test p=0.063), mean preference -31.4% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Inspect activation-only failed runs before rewriting skill content; the model stopped after loading a skill.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 0W/2T/4L; d=4; p=0.063; net -66.7%; 1 dormancy excluded

Warnings: Activation: isolated 6/6; plugin 4/6; Activation-only stop: isolated 1 failed run

Overfit: Moderate (score 0.40)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Analyze build parallelism bottlenecks Eligible -100.0% -40.0% 0/0/1
= Decline database query tuning request Excluded (activation contract) +0.0% +0.0% 0/1/0
= Decline graph build for runtime-discovered projects Eligible +0.0% +0.0% 0/1/0
▼ Enable BuildInParallel on a custom MSBuild task Eligible -100.0% -100.0% 0/0/1
▼ Enable parallel nodes for a wide project graph Eligible -100.0% -40.0% 0/0/1
= Preserve valid dependencies and optimize the slow critical-path project Eligible +0.0% +0.0% 0/1/0
▼ Reduce CI build scope with a solution filter Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Analyze build parallelism bottlenecks: Both answers are substantively correct and satisfy the task. A is slightly stronger overall because its conclusion about the redundant edge and critical path is more precise and avoids B's unnecessary, potentially misleading hypothetical caveat; B has marginally better stated ...

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

➖ Improvement signal, tie-limited — build-parallelism (gpt-5.6-luna)

Why: Net win +33.3% (3W/2T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.312), mean preference +5.7% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 2 of 6 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: Inspect activation-only failed runs before rewriting skill content; the model stopped after loading a skill.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 3W/2T/1L; d=4; p=0.312; net +33.3%; 1 dormancy excluded

Warnings: Activation-only stop: isolated 1 failed run; Activation-only stop: plugin 1 failed run

Overfit: Moderate (score 0.30)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline database query tuning request Excluded (activation contract) -100.0% -40.0% 0/0/1
= Enable BuildInParallel on a custom MSBuild task Eligible +0.0% +0.0% 0/1/0
▲ Enable parallel nodes for a wide project graph Eligible +100.0% +40.0% 1/0/0
▼ Preserve valid dependencies and optimize the slow critical-path project Eligible -100.0% -40.0% 0/0/1
= Reduce CI build scope with a solution filter Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Enable BuildInParallel on a custom MSBuild task: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — build-perf-baseline (claude-sonnet-5)

Why: Net win +50.0% (4W/1T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +28.6% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.188 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 4W/1T/1L; d=5; p=0.188; net +50.0%; 1 dormancy excluded

Warnings: Activation: isolated 4/6; plugin 4/6

Overfit: Moderate (score 0.39)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Configure deterministic, cache-safe CI builds Eligible +100.0% +100.0% 1/0/0
▼ Decline a non-MSBuild build performance request Excluded (activation contract) -100.0% -40.0% 0/0/1
= Route a broken no-op rebuild away from generic optimization Eligible +0.0% +0.0% 0/1/0
▼ Route a restore-bound cold build away from architecture changes Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Route a broken no-op rebuild away from generic optimization: Position-swap inconsistent (forward: A, reverse: B). Defaulting to tie.

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

➖ Improvement signal, unproven — build-perf-baseline (gpt-5.6-luna)

Why: Net win +50.0% (4W/1T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +20.0% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.188 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 4W/1T/1L; d=5; p=0.188; net +50.0%; 1 dormancy excluded

Warnings: Activation: isolated 6/6; plugin 4/6

Overfit: Moderate (score 0.22)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Configure deterministic, cache-safe CI builds Eligible +0.0% +0.0% 0/1/0
▼ Decline a non-MSBuild build performance request Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Route a broken no-op rebuild away from generic optimization Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Configure deterministic, cache-safe CI builds: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, tie-limited — build-perf-diagnostics (claude-sonnet-5)

Why: Net win +28.6% (3W/3T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.312), mean preference +10.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 3 of 7 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 3W/3T/1L; d=4; p=0.312; net +28.6%; 1 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 2/7

Overfit: Moderate (score 0.44)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline a runtime latency request that is not a build performance issue Excluded (activation contract) +0.0% +0.0% 0/1/0
= Diagnose NuGet restore running redundantly across CI stages Eligible +0.0% +0.0% 0/1/0
▼ Diagnose a Copy task dominating build time Eligible -100.0% -40.0% 0/0/1
▲ Diagnose a single custom target dominating one project's build Eligible +100.0% +40.0% 1/0/0
= Diagnose evaluation overhead before any target runs Eligible +0.0% +0.0% 0/1/0
= Diagnose per-project overhead across many small projects Eligible +0.0% +0.0% 0/1/0
▲ Diagnose slow build for a small project Eligible +100.0% +40.0% 1/0/0

Illustrative judge evidence:

  • Diagnose NuGet restore running redundantly across CI stages: Position-swap inconsistent (forward: B, reverse: tie). Defaulting to tie.

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

➖ Baseline signal, unproven — build-perf-diagnostics (gpt-5.6-luna)

Why: Net win -14.3% (2W/2T/3L over 7 preference-eligible stimulus vote(s), sign test p=0.500), mean preference -5.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Evidence leans baseline but is not credible; inspect losing scenarios for recurring defects.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 2W/2T/3L; d=5; p=0.500; net -14.3%; 1 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 4/7

Overfit: Moderate (score 0.38)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Decline a runtime latency request that is not a build performance issue Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Diagnose NuGet restore running redundantly across CI stages Eligible -100.0% -40.0% 0/0/1
= Diagnose a pathological ResolveAssemblyReference time Eligible +0.0% +0.0% 0/1/0
▼ Diagnose a single custom target dominating one project's build Eligible -100.0% -40.0% 0/0/1
▲ Diagnose evaluation overhead before any target runs Eligible +100.0% +40.0% 1/0/0
= Diagnose per-project overhead across many small projects Eligible +0.0% +0.0% 0/1/0
▼ Diagnose slow build for a small project Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose NuGet restore running redundantly across CI stages: Response A is marginally better overall due to superior technical precision. It includes --locked-mode on the restore command, which is more appropriate for scenarios with packages.lock.json (the implied context from the task). Response A also provides a clearer explanation ...

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

➖ Mixed evidence — check-bin-obj-clash (claude-sonnet-5)

Why: Net win +0.0% (2W/3T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.687), mean preference +17.1% across 7 paired run(s) — no improvement

Next action: Compare winning and losing scenarios to isolate where the target helps versus hurts.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 2W/3T/2L; d=4; p=0.687; net +0.0%

Warnings: Activation: isolated 6/7; plugin 5/7

Overfit: Moderate (score 0.22)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit the mixed solution and separate safe projects from unsafe ones Eligible -100.0% -40.0% 0/0/1
▼ Avoid a false clash report when projects share only the top-level artifacts root Eligible -100.0% -40.0% 0/0/1
= Decline output-clash remediation for separate projects using the default SDK layout Eligible +0.0% +0.0% 0/1/0
= Diagnose multi-targeting outputs that collapse into one path Eligible +0.0% +0.0% 0/1/0
= Diagnose redundant project reference metadata that forks a same-path build Eligible +0.0% +0.0% 0/1/0
▲ Fix all clash mechanisms in the mixed solution Eligible +100.0% +100.0% 1/0/0

Illustrative judge evidence:

  • Audit the mixed solution and separate safe projects from unsafe ones: The substantive findings and fixes are essentially the same, but A gives a more coherent, consistently classified audit. B contains a self-correction that leaves an unnecessary contradictory interim 'safe' assessment.

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

➖ Mixed evidence — check-bin-obj-clash (gpt-5.6-luna)

Why: Net win +0.0% (3W/1T/3L over 7 preference-eligible stimulus vote(s), sign test p=0.656), mean preference +0.0% across 7 paired run(s) — no improvement

Next action: Compare winning and losing scenarios to isolate where the target helps versus hurts.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 3W/1T/3L; d=6; p=0.656; net +0.0%

Warnings: Activation: isolated 7/7; plugin 5/7

Overfit: Moderate (score 0.20)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Audit the mixed solution and separate safe projects from unsafe ones Eligible -100.0% -40.0% 0/0/1
▼ Avoid a false clash report when projects share only the top-level artifacts root Eligible -100.0% -40.0% 0/0/1
= Decline output-clash remediation for separate projects using the default SDK layout Eligible +0.0% +0.0% 0/1/0
▲ Diagnose multi-targeting outputs that collapse into one path Eligible +100.0% +40.0% 1/0/0
▲ Diagnose redundant project reference metadata that forks a same-path build Eligible +100.0% +40.0% 1/0/0
▼ Fix all clash mechanisms in the mixed solution Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Audit the mixed solution and separate safe projects from unsafe ones: Response A correctly fulfills all five rubric criteria by explicitly flagging ConsumerApp as unsafe, which is a specific requirement. Response B fails criterion 3 by not flagging ConsumerApp; instead, it flags ToolLib as unsafe and places ConsumerApp in the safe category. Whil...

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

➖ Mixed evidence — directory-build-organization (claude-sonnet-5)

Why: Net win +0.0% (1W/4T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.750), mean preference -5.7% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Compare winning and losing scenarios to isolate where the target helps versus hurts.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 1W/4T/1L; d=2; p=0.750; net +0.0%; 1 dormancy excluded

Warnings: Activation: isolated 4/6; plugin 4/6

Overfit: Moderate (score 0.33)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Apply repo-level build organization cleanup Eligible -100.0% -40.0% 0/0/1
▼ Decline adding shared build files to a lone project Excluded (activation contract) -100.0% -40.0% 0/0/1
= Diagnose a TargetFramework condition that silently skips in props Eligible +0.0% +0.0% 0/1/0
= Diagnose a package downgrade chain and reorganize version management Eligible +0.0% +0.0% 0/1/0
= Diagnose an inner shared-props file that overwrites its own override Eligible +0.0% +0.0% 0/1/0
= Preserve an intentional project-specific exception while centralizing Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Apply repo-level build organization cleanup: Both solutions are largely correct and handle central package management and nested props imports properly. A is marginally better aligned with the requested separation: production shared targets are scoped to src and repeated test infrastructure is kept in the test area, yiel...

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

➖ Improvement signal, unproven — directory-build-organization (gpt-5.6-luna)

Why: Net win +50.0% (4W/1T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +11.4% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.188 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 4W/1T/1L; d=5; p=0.188; net +50.0%; 1 dormancy excluded

Warnings: Activation: isolated 6/6; plugin 4/6

Overfit: Moderate (score 0.45)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline adding shared build files to a lone project Excluded (activation contract) -100.0% -40.0% 0/0/1
▲ Diagnose a TargetFramework condition that silently skips in props Eligible +100.0% +40.0% 1/0/0
= Diagnose an inner shared-props file that overwrites its own override Eligible +0.0% +0.0% 0/1/0
▼ Preserve an intentional project-specific exception while centralizing Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose an inner shared-props file that overwrites its own override: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — eval-performance (claude-sonnet-5)

Why: Net win +37.5% (4W/3T/1L over 8 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +22.5% across 8 paired run(s) — not credible (sign test p=0.188 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 4W/3T/1L; d=5; p=0.188; net +37.5%

Warnings: Activation: isolated 6/8; plugin 5/8

Overfit: Moderate (score 0.24)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline to invent evaluation problems in an already-clean project Eligible -100.0% -40.0% 0/0/1
= Gather a measurement before proposing evaluation fixes for an unremarkable project Eligible +0.0% +0.0% 0/1/0
= Recognize TreatAsLocalProperty overuse versus one justified entry Eligible +0.0% +0.0% 0/1/0
▲ Redirect an incremental-rebuild complaint mistakenly framed as an evaluation problem Eligible +100.0% +100.0% 1/0/0
= Triage which of two property functions actually costs evaluation time Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Decline to invent evaluation problems in an already-clean project: Both answers are substantively correct and appropriately conclude that the project has no user-introduced evaluation-performance risks. A is marginally more precise about baseline SDK behavior; B is slightly more explicit about property functions but includes an overbroad clai...

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

➖ Improvement signal, unproven — eval-performance (gpt-5.6-luna)

Why: Net win +12.5% (4W/1T/3L over 8 preference-eligible stimulus vote(s), sign test p=0.500), mean preference +20.0% across 8 paired run(s) — not credible (sign test p=0.500 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=8; 4W/1T/3L; d=7; p=0.500; net +12.5%

Warnings: Activation: isolated 8/8; plugin 7/8

Overfit: Moderate (score 0.29)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Detect a project evaluated twice under different global properties Eligible -100.0% -40.0% 0/0/1
▼ Recognize TreatAsLocalProperty overuse versus one justified entry Eligible -100.0% -40.0% 0/0/1
▼ Redirect a compile-time slowdown mistakenly framed as an evaluation problem Eligible -100.0% -40.0% 0/0/1
= Triage which of two property functions actually costs evaluation time Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Detect a project evaluated twice under different global properties: Both responses correctly answer all four rubric criteria. Response A provides stronger evidence by showing the actual XML configuration from Build.proj, making the root cause visually undeniable. It also delivers precise quantification (Build.proj 19ms, Shared 275ms + 24ms, to...

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

➖ Baseline signal, unproven — extension-points (claude-sonnet-5)

Why: Net win -14.3% (2W/2T/3L over 7 preference-eligible stimulus vote(s), sign test p=0.500), mean preference +6.7% across 9 paired run(s), 2 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Evidence leans baseline but is not credible; inspect losing scenarios for recurring defects.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 2W/2T/3L; d=5; p=0.500; net -14.3%; 2 dormancy excluded

Warnings: Activation: isolated 5/7; plugin 6/7

Overfit: Moderate (score 0.29)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Create extensibility hooks for a custom SDK target file Eligible +100.0% +100.0% 1/0/0
= Decline Kubernetes readiness probe configuration Excluded (activation contract) +0.0% +0.0% 0/1/0
▼ Diagnose NuGet package and repo extension conflicts Eligible -100.0% -40.0% 0/0/1
▲ Diagnose a broken per-TFM forwarder Eligible +100.0% +40.0% 1/0/0
= Diagnose a package ID and file-name mismatch Eligible +0.0% +0.0% 0/1/0
▼ Diagnose build extension point failures Eligible -100.0% -40.0% 0/0/1
▼ Fix extension point anti-patterns Eligible -100.0% -40.0% 0/0/1
= Review packed layout without a false missing-file bug Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose NuGet package and repo extension conflicts: Both miss the important CustomBefore timing issue and the wildcard-properties clarification, and both handle the missing import well. A is overall stronger because its account of the GenerateAssemblyInfo collision is correct and it additionally identifies the fragile internal ...

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

➖ Improvement signal, tie-limited — extension-points (gpt-5.6-luna)

Why: Net win +57.1% (4W/3T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +24.4% across 9 paired run(s), 2 dormancy stimulus/stimuli excluded from preference — not credible — 3 of 7 preference-eligible stimulus vote(s) tied, leaving only 4 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 4W/3T/0L; d=4; p=0.063; net +57.1%; 2 dormancy excluded

Warnings: Activation: isolated 7/7; plugin 6/7

Overfit: Moderate (score 0.33)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Create extensibility hooks for a custom SDK target file Eligible +100.0% +100.0% 1/0/0
= Decline Kubernetes readiness probe configuration Excluded (activation contract) +0.0% +0.0% 0/1/0
= Diagnose NuGet package and repo extension conflicts Eligible +0.0% +0.0% 0/1/0
= Diagnose a package ID and file-name mismatch Eligible +0.0% +0.0% 0/1/0
= Fix extension point anti-patterns Eligible +0.0% +0.0% 0/1/0
= Leave incremental target authoring to its owning workflow Excluded (activation contract) +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose NuGet package and repo extension conflicts: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, tie-limited — including-generated-files (claude-sonnet-5)

Why: Net win +14.3% (2W/4T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.500), mean preference +0.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible — 4 of 7 preference-eligible stimulus vote(s) tied, leaving only 3 discordant preference vote(s). The sign test conditions on non-tie stimulus votes and cannot reach 0.05 below 5, so no record could have passed here — this is not a measured null. Either the skill is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties

Next action: The signal favors the target, but ties leave too few discordant tasks; inspect ties and predeclare more discriminating breadth.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 2W/4T/1L; d=3; p=0.500; net +14.3%; 1 dormancy excluded

Warnings: Activation: isolated 3/7; plugin 4/7

Overfit: Moderate (score 0.36)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline a Python runtime report-path problem Excluded (activation contract) -100.0% -40.0% 0/0/1
= Diagnose hardcoded obj path for generated source Eligible +0.0% +0.0% 0/1/0
= Diagnose missing clean tracking for generated source Eligible +0.0% +0.0% 0/1/0
= Diagnose missing generated source inclusion Eligible +0.0% +0.0% 0/1/0
▲ Diagnose project-level glob for generated source Eligible +100.0% +40.0% 1/0/0
= Diagnose wrong hook for generated source files Eligible +0.0% +0.0% 0/1/0
▼ Fix generated source inclusion and clean tracking Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose hardcoded obj path for generated source: The final answers are substantively equivalent, correct, and complete. B adds a slightly more explicit clean-tracking observation, but A already includes FileWrites and explains the same essential remedy, so there is no meaningful quality difference.

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

➖ Improvement signal, unproven — including-generated-files (gpt-5.6-luna)

Why: Net win +28.6% (4W/1T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +15.0% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded

Overfit: Low (score 0.18)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Diagnose missing clean tracking for generated source Eligible -100.0% -40.0% 0/0/1
= Diagnose missing generated source inclusion Eligible +0.0% +0.0% 0/1/0
▼ Diagnose wrong hook for generated source files Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose missing clean tracking for generated source: Both responses arrive at the identical, correct solution and explanation. However, Response A demonstrates deeper technical understanding by investigating the actual FileListAbsolute.txt file that records FileWrites entries and explaining the specific mechanism of how the SDK'...

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

➖ Improvement signal, unproven — incremental-build (claude-sonnet-5)

Why: Net win +22.2% (4W/3T/2L over 9 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +8.9% across 9 paired run(s) — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=9; 4W/3T/2L; d=6; p=0.344; net +22.2%

Warnings: Activation: isolated 1/9; plugin 4/9

Overfit: Moderate (score 0.31)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Correct the assumption that Outputs alone enables incremental skipping Eligible -100.0% -40.0% 0/0/1
= Diagnose custom targets that always rerun Eligible +0.0% +0.0% 0/1/0
= Distinguish a cold first build from broken incrementality Eligible +0.0% +0.0% 0/1/0
▲ Explain slower builds when MSBuild skipped everything Eligible +100.0% +40.0% 1/0/0
▲ Explain why clean leaves generated hash source behind Eligible +100.0% +40.0% 1/0/0
= Fix broken incremental targets and clean tracking Eligible +0.0% +0.0% 0/1/0
▼ Identify a volatile output path that defeats incrementality Eligible -100.0% -40.0% 0/0/1
▲ Read a diagnostic log to find the stale input Eligible +100.0% +40.0% 1/0/0

Illustrative judge evidence:

  • Correct the assumption that Outputs alone enables incremental skipping: Both answers correctly resolve the core question and identify the non-file, in-target item issue. A is somewhat more precise about Outputs' caller-return role and frames any future incremental risk in terms of real file paths; both miss an explicit recommendation to use Returns.

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

➖ Baseline signal, tie-limited — item-management (claude-sonnet-5)

Why: Net win -16.7% (1W/3T/2L over 6 preference-eligible stimulus vote(s), sign test p=0.500), mean preference -20.0% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Evidence leans baseline but is not credible; inspect losses and make tied tasks discriminate.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 1W/3T/2L; d=3; p=0.500; net -16.7%; 1 dormancy excluded

Warnings: Activation: isolated 2/6; plugin 3/6

Overfit: Moderate (score 0.45)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▼ Decline JavaScript configuration merging Excluded (activation contract) -100.0% -40.0% 0/0/1
▼ Diagnose an ineffective Compile Remove that does not match the glob Eligible -100.0% -100.0% 0/0/1
▲ Diagnose item group and batching issues Eligible +100.0% +40.0% 1/0/0
= Diagnose real and claimed item problems in a code generation pipeline Eligible +0.0% +0.0% 0/1/0
= Fix item management anti-patterns Eligible +0.0% +0.0% 0/1/0
= Leave already-correct item management unchanged Eligible +0.0% +0.0% 0/1/0
▼ Leave correct single-list batching unchanged Eligible -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Diagnose an ineffective Compile Remove that does not match the glob: A is a complete, self-contained diagnosis and correction. B's final answer is an unsupported terse status claim that omits both the reason for the failure and the concrete fix.

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

➖ Mixed evidence — item-management (gpt-5.6-luna)

Why: Net win +0.0% (1W/4T/1L over 6 preference-eligible stimulus vote(s), sign test p=0.750), mean preference +14.3% across 7 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — no improvement

Next action: Compare winning and losing scenarios to isolate where the target helps versus hurts.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=6; 1W/4T/1L; d=2; p=0.750; net +0.0%; 1 dormancy excluded

Overfit: Moderate (score 0.26)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
= Diagnose an ineffective Compile Remove that does not match the glob Eligible +0.0% +0.0% 0/1/0
▼ Diagnose item group and batching issues Eligible -100.0% -40.0% 0/0/1
= Diagnose real and claimed item problems in a code generation pipeline Eligible +0.0% +0.0% 0/1/0
= Fix item management anti-patterns Eligible +0.0% +0.0% 0/1/0
= Leave correct single-list batching unchanged Eligible +0.0% +0.0% 0/1/0

Illustrative judge evidence:

  • Diagnose an ineffective Compile Remove that does not match the glob: Position-swap inconsistent (forward: B, reverse: A). Defaulting to tie.

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

➖ Improvement signal, unproven — msbuild-antipatterns (claude-sonnet-5)

Why: Net win +28.6% (4W/1T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.344), mean preference +12.5% across 8 paired run(s), 1 dormancy stimulus/stimuli excluded from preference — not credible (sign test p=0.344 > 0.05)

Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior.

State: VALID_NO_CHANGE (no_credible_preference_change)

Gate evidence: n=7; 4W/1T/2L; d=6; p=0.344; net +28.6%; 1 dormancy excluded

Warnings: Activation: isolated 3/7; plugin 3/7

Overfit: Moderate (score 0.34)

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

Weak or warning scenarios:

Scenario Preference gate Net win Δ Pref Runs (W/T/L)
▲ Add a module to an F# project Eligible +100.0% +40.0% 1/0/0
= Add a signature file to define public API Eligible +0.0% +0.0% 0/1/0
▲ Fix broken file order causing FS0039 Eligible +100.0% +40.0% 1/0/0
▼ Judge an unguarded import inside a NuGet package build folder Eligible -100.0% -40.0% 0/0/1
▼ Leave a clean project without inventing anti-patterns Eligible -100.0% -40.0% 0/0/1
▼ Non-activation: migrate a legacy project to SDK style Excluded (activation contract) -100.0% -40.0% 0/0/1

Illustrative judge evidence:

  • Add a signature file to define public API: The resulting changes and verification are substantively identical and fully satisfy the task in both responses.

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

Details for 10 results were omitted to keep this comment under GitHub's limit. Open the workflow summary or Full Results for the complete breakdown.

🔍 Full Results - all metrics and investigation details

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

For PR 1315 in dotnet/skills, download eval artifacts with gh run download 38581149679 --repo dotnet/skills --pattern "vally-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/86f5c1eb7fffc2c8478f2c37ca47b64ea93f15be/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 Bot added a commit that referenced this pull request Oct 14, 2026
# Only the script's serialized payload reaches the host, never SDK first-run banners.
# Bash job control gives this asynchronous command its own process group on macOS and Linux.
set -m
dotnet fsi --exec "$script_dir/binlog-preflight.fsx" "$host" "$scratch/output" "$scratch/input" </dev/null >/dev/null 2>&1 &

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.

Could we start dotnet fsi with the payload workspace as its working directory? The PowerShell launcher parses cwd and sets ProcessStartInfo.WorkingDirectory, but this path starts FSI in the inherited hook directory; binlog-preflight.fsx changes directory only after FSI has started. In a repository with global.json, SDK selection can therefore use the wrong directory. The current launcher tests normally make the process directory and payload cwd equal, so a test with different values would cover this case.

(Copilot, commenting on Abhitej's behalf.)

dotnet fsi --exec "$script_dir/binlog-preflight.fsx" "$host" "$scratch/output" "$scratch/input" </dev/null >/dev/null 2>&1 &
child=$!
set +m
elapsed=0

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.

Could we make the launcher budget account for both FSI startup and the package probe? This loop gives the full helper 8 seconds, while binlog-preflight.fsx can give dotnet package search up to 5 seconds. A cold dotnet fsi startup and script compilation can therefore consume the remaining budget and produce a warning on a healthy host. A shared deadline, or a cold-start regression test with a budget that covers both phases, would make the result reliable.

(Copilot, commenting on Abhitej's behalf.)

@YuliiaKovalova

Copy link
Copy Markdown
Member Author

agreed with @JanKrivanek to use skills instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting-on-author PR state label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refinement: dotnet-msbuild binlog MCP failure is invisible to the agent; add a SessionStart preflight hook

3 participants