Skip to content

Add JSON and folder fallback extraction for Octopus import

Summary

  • Created local branch feature/octopus-import-input-fallback from feature/squid-import-project.
  • Added IOctopusInputExtractor / OctopusInputExtractor for supported non-ZIP Octopus import inputs.
  • Added standalone JSON extraction and recursive folder JSON discovery with shared import size/count limits.
  • Added structured diagnostics for missing folders, empty JSON folders, read failures, malformed JSON, unsupported JSON roots, unrecognized documents, and input size/count limit failures.
  • Added parsed JSON document results carrying source path, classification, cloned JSON root, and size metadata.
  • Added unit tests covering standalone JSON, manifest detection, malformed/unrecognized documents, folder fallback, archive-entry JSON parsing, limits, and cancellation.
  • Scope intentionally stops at task 2.4; manifest hash/file consistency checks and normalized resource graph construction remain for later branches.
  • Local ignored OpenSpec task file now shows task 2.4 complete, but openspec/ is ignored by .git/info/exclude and is not part of tracked branch changes.

Test plan

  • /usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj --filter "FullyQualifiedName~Services.OctopusImport" passed: 78 passed, 0 failed, 0 skipped.
  • /usr/local/share/dotnet/dotnet test tests/Squid.UnitTests/Squid.UnitTests.csproj passed: 6300 passed, 0 failed, 0 skipped.

Merge request reports

Loading