fix(framework): restore Compendium.Abstractions.Storage assembly (bug e263abc6)#110
Merged
Merged
Conversation
… e263abc6) PR #69 ("feat(abstractions/storage): define IObjectStore port") merged on 2026-05-10 with 18 files (csproj + IObjectStore + supporting types + 6 test files). The squash silently dropped all 17 source/test files and kept only the `Compendium.sln` change. A subsequent PR then stripped the orphan sln entries pointing at non-existent projects. End result: the assembly never shipped to nuget despite the PR claiming "100% line / 100% branch / 44 tests green". `compendium-adapter-s3` (POM-514) just shipped 1.0.0-preview.0 with the `IObjectStore` types inlined locally under `Compendium.Adapters.S3.Abstractions` as a workaround. This commit restores the 17 files from `4869762` (the original feature-branch tip) verbatim and re-adds the two `.sln` entries: src/Abstractions/Compendium.Abstractions.Storage/ Compendium.Abstractions.Storage.csproj GlobalUsings.cs IObjectStore.cs Models/ListOptions.cs, ObjectInfo.cs, ObjectMetadata.cs, ObjectStream.cs, PresignedAction.cs StorageErrors.cs tests/Unit/Compendium.Abstractions.Storage.Tests/ Compendium.Abstractions.Storage.Tests.csproj GlobalUsings.cs Models/{ListOptions,ObjectInfo,ObjectMetadata,ObjectStream,PresignedAction}Tests.cs StorageErrorsTests.cs Verification: - dotnet build src/Abstractions/Compendium.Abstractions.Storage → 0 warnings. - dotnet test tests/Unit/Compendium.Abstractions.Storage.Tests → 44/44 green. Next steps after this merges: - Tag v1.0.2 on framework → publishes Compendium.Abstractions.Storage@1.0.2 (plus all other Compendium.* at 1.0.2; mechanical re-tag, no behavioural change). - Follow-up PR on compendium-adapter-s3 removing the inlined types and binding `<PackageReference Include="Compendium.Abstractions.Storage" Version="1.0.2" />`. - compendium-adapter-azure-blob (POM-519) + compendium-adapter-gcs (POM-520) are now unblocked.
There was a problem hiding this comment.
Pull request overview
Restores the missing Compendium.Abstractions.Storage NuGet-shipped assembly (and its unit test project) and re-adds both projects to Compendium.sln, addressing the regression where the storage abstractions never made it into released packages.
Changes:
- Reintroduces
Compendium.Abstractions.Storage(IObjectStore + storage models + standardized StorageErrors). - Restores
Compendium.Abstractions.Storage.Testswith unit coverage for the restored surface. - Re-adds both projects to
Compendium.slnwith build configurations and solution-folder nesting.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/Abstractions/Compendium.Abstractions.Storage/Compendium.Abstractions.Storage.csproj |
Restores the Storage abstractions project packaging/configuration. |
src/Abstractions/Compendium.Abstractions.Storage/GlobalUsings.cs |
Adds global using for Compendium.Core.Results. |
src/Abstractions/Compendium.Abstractions.Storage/IObjectStore.cs |
Restores the provider-agnostic object storage port interface. |
src/Abstractions/Compendium.Abstractions.Storage/StorageErrors.cs |
Restores standardized error factories for storage operations. |
src/Abstractions/Compendium.Abstractions.Storage/Models/ListOptions.cs |
Restores listing option/page model records. |
src/Abstractions/Compendium.Abstractions.Storage/Models/ObjectInfo.cs |
Restores object descriptor model. |
src/Abstractions/Compendium.Abstractions.Storage/Models/ObjectMetadata.cs |
Restores upload metadata model. |
src/Abstractions/Compendium.Abstractions.Storage/Models/ObjectStream.cs |
Restores the stream+metadata wrapper type with dispose semantics. |
src/Abstractions/Compendium.Abstractions.Storage/Models/PresignedAction.cs |
Restores enum for presigned URL action. |
tests/Unit/Compendium.Abstractions.Storage.Tests/Compendium.Abstractions.Storage.Tests.csproj |
Restores unit test project for the storage abstractions. |
tests/Unit/Compendium.Abstractions.Storage.Tests/GlobalUsings.cs |
Restores test global usings for the project. |
tests/Unit/Compendium.Abstractions.Storage.Tests/StorageErrorsTests.cs |
Restores tests for StorageErrors codes/types/messages. |
tests/Unit/Compendium.Abstractions.Storage.Tests/Models/ListOptionsTests.cs |
Restores tests for list option/page models. |
tests/Unit/Compendium.Abstractions.Storage.Tests/Models/ObjectInfoTests.cs |
Restores tests for ObjectInfo. |
tests/Unit/Compendium.Abstractions.Storage.Tests/Models/ObjectMetadataTests.cs |
Restores tests for ObjectMetadata. |
tests/Unit/Compendium.Abstractions.Storage.Tests/Models/ObjectStreamTests.cs |
Restores tests for ObjectStream dispose behavior. |
tests/Unit/Compendium.Abstractions.Storage.Tests/Models/PresignedActionTests.cs |
Restores tests for PresignedAction enum values. |
Compendium.sln |
Restores solution entries and configuration for both projects. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| </PropertyGroup> | ||
|
|
||
| <ItemGroup> | ||
| <ProjectReference Include="..\Compendium.Abstractions\Compendium.Abstractions.csproj" /> |
Comment on lines
+7
to
+11
| <IsTestProject>true</IsTestProject> | ||
| <Nullable>enable</Nullable> | ||
| <ImplicitUsings>enable</ImplicitUsings> | ||
| <TreatWarningsAsErrors>false</TreatWarningsAsErrors> | ||
| <GenerateDocumentationFile>false</GenerateDocumentationFile> |
| </PackageReference> | ||
| <PackageReference Include="Microsoft.NET.Test.Sdk" /> | ||
| <PackageReference Include="FluentAssertions" /> | ||
| <PackageReference Include="NSubstitute" /> |
|
|
||
| global using Xunit; | ||
| global using FluentAssertions; | ||
| global using NSubstitute; |
This was referenced May 21, 2026
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
Open
This was referenced Jun 1, 2026
Open
Open
Open
Open
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes VK bug
e263abc6— `Compendium.Abstractions.Storage` was added by PR #69 then accidentally lost in the squash + a subsequent sln edit, so the assembly never shipped to nuget despite PR #69 claiming 44 tests at 100% coverage.This commit restores the 17 files from `4869762` (the original feature-branch tip) verbatim and re-adds the two `.sln` entries.
Files restored
```
src/Abstractions/Compendium.Abstractions.Storage/
Compendium.Abstractions.Storage.csproj
GlobalUsings.cs
IObjectStore.cs
Models/ListOptions.cs, ObjectInfo.cs, ObjectMetadata.cs, ObjectStream.cs, PresignedAction.cs
StorageErrors.cs
tests/Unit/Compendium.Abstractions.Storage.Tests/
Compendium.Abstractions.Storage.Tests.csproj
GlobalUsings.cs
Models/{ListOptions,ObjectInfo,ObjectMetadata,ObjectStream,PresignedAction}Tests.cs
StorageErrorsTests.cs
```
Verification
What unlocks
Test plan
git checkout 4869762 -- ...).