Skip to content

V0.9.0/dotnet remote testing - #36

Merged
gimlichael merged 8 commits into
mainfrom
v0.9.0/dotnet-remote-testing
Aug 9, 2026
Merged

V0.9.0/dotnet remote testing#36
gimlichael merged 8 commits into
mainfrom
v0.9.0/dotnet-remote-testing

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request updates documentation to clarify and standardize the workflow for running skill evaluation benchmarks, emphasizing the use of the repo-owned PowerShell runner script. The changes improve instructions for both new and existing contributors, ensuring consistency and reliability in skill benchmarking and review.

Standardization of skill benchmarking workflow:

  • The preferred entry point for running local skill benchmarks is now the repo-owned scripts/run-skill-benchmark.ps1 PowerShell script, which manages temp workspaces, caches, parallelism, timeouts, and artifact generation, while delegating aggregation and review to Anthropic's installed tools. [1] [2] [3]
  • Added explicit instructions and example commands for using the PowerShell runner in README.md and CONTRIBUTING.md, including details on the artifacts produced and the review flow.

Documentation improvements:

  • Updated the skill creation/modification workflow to require a full per-skill test using the standardized runner, clarifying what constitutes a full test and the expected review process. [1] [2]
  • Added a new example for installing the dotnet-remote-testing skill via npx skills add in the skill installation section.

New skill provides deterministic remote testing of .NET projects in Docker containers using Microsoft's official SDK images. Supports testenvironments.json configuration or zero-config discovery from official release metadata. Orchestrates container setup, NuGet cache management, test execution, and result parsing transparently behind a single reusable runner script.
Introduces run-skill-benchmark.ps1 as the preferred local entry point for skill benchmarking. Manages a single persistent temp workspace, shares benchmark-scoped caches, stages fixtures once, enforces bounded parallelism and per-run timeouts, and prewarms expensive resolver work. Still delegates aggregation and static review generation to the installed Anthropic skill-creator copy.
Resolves NuGet package versions deterministically and now adds two new capabilities: SHA256-based caching that reuses previous resolution results within a benchmark scope, and structured tracing that logs role, frameworks, packages, candidate limits, cache hit status, and execution duration. Caching is controlled by DOTNET_TEST_RESOLVER_CACHE_DIR; tracing by DOTNET_TEST_RESOLVER_TRACE_FILE; maximum candidates by DOTNET_TEST_MAXIMUM_CANDIDATES. Test harness enhanced to verify cache behavior and validate timing instrumentation.
Update AGENTS.md with guidance to prefer the repo-owned run-skill-benchmark.ps1 runner for local skill benchmarking. Update CONTRIBUTING.md with entry point documentation and examples. Update README.md to add dotnet-remote-testing to the skills list, document the benchmark runner as the preferred local workflow, and explain structured result parsing and failure classification.
@gimlichael gimlichael self-assigned this Aug 9, 2026
@greptile-apps

greptile-apps Bot commented Aug 9, 2026

Copy link
Copy Markdown

Greptile Summary

The PR adds the dotnet-remote-testing skill and standardizes measured skill evaluation around the repository-owned PowerShell benchmark runner.

  • Adds Docker-based remote .NET test discovery, planning, execution, result parsing, caching, validation, and evaluation fixtures.
  • Adds cross-platform benchmark orchestration with bounded parallelism, timeouts, shared caches, grading, aggregation, and review artifacts.
  • Updates contributor guidance, skill documentation, installation instructions, and release notes.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains from the previously reported issues.

No blocking failure remains.

Important Files Changed

Filename Overview
scripts/run-skill-benchmark.ps1 Adds the repository benchmark orchestrator and now creates an executable POSIX dotnet shim alongside the Windows shim, resolving the previously reported Unix instrumentation failure.
skills/dotnet-remote-testing/scripts/remote-test.cs Implements remote-test discovery and Docker execution; cached release arrays are now reconstructed into the object shape expected by the release parser.
skills/dotnet-remote-testing/FORMS.md Defines the remote-testing inputs and now exposes the runner-computed project target as a selectable recommended choice.
scripts/test-run-skill-benchmark.ps1 Adds benchmark-runner validation, including checks for the POSIX shim and its executable permission.
skills/dotnet-remote-testing/scripts/test-remote-testing.ps1 Adds the PowerShell harness for validating remote-testing behavior.
skills/dotnet-remote-testing/SKILL.md Documents deterministic environment selection, Docker execution, failure classification, and cleanup behavior.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Skill eval definitions] --> B[Benchmark runner]
  B --> C[Temporary workspace]
  B --> D[Paired candidate and baseline runs]
  D --> E[Grading]
  E --> F[benchmark.json]
  F --> G[Static review viewer]
  H[Remote testing request] --> I[Environment discovery]
  I --> J[Docker image resolution]
  J --> K[Isolated restore, build, and test]
  K --> L[Structured results and cleanup]
Loading

Reviews (3): Last reviewed commit: "updated changelog" | Re-trigger Greptile

Comment thread skills/dotnet-remote-testing/scripts/remote-test.cs Outdated
Comment thread scripts/run-skill-benchmark.ps1
Comment thread skills/dotnet-remote-testing/FORMS.md
The remote test runner can now discover and use cached Microsoft release metadata when the network is unavailable or when offline mode is explicitly requested. Release metadata is cached outside the repo for offline reuse, and the form now exposes the computed project target as a recommended selectable option alongside a custom path entry. A new eval case validates offline discovery with a cached releases-index.cache.json fixture.
The benchmark runner now generates a POSIX shell script shim alongside the Windows batch file shim to support cross-platform dotnet execution. The Unix shim is marked executable on non-Windows platforms, and the test harness validates both the script's delegation to the logging wrapper and its executable bit on Unix systems.
Updated the dotnet-remote-testing feature description in README.md to highlight offline-safe discovery: successful release metadata is cached outside the repo for offline reuse, and the form now exposes the exact runner-computed target as a recommended option.
@gimlichael
gimlichael merged commit 4d7cfc9 into main Aug 9, 2026
1 check passed
@gimlichael
gimlichael deleted the v0.9.0/dotnet-remote-testing branch August 9, 2026 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants