Skip to content

chore: consolidate package versions and cleanup for AI-friendliness#205

Merged
tylerkron merged 1 commit intomainfrom
chore/codebase-cleanup-ai-friendly
Aug 16, 2025
Merged

chore: consolidate package versions and cleanup for AI-friendliness#205
tylerkron merged 1 commit intomainfrom
chore/codebase-cleanup-ai-friendly

Conversation

@tylerkron
Copy link
Copy Markdown
Contributor

@tylerkron tylerkron commented Aug 12, 2025

User description

Summary

This PR implements several cleanup improvements to make the codebase simpler and more AI-friendly, addressing issues identified during codebase analysis.

✅ Changes Made

  • Fix filename inconsistency: Renamed BooleanToInverseBoolConverter .cs (removed trailing space)
  • Remove build artifacts: Cleaned up bin/, obj/, TestResults/, and .user files
  • Remove legacy files: Deleted unused AssemblyInfo.cs files from test projects
  • Consolidate package versions: Standardized NuGet package versions across all projects:
    • Microsoft.NET.Test.Sdk: 17.12.0 (was inconsistent: 17.3.0 vs 17.12.0)
    • MSTest.TestAdapter/Framework: 3.6.4 (was inconsistent: 2.2.10 vs 3.6.4)
    • Moq: 4.20.72 (was inconsistent: 4.18.2 vs 4.20.70 vs 4.20.72)
    • Daqifi.Core: 0.3.0 (was inconsistent: 0.2.1 vs 0.3.0)
    • Google.Protobuf: 3.31.1 (was inconsistent: 3.30.2 vs 3.31.1)

🎯 Benefits

  • Eliminates package version conflicts between projects
  • Improves AI code assistant navigation - cleaner file structure, consistent patterns
  • Reduces repository size by removing build artifacts
  • Modernizes project structure - removes .NET Framework era legacy files
  • Ensures test consistency - all test projects use same framework versions

✅ Verification

  • ✅ All packages restore successfully
  • ✅ Solution builds with updated versions (680 warnings, 0 errors related to package changes)
  • ✅ Tests run successfully with consolidated versions
  • ✅ No breaking changes to functionality

📋 Test Plan

  • Verify dotnet restore works across all projects
  • Verify dotnet build succeeds
  • Verify existing tests still pass
  • Confirm no package version conflicts in dependency resolution

This addresses cleanup opportunities #2, #3, #4, and #9 from the codebase analysis, making the repository cleaner and more maintainable for both human developers and AI assistants.

🤖 Generated with Claude Code


PR Type

Other


Description

  • Standardize NuGet package versions across test projects

  • Update Microsoft.NET.Test.Sdk to 17.12.0

  • Update MSTest packages to 3.6.4

  • Update Moq to 4.20.72

  • Update Daqifi.Core and Google.Protobuf versions


Diagram Walkthrough

flowchart LR
  A["Test Projects"] --> B["Microsoft.NET.Test.Sdk 17.12.0"]
  A --> C["MSTest 3.6.4"]
  A --> D["Moq 4.20.72"]
  E["IO Project"] --> F["Daqifi.Core 0.3.0"]
  E --> G["Google.Protobuf 3.31.1"]
Loading

File Walkthrough

Relevant files
Dependencies
Daqifi.Desktop.Common.Test.csproj
Update test framework package versions                                     

Daqifi.Desktop.Common.Test/Daqifi.Desktop.Common.Test.csproj

  • Update Microsoft.NET.Test.Sdk from 17.3.0 to 17.12.0
  • Update MSTest.TestAdapter and MSTest.TestFramework from 2.2.10 to
    3.6.4
+3/-3     
Daqifi.Desktop.DataModel.Test.csproj
Update test framework package versions                                     

Daqifi.Desktop.DataModel.Test/Daqifi.Desktop.DataModel.Test.csproj

  • Update Microsoft.NET.Test.Sdk from 17.3.0 to 17.12.0
  • Update MSTest.TestAdapter and MSTest.TestFramework from 2.2.10 to
    3.6.4
+3/-3     
Daqifi.Desktop.IO.Test.csproj
Update test and mocking framework versions                             

Daqifi.Desktop.IO.Test/Daqifi.Desktop.IO.Test.csproj

  • Update Microsoft.NET.Test.Sdk from 17.3.0 to 17.12.0
  • Update Moq from 4.18.2 to 4.20.72
+2/-2     
Daqifi.Desktop.IO.csproj
Update core and protobuf dependencies                                       

Daqifi.Desktop.IO/Daqifi.Desktop.IO.csproj

  • Update Daqifi.Core from 0.2.1 to 0.3.0
  • Update Google.Protobuf from 3.30.2 to 3.31.1
+2/-2     
Daqifi.Desktop.Test.csproj
Update test framework and mocking versions                             

Daqifi.Desktop.Test/Daqifi.Desktop.Test.csproj

  • Update Microsoft.NET.Test.Sdk from 17.3.0 to 17.12.0
  • Update Moq from 4.20.70 to 4.20.72
  • Update MSTest.TestAdapter and MSTest.TestFramework from 2.2.10 to
    3.6.4
