Action mapper registry foundation for Octopus import
Summary
- Implemented the OpenSpec 5.1 foundation for Octopus import action mapping in
src/Squid.Core/Services/OctopusImport/Mapping/Actions/. - Added
IOctopusImportActionMapper,IOctopusImportActionMapperRegistry,OctopusImportActionMappingContext,OctopusImportActionMappingResult, and shared diagnostic codes. - Added
OctopusImportActionMapperRegistryto resolve import mappers separately from runtimeActionHandlerRegistry, with duplicate-registration and unsupported-action diagnostics. - Added unit tests for missing mapper fallback, case-insensitive resolution, supported type exposure, and duplicate registration handling in
tests/Squid.UnitTests/Services/OctopusImport/Mapping/Actions/. - Updated
openspec/changes/add-octopus-import/tasks.mdto mark 5.1 complete and refreshedSESSION_MEMORY.mdwith the new durable branch state. - Scope stayed limited to the contract/registry foundation; no Octopus.Kubernetes, Script, Manual, or other concrete action mappers were implemented.
Test plan
-
/usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --filter "FullyQualifiedName~Services.OctopusImport.Mapping.Actions" --no-restore --disable-build-servers -
/usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --filter "FullyQualifiedName~Services.OctopusImport" --no-restore --disable-build-servers -
git diff --check