Repository navigation
Preserve Copilot SDK runtime dotfiles in validator packages - #1279
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2e7526c5-6cd7-433e-ba76-b4d22161e6ec
There was a problem hiding this comment.
🟢 Approval recommended
The focused NuGet setting directly addresses the verified cross-platform packaging failure without weakening validation.
0 open findings
What changed in this PR
Ensures NuGet preserves required Copilot SDK runtime dotfiles when packaging the skill-validator.
Changes:
- Enables
NoDefaultExcludesfor the tool package. - Documents the required
.release-targetruntime marker.
| File | Description |
|---|---|
eng/skill-validator/src/SkillValidator.csproj |
Preserves runtime dotfiles during NuGet packing. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
❌ Evaluation did not complete (upstream job failed or was skipped). View workflow run |
|
❌ Evaluation did not complete (upstream job failed or was skipped). View workflow run |
…-validator-runtime-dotfiles
📊 Skill, Agent, and Workflow Evaluation ResultsWorkflow results measure offline prompt decisions and proposed outputs, not live Actions jobs or publication. 22 model/target results across 11 targets and 2 models — ✅ 4 improved, ➖ 12 results without a clear winner, Measurement identity: evaluated commit Measurement health: 22 expected / 22 observed / 22 written; 0 missing, 0 unexpected, 0 invalid; 0 recovered comparison error slots and 0 unresolved comparison error slots. Objective completion gate: enabled; 6 results show a proven objective regression. 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
ℹ️ How to read this report
🔻 Objective regression — build-failure-analysis (claude-sonnet-5)Why: Net win -20.0% (2W/4T/4L over 10 preference-eligible stimulus vote(s), sign test p=0.344), mean preference -20.0% across 10 paired run(s) — no improvement — native evaluator reported an objective task-completion regression Next action: Inspect objective completion losses and fix them before merge. State: Gate evidence: n=10; 2W/4T/4L; d=6; p=0.344; net -20.0% Repeated-run reliability (not used by the gate): 10 paired runs (2W/4T/4L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. 🔻 Objective regression — build-failure-analysis (gpt-5.6-luna)Why: Net win +30.0% (4W/5T/1L over 10 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +6.0% across 10 paired run(s) — not credible (sign test p=0.188 > 0.05) — native evaluator reported an objective task-completion regression Next action: Inspect objective completion losses and fix them before merge. State: Gate evidence: n=10; 4W/5T/1L; d=5; p=0.188; net +30.0% Repeated-run reliability (not used by the gate): 10 paired runs (4W/5T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. 🔻 Objective regression — msbuild-quality-review (gpt-5.6-luna)Why: Net win +20.0% (3W/6T/1L over 10 preference-eligible stimulus vote(s), sign test p=0.312), mean preference +14.0% across 10 paired run(s) — not credible — 6 of 10 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 agent is inert on these scenarios (make them discriminate) or the eval needs more distinct stimuli to clear the ties — native evaluator reported an objective task-completion regression Next action: Inspect objective completion losses and fix them before merge. State: Gate evidence: n=10; 3W/6T/1L; d=4; p=0.312; net +20.0% Repeated-run reliability (not used by the gate): 10 paired runs (3W/6T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. 🔻 Objective regression — test-failure-analysis (claude-sonnet-5)Why: Net win +25.0% (7W/1T/4L over 12 preference-eligible stimulus vote(s), sign test p=0.274), mean preference +15.0% across 12 paired run(s) — not credible (sign test p=0.274 > 0.05) — native evaluator reported an objective task-completion regression Next action: Inspect objective completion losses and fix them before merge. State: Gate evidence: n=12; 7W/1T/4L; d=11; p=0.274; net +25.0% Repeated-run reliability (not used by the gate): 12 paired runs (7W/1T/4L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. 🔻 Objective regression — test-failure-analysis (gpt-5.6-luna)Why: Net win +75.0% (9W/3T/0L over 12 preference-eligible stimulus vote(s), sign test p=0.002), mean preference +65.0% across 12 paired run(s) — credibly better — native evaluator reported an objective task-completion regression Next action: Inspect objective completion losses and fix them before merge. State: Gate evidence: n=12; 9W/3T/0L; d=9; p=0.002; net +75.0% Repeated-run reliability (not used by the gate): 12 paired runs (9W/3T/0L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. 🔻 Objective regression — unskip-closed-tests (gpt-5.6-luna)Why: Net win -9.1% (3W/4T/4L over 11 preference-eligible stimulus vote(s), sign test p=0.500), mean preference +1.8% across 11 paired run(s) — no improvement — native evaluator reported an objective task-completion regression Next action: Inspect objective completion losses and fix them before merge. State: Gate evidence: n=11; 3W/4T/4L; d=7; p=0.500; net -9.1% Repeated-run reliability (not used by the gate): 11 paired runs (3W/4T/4L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, unproven — msbuild-quality-review (claude-sonnet-5)Why: Net win +40.0% (5W/4T/1L over 10 preference-eligible stimulus vote(s), sign test p=0.109), mean preference +28.0% across 10 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: Gate evidence: n=10; 5W/4T/1L; d=6; p=0.109; net +40.0% Repeated-run reliability (not used by the gate): 10 paired runs (5W/4T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, tie-limited — technology-selection (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 +46.7% across 6 paired run(s) — 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: Gate evidence: n=6; 4W/2T/0L; d=4; p=0.063; net +66.7% Overfit: Moderate (score 0.41) Repeated-run reliability (not used by the gate): 6 paired runs (4W/2T/0L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, unproven — template-authoring (claude-sonnet-5)Why: Net win +71.4% (6W/0T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +28.6% across 7 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: Gate evidence: n=7; 6W/0T/1L; d=7; p=0.063; net +71.4% Overfit: Low (score 0.13) Repeated-run reliability (not used by the gate): 7 paired runs (6W/0T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, unproven — template-authoring (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 +22.9% across 7 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: Gate evidence: n=7; 5W/1T/1L; d=6; p=0.109; net +57.1% Overfit: Moderate (score 0.38) Repeated-run reliability (not used by the gate): 7 paired runs (5W/1T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Mixed evidence — template-comparison (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: Gate evidence: n=7; 3W/1T/3L; d=6; p=0.656; net +0.0% Overfit: Low (score 0.20) Repeated-run reliability (not used by the gate): 7 paired runs (3W/1T/3L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, unproven — template-discovery (claude-sonnet-5)Why: Net win +71.4% (6W/0T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.063), mean preference +45.7% across 7 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: Gate evidence: n=7; 6W/0T/1L; d=7; p=0.063; net +71.4% Warnings: Activation: isolated 7/7; plugin 6/7 Overfit: Moderate (score 0.33) Repeated-run reliability (not used by the gate): 7 paired runs (6W/0T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, unproven — template-discovery (gpt-5.6-luna)Why: Net win +42.9% (4W/2T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.188), mean preference +25.7% across 7 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: Gate evidence: n=7; 4W/2T/1L; d=5; p=0.188; net +42.9% Warnings: Activation: isolated 7/7; plugin 6/7 Overfit: Moderate (score 0.30) Repeated-run reliability (not used by the gate): 7 paired runs (4W/2T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, tie-limited — template-instantiation (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: Gate evidence: n=7; 3W/4T/0L; d=3; p=0.125; net +42.9% Overfit: Moderate (score 0.28) Repeated-run reliability (not used by the gate): 7 paired runs (3W/4T/0L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Mixed evidence — template-instantiation (gpt-5.6-luna)Why: Net win +0.0% (1W/5T/1L over 7 preference-eligible stimulus vote(s), sign test p=0.750), 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: Gate evidence: n=7; 1W/5T/1L; d=2; p=0.750; net +0.0% Overfit: Low (score 0.16) Repeated-run reliability (not used by the gate): 7 paired runs (1W/5T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, tie-limited — template-validation (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 +20.0% 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: Gate evidence: n=7; 3W/3T/1L; d=4; p=0.312; net +28.6% Overfit: Moderate (score 0.44) Repeated-run reliability (not used by the gate): 7 paired runs (3W/3T/1L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Mixed evidence — template-validation (gpt-5.6-luna)Why: Net win +0.0% (2W/3T/2L over 7 preference-eligible stimulus vote(s), sign test p=0.687), 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: Gate evidence: n=7; 2W/3T/2L; d=4; p=0.687; net +0.0% Overfit: Moderate (score 0.39) Repeated-run reliability (not used by the gate): 7 paired runs (2W/3T/2L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ➖ Improvement signal, unproven — unskip-closed-tests (claude-sonnet-5)Why: Net win +27.3% (5W/4T/2L over 11 preference-eligible stimulus vote(s), sign test p=0.227), mean preference +10.9% across 11 paired run(s) — not credible (sign test p=0.227 > 0.05) Next action: The signal favors the target but is inconsistent; inspect tied or lost scenarios and fix weak behavior. State: Gate evidence: n=11; 5W/4T/2L; d=7; p=0.227; net +27.3% Repeated-run reliability (not used by the gate): 11 paired runs (5W/4T/2L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ✅ Improved — technology-selection (claude-sonnet-5)Why: Net win +83.3% (5W/1T/0L over 6 preference-eligible stimulus vote(s), sign test p=0.031), mean preference +63.3% across 6 paired run(s) — credibly better Next action: Fix activation gaps; Review overfit evidence. State: Gate evidence: n=6; 5W/1T/0L; d=5; p=0.031; net +83.3% Warnings: Activation: isolated 6/6; plugin 5/6 Overfit: Moderate (score 0.49) Repeated-run reliability (not used by the gate): 6 paired runs (5W/1T/0L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ✅ Improved — template-comparison (claude-sonnet-5)Why: Net win +85.7% (6W/1T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.016), mean preference +42.9% across 7 paired run(s) — credibly better Next action: Review overfit evidence. State: Gate evidence: n=7; 6W/1T/0L; d=6; p=0.016; net +85.7% Overfit: Moderate (score 0.35) Repeated-run reliability (not used by the gate): 7 paired runs (6W/1T/0L). Weak or warning scenarios:
Illustrative judge evidence:
This is one example, not the aggregate verdict. Open Full Results for every judgment. ✅ Improved — template-smart-defaults (claude-sonnet-5)Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +74.3% across 7 paired run(s) — credibly better Next action: Fix activation gaps; Review overfit evidence. State: Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0% Warnings: Activation: isolated 7/7; plugin 6/7 Overfit: Moderate (score 0.48) Repeated-run reliability (not used by the gate): 7 paired runs (7W/0T/0L). Weak or warning scenarios:
✅ Improved — template-smart-defaults (gpt-5.6-luna)Why: Net win +100.0% (7W/0T/0L over 7 preference-eligible stimulus vote(s), sign test p=0.008), mean preference +74.3% across 7 paired run(s) — credibly better Next action: Fix activation gaps; Review overfit evidence. State: Gate evidence: n=7; 7W/0T/0L; d=7; p=0.008; net +100.0% Warnings: Activation: isolated 7/7; plugin 5/7 Overfit: Moderate (score 0.32) Repeated-run reliability (not used by the gate): 7 paired runs (7W/0T/0L). Weak or warning scenarios:
🔍 Full Results - all metrics and investigation details
|
|
✅ Evaluation passed for |
Summary
Preserve required Copilot SDK runtime dotfiles when NuGet packs the skill-validator tool.
The validator checks for SDK dependency updates passed, but RID-specific packaging failed on Windows and macOS because NuGet excluded
plugins/computer-use/.release-targetby default:NU5119 ... .release-target was not added to the package ... use -NoDefaultExcludes.NU5119failure on Windows x64, Windows ARM64, and macOS ARM64.This adds the NuGet-supported
<NoDefaultExcludes>true</NoDefaultExcludes>property only toeng/skill-validator/src/SkillValidator.csproj. It does not suppress warnings, remove the runtime marker, or weaken validation.Copilot prepared this draft on Abhitej's behalf.
Related issue
N/A. The direct incidents are PR #1271 and PR #1202.
Root cause and history
GitHub.Copilot.SDK1.0.16 bundles Copilot CLI 1.0.90, whose published runtime containsplugins/computer-use/.release-target. NuGet's default pack exclusions reject files that start with., and this repository treatsNU5119as an error. The project had noNoDefaultExcludessetting onmain, so package creation failed after build and tests had passed.Repository history contains a prior local-only commit,
9975eea5c5(Preserve Copilot SDK runtime dotfiles in tool packages), with the same minimal property. It was not an ancestor ofmainand was not present in an open pull request. The current patch restores that proven intent on a new branch.Validation
dotnet pack eng\skill-validator\src\SkillValidator.csproj --use-current-runtime -p:PublishAot=false /bl:artifacts\logs\pack-rid-sdk-1.0.16-runtime-dotfiles-noaot.binlogwith the repository-pinned SDK11.0.100-preview.3.26207.106and a temporary localGitHub.Copilot.SDK1.0.16 dependency: passed.tools/net10.0/win-x64/runtimes/win-x64/native/plugins/computer-use/.release-target.dotnet test eng\skill-validator\SkillValidator.slnx: passed, 962/962 tests.git diff --check: passed.NU5119point and then stopped atPlatform linker not found. GitHub Actions remains the cross-platform NativeAOT validation source.Risk and limits
PublishAot=falsebecause the C++ linker workload is absent. The package exclusion behavior and resulting archive were validated directly.Rollback
Remove
<NoDefaultExcludes>true</NoDefaultExcludes>or revert commita25501053. This returns the previous package behavior and will also restore the knownNU5119failure when the runtime contains.release-target.Checklist
eng/known-domains.txtfor any new external domains referenced by skill content. (No skill content or domains changed.)Evaluation changes only
Not applicable; this change does not modify an evaluation.