Project mapper for Octopus import with reference validation
Summary
- Added
OctopusImportProjectMapperfor mappingOctopusProjectDtointo existingCreateOrUpdateProjectModel. - Added project mapping diagnostics for missing project group/lifecycle ID mappings and deferred Octopus-only project features.
- Preserved deployment settings, default channel details, and source project metadata as non-sensitive
Jsonmetadata. - Added unit tests for successful mapping, missing reference blockers, metadata preservation, deferred feature warnings, and invalid resource type handling.
- Updated local OpenSpec progress tracking to mark task 4.1 complete;
openspec/is ignored locally via.git/info/exclude. - Scope intentionally excludes environment, lifecycle, feed, variable, deployment process, and action mapping tasks.
Test plan
-
/usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --filter "FullyQualifiedName~Services.OctopusImport" --no-restore --disable-build-serverspassed: 143/143 before the final null-safe metadata guard. -
git diff --checkpassed after the final code adjustment. -
Full unit suite rerun was blocked because the required sandbox escalation was rejected by automatic approval review.