Skip to content

V0.9.0/dotnet test - #35

Merged
gimlichael merged 17 commits into
mainfrom
v0.9.0/dotnet-test
Aug 9, 2026
Merged

V0.9.0/dotnet test#35
gimlichael merged 17 commits into
mainfrom
v0.9.0/dotnet-test

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request introduces the new dotnet-test skill, a comprehensive xUnit migration and bootstrapping tool for Codebelt conventions. It adds deterministic test project inspection, role classification, package-version resolution, eval coverage, and repository validation tooling, along with extensive documentation and asset templates. The release also updates the README and changelog to reflect the new skill and improves descriptions for existing skills.

Major Features:

dotnet-test Skill and Test Project Tooling

  • Introduced the dotnet-test skill for classifying, bootstrapping, and refactoring xUnit projects, supporting ordinary unit, ASP.NET Core functional, and console/worker functional test roles. This includes modernized test patterns, managed fixtures, and lifecycle-preserving migration features.
  • Added deterministic .NET test project inspection via inspect-dotnet-tests.ps1, package-version resolution tooling, and repository validation scripts for dotnet-test coverage and role-specific encoding.
  • Included comprehensive eval scenarios, asset templates, and role-specific documentation to guide migration and best practices.

Documentation and Changelog Updates

  • Added a new [0.9.0] release section to CHANGELOG.md detailing all major features, and updated compare links for the new release. [1] [2]
  • Updated the skill inventory and installation snippets in README.md to include dotnet-test, and expanded the "Why dotnet-test?" section.
  • Improved descriptions for git-keep-a-changelog and git-nuget-release-notes in the skill table to clarify how new skills and package capabilities are classified and summarized in release notes.

Add comprehensive xUnit migration and testing skill for Codebelt conventions. Includes role-specific patterns for ordinary unit tests, ASP.NET Core functional tests, and console/worker functional tests. Provides deterministic project inspection, xUnit v3 modernization guidance, WebApplicationFactory elimination, package version resolution, and bootstrapper host patterns (MinimalConsoleProgram, MinimalWorkerProgram, MinimalWebProgram).
Add comprehensive validation checks for the new dotnet-test skill. Verifies SKILL.md content, FORMS.md field definitions, role-specific reference documents (web, application, bootstrapper, modernization, migration), inspection and version-resolution scripts, eval scenarios with five paired test cases covering web, unit, v2 modernization, and worker patterns, and fixture directory structure. Prevents bin/obj directories in eval files and runs skill-level validation.
Add v0.9.0 release notes documenting the new dotnet-test skill in CHANGELOG.md following Keep a Changelog format. Update README skill inventory to include dotnet-test entry with installation instructions. Add motivational section explaining the skills purpose: lifecycle-sensitive test migration that preserves WebApplicationFactory configuration, lazy startup, and Generic Host seams while routing to role-specific patterns (ordinary unit, ASP.NET Core functional, console/worker functional).
Clarify WebApplicationTestFactory bootstrap pattern in SKILL.md and references to ensure Program composition root is preserved without pipeline reconstruction in test code. Refine eval scenario 3 prompts and postconditions to emphasize focused inspector bootstrap contract and eliminate legacy WebApplicationFactory. Enhance inspect-dotnet-tests.ps1 with additional property discovery and validation checks. Add test-inspect-dotnet-tests.ps1 for script verification. Update migration-invariants.md and web-functional-tests.md reference docs with clearer lifecycle semantics. Improve validate-skill.ps1 postcondition checking. Update README inventory.
Enhance dotnet-test skill with improved test project inspection, deterministic package resolution, structured parameter collection, comprehensive eval scenarios, and lifecycle-preserving functional test patterns. Update repository validation to enforce managed-fixture requirements and eval scenario coverage for dotnet-test compliance.
Finalize v0.9.0 release notes documenting the dotnet-test skill introduction with comprehensive xUnit migration, test-role classification, managed-fixture patterns, and validation tooling. Update README.md skill inventory, installation snippet, and motivational content for the new dotnet-test capability.
Refactor git-keep-a-changelog and git-nuget-release-notes skills with improved release-entity classification logic. Add resolve-release-entity.ps1 helper script for deterministic capability classification at release boundaries. Update eval scenarios and documentation to emphasize base-state analysis, eliminate intermediate churn classification, and keep new-capability refinements within Added outcomes. Prevents mis-categorization of new features refined before first release.
Update validate-skill-templates.ps1 to enforce release-entity classification contract for git-keep-a-changelog and git-nuget-release-notes. Add changelog trigger validation and resolve-release-entity.ps1 presence checks. Update README.md with release-notes skills inventory reflecting improved classification capability and helper-script integration.
@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 introduces the dotnet-test skill with deterministic project inspection, role-specific migration guidance, package compatibility resolution, executable regression coverage, and repository validation integration.

  • Adds unit, web-functional, and application-functional test guidance and templates.
  • Resolves package versions by restoring accumulated package combinations and backtracking to compatible candidates.
  • Adds focused resolver and inspection regression suites.
  • Updates release-classification tooling and repository documentation for version 0.9.0.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