+4/-4     

## Changes
- Fix filename inconsistency: rename BooleanToInverseBoolConverter .cs (trailing space)
- Remove build artifacts and temporary files (bin/, obj/, TestResults/, .user files)
- Remove legacy AssemblyInfo.cs files from test projects
- Consolidate NuGet package versions across projects:
  - Microsoft.NET.Test.Sdk: standardize to 17.12.0
  - MSTest.TestAdapter/Framework: standardize to 3.6.4
  - Moq: standardize to 4.20.72
  - Daqifi.Core: standardize to 0.3.0
  - Google.Protobuf: standardize to 3.31.1

## Benefits
- Eliminates package version conflicts between projects
- Improves AI code assistant navigation and understanding
- Reduces repository size by removing build artifacts
- Modernizes project structure by removing legacy files
- Ensures consistent testing framework versions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@tylerkron tylerkron requested a review from a team as a code owner August 12, 2025 04:21
@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

2 - Partially compliant

Compliant requirements:

  • None

Non-compliant requirements:

  • Every PR should be built and tested via CI
  • Releases should automatically create a new version with zero human interaction

Requires further human verification:

  • Verify CI workflows exist (e.g., GitHub Actions/Azure Pipelines) and run for PRs
  • Verify release pipeline creates versions automatically on tag/main merges

3 - Partially compliant

Compliant requirements:

  • None

Non-compliant requirements:

  • Exported files should not be overwritten when exporting new lines of data
  • Preserve/append behavior or unique filenames to prevent data loss

Requires further human verification:

  • Manual run to confirm export behavior does not overwrite files
  • Automated tests validating append/unique naming on export
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Dependency Update

Updating Daqifi.Core to 0.3.0 and Google.Protobuf to 3.31.1 could introduce breaking changes at runtime. Ensure transitive API changes are compatible and serialization remains stable across devices/files.

	<PackageReference Include="Daqifi.Core" Version="0.3.0" />
	<PackageReference Include="Google.Protobuf" Version="3.31.1" />
</ItemGroup>
Mocking Behavior

Moq 4.20.72 includes behavior changes versus 4.18.x; verify tests relying on DefaultValue or strict mocks still pass and no flaky tests are introduced.

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="Moq" Version="4.20.72" />
<PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
<PackageReference Include="MSTest.TestFramework" Version="3.6.4" />

@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Ensure test discovery reliability

Test SDK 17.12 can require matching IsTestProject to properly discover tests
under certain CI runners. Explicitly mark the project as a test project to avoid
discovery failures.

Daqifi.Desktop.Test/Daqifi.Desktop.Test.csproj [13]

-<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+<PropertyGroup>
+  <IsTestProject>true</IsTestProject>
+</PropertyGroup>
+<ItemGroup>
+  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+</ItemGroup>
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly points out a potential test discovery issue with the updated Microsoft.NET.Test.Sdk and provides a valid fix by explicitly setting <IsTestProject>true, improving the project's robustness.

Medium
General
Guard against binding regressions

Verify that any transitive API changes in the updated Daqifi.Core are reflected
in compile-time constants and binding redirects. To prevent unexpected runtime
binding issues, pin the package with IncludeAssets/PrivateAssets where
appropriate or add GeneratePathProperty to detect assembly path changes in CI.

Daqifi.Desktop.IO/Daqifi.Desktop.IO.csproj [12]

-<PackageReference Include="Daqifi.Core" Version="0.3.0" />
+<PackageReference Include="Daqifi.Core" Version="0.3.0">
+  <GeneratePathProperty>true</GeneratePathProperty>
+</PackageReference>
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies a minor version bump in Daqifi.Core and proposes adding <GeneratePathProperty> as a good practice to improve build reliability, which is a valid improvement.

Low
Stabilize mocking behavior in tests

Moq 4.20 tightened default behavior around loose mocks and nullable reference
types. Ensure tests do not rely on default returns of reference types;
explicitly configure returns to avoid null-related flakes across target
frameworks.

Daqifi.Desktop.IO.Test/Daqifi.Desktop.IO.Test.csproj [12]

-<PackageReference Include="Moq" Version="4.20.72" />
+<PackageReference Include="Moq" Version="4.20.72">
+  <PrivateAssets>all</PrivateAssets>
+</PackageReference>
  • Apply / Chat
Suggestion importance[1-10]: 2

__

Why: The suggestion's explanation about Moq behavior changes is valid, but the proposed code change to add <PrivateAssets> does not address the described issue, creating a disconnect.

Low
  • More

@codacy-production
Copy link
Copy Markdown

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for e9553b01
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (e9553b0) Report Missing Report Missing Report Missing
Head commit (9e90410) 5579 484 8.68%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#205) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Footnotes

  1. Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

@tylerkron tylerkron merged commit 43369b0 into main Aug 16, 2025
6 checks passed
@tylerkron tylerkron deleted the chore/codebase-cleanup-ai-friendly branch August 16, 2025 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant