Skip to content

Add Octopus resource graph with dependency edges and reference handling

Summary

  • Created feature/octopus-import-resource-graph from feature/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, and OctopusResourceReferenceKind.
  • Extended Octopus diagnostics for malformed graph documents, missing source IDs, and duplicate source IDs.
  • Fixed JSON/folder classification for deploymentprocess-* and variableset-* 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.6 complete 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.csproj passed: 6318 passed, 0 failed.
  • git diff --check passed.
  • Observed existing dependency/security warnings for KubernetesClient and AutoMapper; no test failures.

Merge request reports

Loading