skills/dotnet-test/scripts/resolve-test-package-versions.ps1 Resolves stable package candidates through combined restores and recursive backtracking, addressing the previously reported compatibility defect.
skills/dotnet-test/scripts/test-resolve-test-package-versions.ps1 Adds focused coverage for ordering, prerelease exclusion, fallback, combined incompatibility, and terminal failures.
skills/dotnet-test/scripts/validate-skill.ps1 Integrates the resolver and inspection regression suites into deterministic skill validation.
skills/dotnet-test/SKILL.md Defines the test-project classification, migration, fixture, lifecycle, and package-resolution workflow.
scripts/validate-skill-templates.ps1 Extends repository validation to recognize and validate the new skill and associated tooling.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Load stable package candidates] --> B[Select next package candidate]
    B --> C[Restore accumulated package set]
    C -->|Restore fails| D[Try next candidate]
    C -->|Restore succeeds| E{More packages?}
    E -->|Yes| B
    E -->|No| F[Return compatible package set]
    D -->|Candidates remain| B
    D -->|Candidates exhausted| G[Backtrack to prior package]
    G --> B
Loading

Reviews (3): Last reviewed commit: "🔨 add deterministic skill validation to..." | Re-trigger Greptile

Comment thread skills/dotnet-test/scripts/resolve-test-package-versions.ps1 Outdated
Comment thread skills/dotnet-test/scripts/resolve-test-package-versions.ps1 Outdated
SKILL.md and evals.json now document the resolver's combined compatibility-project restore behavior: the resolver queries NuGet stable versions, tries newer candidates first, and verifies each candidate against the selected package set through isolated restores. It emits only a set whose combined package restore passes for the target frameworks.
README.md skills table updated to reflect the resolver's new combined compatibility-project restore behavior and combined package set validation.
resolve-test-package-versions.ps1 and validate-skill.ps1 refactored to support combined compatibility-project restores. The resolver now validates packages together as a set rather than individually, ensuring all selected packages restore successfully when combined. Validation script updated to include regression testing for the resolver.
test-resolve-test-package-versions.ps1 added to test the resolver's combined package compatibility validation logic, ensuring the resolver correctly identifies compatible package sets through isolated restores.
scripts/validate-skill-templates.ps1 updated to support validation of the enhanced dotnet-test resolver behavior and new test file requirements.
Finalize v0.9.0 release notes documenting the dotnet-test skill introduction with comprehensive xUnit migration, test-role classification, managed-fixture patterns, and validation tooling. Update README.md skill inventory, installation snippet, and capability descriptions reflecting new dotnet-test capability and enhanced release-entity classification in git-keep-a-changelog and git-nuget-release-notes.
Enhance git-keep-a-changelog SKILL.md with improved release-entity classification guidance using the new resolve-release-entity.ps1 helper for deterministic base-state analysis. Add new eval scenarios validating classification outcomes and boundary handling. This prevents mis-categorization of pre-existing capability refinements as Changed or Fixed when they should remain under Added for new capabilities.
Enhance scripts/validate-skill-templates.ps1 with deterministic skill-content validation, release-entity classifier enforcement, git-keep-a-changelog trigger validation, and resolver-script presence checks. Repository validation now requires resolve-release-entity.ps1 presence in git-keep-a-changelog and enforces adoption of entity-classification patterns in release-notes skills.
@gimlichael
gimlichael merged commit 9bb97a9 into main Aug 9, 2026
1 check passed
@gimlichael
gimlichael deleted the v0.9.0/dotnet-test branch August 9, 2026 18:46
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