Summary
Ten ComparisonTool.* directories remain at the repository root, left over from the V1→V2 rename. They contain no tracked files — only ignored bin/, obj/, and one stray .csproj.user. git status is clean because everything inside them is gitignored, so they are invisible in review but very visible to anyone browsing the working tree.
ComparisonTool.Cli/ non-build files: 0
ComparisonTool.Core/ non-build files: 0
ComparisonTool.Desktop/ non-build files: 0
ComparisonTool.Domain/ non-build files: 0
ComparisonTool.MockApi/ non-build files: 0
ComparisonTool.Report/ non-build files: 0
ComparisonTool.TestDataGenerator/ non-build files: 0
ComparisonTool.Tests/ non-build files: 0
ComparisonTool.UI/ non-build files: 0
ComparisonTool.Web/ non-build files: 1 (ComparisonTool.Web.csproj.user)
Why it matters
A newcomer cloning the repo and opening the root sees ComparisonTool.Core/ next to Source/ and Tests/ and reasonably concludes there are two codebases. The actual V1 code is at archive/v1-comparisontool/, and these directories are unrelated to it — they are just build output whose source projects were moved.
They also make root-level find/grep noisier than it needs to be, and stale obj/ folders with old project names can confuse IDE project discovery.
Fix
Delete all ten. Nothing tracked is lost:
git clean -nxd ComparisonTool.* # review first
The single ComparisonTool.Web/ComparisonTool.Web.csproj.user is a local IDE preferences file for a project that no longer exists — safe to discard.
Worth confirming afterwards that no script, .sln, launch config, or CI workflow references these paths. A grep for ComparisonTool.Core, ComparisonTool.UI etc. outside archive/ should come back empty except for ComparisonTool.sln itself, which is the solution filename and stays as-is.
Summary
Ten
ComparisonTool.*directories remain at the repository root, left over from the V1→V2 rename. They contain no tracked files — only ignoredbin/,obj/, and one stray.csproj.user.git statusis clean because everything inside them is gitignored, so they are invisible in review but very visible to anyone browsing the working tree.Why it matters
A newcomer cloning the repo and opening the root sees
ComparisonTool.Core/next toSource/andTests/and reasonably concludes there are two codebases. The actual V1 code is atarchive/v1-comparisontool/, and these directories are unrelated to it — they are just build output whose source projects were moved.They also make root-level
find/grepnoisier than it needs to be, and staleobj/folders with old project names can confuse IDE project discovery.Fix
Delete all ten. Nothing tracked is lost:
The single
ComparisonTool.Web/ComparisonTool.Web.csproj.useris a local IDE preferences file for a project that no longer exists — safe to discard.Worth confirming afterwards that no script,
.sln, launch config, or CI workflow references these paths. A grep forComparisonTool.Core,ComparisonTool.UIetc. outsidearchive/should come back empty except forComparisonTool.slnitself, which is the solution filename and stays as-is.