Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
PR Review: Make net472 support realThis is a well-structured PR that cleanly introduces real .NET Framework 4.7.2 compatibility across the shared C# layer. The central What works well
Issues and suggestions1.
|
| Priority | Item |
|---|---|
| Low | Document the %-in-path limitation in GetRelativePath |
| Low | Document the single-check cancellation limitation in ReadAsStreamAsync |
| Low | Consider reverting NuGetPackageIdentity and ProbeResponse to record types |
| Low | Verify ModulePath = "" vs ModulePath = null doesn't break consumers |
| Nit | Move module import to BeforeAll in Step-Version.Tests.ps1 |
Overall this is ready to merge once the author confirms the ModulePath semantic change is intentional.
Review generated with Claude Code
PR Review: Make net472 support realThis is a well-structured PR that takes a methodical approach to adding real .NET Framework 4.7.2 support. The centralized Code Quality and Best PracticesStrengths:
Concerns:
Potential Bugs1. URI-based The implementation comment already acknowledges it does not round-trip literal 2. The net472 shim calls 3. Response file cleanup on failure is untested
4. The new PerformanceNo performance concerns. The compatibility shims are thin wrappers with no repeated allocations or loops. Removing Security
Test CoverageWhat is covered well:
Gaps to consider:
Workflow / CIThe new CI steps are well-ordered: build net472, run net472 smoke tests, build module, test PS5.1, test PS7. Minor note: the Summary
This is a high-quality contribution. Addressing the record equality concern and the response-file cleanup-on-failure case would make it production-safe. The remaining notes are improvements rather than blockers. |
Summary
PowerForge.Net472SmokeTestsproject so the shared C# layer gets real .NET Framework runtime coverage in addition to PS 5.1 module coverageValidation
dotnet build .\PowerForge\PowerForge.csproj -c Release -f net472 --nologodotnet build .\PowerForge.PowerShell\PowerForge.PowerShell.csproj -c Release -f net472 --nologodotnet build .\PSPublishModule\PSPublishModule.csproj -c Release -f net472 --nologodotnet test .\PowerForge.Net472SmokeTests\PowerForge.Net472SmokeTests.csproj -c Release -f net472 --nologopowershell.exe -NoProfile -ExecutionPolicy Bypass -File .\PSPublishModule.Tests.ps1pwsh -NoProfile -ExecutionPolicy Bypass -File .\PSPublishModule.Tests.ps1Notes
Build-ModuleSelf.ps1rerun still hit a machine-specific installed-module lock onPowerForge.dllfrom active VS Code / pwsh sessions, but the direct net472 builds and both PowerShell test hosts passed cleanly