Add Octopus resource graph with dependency edges and reference handling
Summary
- Created
feature/octopus-import-resource-graphfromfeature/squid-import-project. - Implemented normalized Octopus resource graph support with resource nodes, typed references, dependency edges, project ownership, and historical-resource classification.
- Added
OctopusResourceGraphBuilder, graph result models,OctopusResourceKind, andOctopusResourceReferenceKind. - Extended Octopus diagnostics for malformed graph documents, missing source IDs, and duplicate source IDs.
- Fixed JSON/folder classification for
deploymentprocess-*andvariableset-*IDs so current and snapshot process/variable-set documents can feed manifest inventory and graph building. - Added unit coverage for graph construction, nested steps/actions/variables, historical resources, malformed typed documents, duplicate source IDs, missing-reference deferral, and classifier ID mapping.
- Marked OpenSpec task
2.6complete locally;openspec/remains ignored and is not part of the branch diff. - Scope stops before preview planning, Squid ID mapping, dependency ordering planner, and missing-reference validation.
Test plan
-
/usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --filter "FullyQualifiedName~Services.OctopusImport"passed: 96 passed, 0 failed. -
/usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csprojpassed: 6318 passed, 0 failed. -
git diff --checkpassed. -
Observed existing dependency/security warnings for KubernetesClientandAutoMapper; no test failures.