Add import session contract types and persistence foundation for Octo…
Summary
- Created local branch
feature/octopus-import-session-foundationfromfeature/squid-import-project. - Added Octopus import session contract types in
Squid.Message: session states, preview actions, compatibility severities, resource outcomes, source summary, diagnostics, resource results, and session result DTOs. - Added import-session persistence foundation in
Squid.Core: entity, EF configuration, DbUp migration, state machine, data-provider, service, and exceptions. - Implemented owner + destination-space scoped session lookup/mutation, legal state transitions, result recording, expiry, and atomic
Validated -> Importingconfirmation admission. - Added focused unit tests for state-machine behavior, service authorization/scope binding, payload transitions, result recording, and data-provider defaults.
- Marked OpenSpec tasks
1.1through1.5complete locally;openspec/is git-ignored in this workspace. - Scope deliberately excludes Octopus extraction, preview planning, resource mapping, action mapping, API endpoints, and confirm orchestration.
Test plan
-
/usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --filter OctopusImportpassed: 24/24. -
/usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --no-restore --no-buildpassed: 6246/6246. -
Integration tests not run; this branch only adds foundation services/entities and does not expose API or execute project import orchestration yet. -
Initial sandboxed dotnet testfailed due MSBuild named-pipe permission; reran successfully with approved escalation.