fix: Migration handles deeply nested Windows project files

Merged
HA
4mo ago
+361-31

Summary

  • Migration preview and apply now handle deeply nested Windows project files that exceed legacy path limits.
  • Cached migration plans now invalidate correctly after long-path files change.

User Impact

  • On Windows, running the migration tool could stop with a misleading "Could not find a part of the path" error in projects with very long file paths.
  • The migration flow now reads, writes, and validates those files through extended-length file access so the operation can complete reliably.

Changes

  • Route third-party migration reads, writes, and atomic sidecar operations through Windows extended-length path handling.
  • Apply the same access path to migration plan fingerprint metadata and content hashes.
  • Add Windows-only regression coverage for long-path preview, apply, directory discovery, and stale-cache invalidation.

Verification

  • .\cli\dist\windows-amd64\uloop.exe compile
  • .\cli\dist\windows-amd64\uloop.exe run-tests --test-mode EditMode --filter-type regex --filter-value ".(WindowsDirectoryPathExceedsLegacyLimit|MigrationProjectFingerprint_WhenWindowsPathExceedsLegacyLimit)."
  • .\cli\dist\windows-amd64\uloop.exe run-tests --test-mode EditMode --filter-type regex --filter-value ".ThirdPartyToolMigration."
  • python C:\Users\booql.codex\skills\autoreview\scripts\autoreview --mode branch --base origin/v3-beta
  • git diff --check