Sylin.Koan.Data.Abstractions 1.0.27

dotnet add package Sylin.Koan.Data.Abstractions --version 1.0.27
                    
NuGet\Install-Package Sylin.Koan.Data.Abstractions -Version 1.0.27
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sylin.Koan.Data.Abstractions" Version="1.0.27" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sylin.Koan.Data.Abstractions" Version="1.0.27" />
                    
Directory.Packages.props
<PackageReference Include="Sylin.Koan.Data.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sylin.Koan.Data.Abstractions --version 1.0.27
                    
#r "nuget: Sylin.Koan.Data.Abstractions, 1.0.27"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sylin.Koan.Data.Abstractions@1.0.27
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sylin.Koan.Data.Abstractions&version=1.0.27
                    
Install as a Cake Addin
#tool nuget:?package=Sylin.Koan.Data.Abstractions&version=1.0.27
                    
Install as a Cake Tool

Sylin.Koan.Data.Abstractions

Provider-neutral contracts shared by Koan's Entity runtime, data connectors, and modules that need to negotiate data behavior without activating a provider or host.

Applications normally receive this package through Sylin.Koan or Sylin.Koan.App. Reference it directly when implementing a repository/adapter, declaring data capabilities, or consuming the contracts without Data Core.

Install

dotnet add package Sylin.Koan.Data.Abstractions

Meaningful use

An adapter implements IDataRepository<TEntity,TKey> and, when applicable, IQueryRepository<TEntity,TKey>. It advertises only behavior it proves through the shared capability model:

var capabilities = DataCaps.Describe(repository, repository.GetType().Name);
var canStreamByPages = capabilities.Has(DataCaps.Query.ProviderBoundedPaging);

QueryDefinition carries the structured candidate filter, sort, projection, page, partition, and count intent. RepositoryQueryResult<TEntity> reports which axes the provider actually handled. Consumers negotiate those facts; they do not infer guarantees from an adapter name.

Receipts are executable truth. A result reports handled filter, sort, page, projection, and count work separately; CountResult.Execution distinguishes exact, optimized-exact, and fast/estimate execution. Data rejects an impossible or incomplete receipt and never replays a dispatched query or mutation to repair one.

Entity mutation contracts follow the same rule:

  • MutationResult<TEntity,TKey> reports insert, update, delete, missing, or conflict plus commit outcome.
  • BatchResult reports realized atomicity and, when the created native batch earns CompleteItemOutcomes, one outcome per builder call in logical call order.
  • RequireAtomic rejects before deferred loads, Lifecycle callbacks, or provider dispatch unless both the adapter claim and the created native execution seam prove atomicity.
  • GetMany returns exactly one slot per requested identity, preserving order and duplicates and using null for missing or invisible records.

Adapters also consume one provider-neutral source and failure vocabulary:

  • DataSourcePlan carries the immutable StorageLifecycle, DataSourceAccess, route identity, and redacted connection identity compiled by Data Core.
  • DataOperationEffect proves whether dispatch is a read, data write, storage/admin action, or unknown.
  • IDataFailureClassifier translates native exception types/codes into DataFailureKind, DataCommitOutcome, retry disposition, and replay disposition. Message text is never a classifier. IDataNativeEvidenceSink records restricted native type/code evidence and returns only an opaque bounded reference to public channels.
  • IAdapterFactory.DescribeClaims declares adapter capabilities and non-source profiles. For IDataSourceIntegrationFactory, the pure DescribeSource(source) descriptor automatically contributes the registered-read, record-result, and granular inspection profiles it supports. The resulting DataClaimSet supplies the exact references used by execution diagnostics and conformance tooling.

Source-only adapters implement IDataSourceIntegrationFactory; they do not manufacture an Entity repository. IDataSourceInspectorAdapter supplies bounded, source-bound container inspection, while IDataSourceIntegration executes immutable registered read plans. Both return the same neutral record contracts:

  • RecordSet preserves field order, duplicate names, missing versus null, nested neutral values, completion, and deterministic byte accounting.
  • INeutralRecordReader converts one provider result channel incrementally; another channel rejects instead of being discarded.
  • OperationPlan keeps effect, result kind, delivery, binding, read lane, parameters, timeout, and bounds independent.
  • IDataSourceNativeInspector is the only marker admitted by the explicit native-inspection probe; the raw common adapter is not exposed as a policy bypass.

Aggregate mapping uses the same provider-neutral posture. MappingDescriptor contains one StorageAddress, complete single/composite identity, logical MappingPath values, physical PhysicalPath locations, value shape, direction, generation, authority, and optional IDataMappingCodec. MappedRecord preserves missing versus present-null values, and MappingReceipt identifies the exact compiled plan/bindings used. These contracts contain no SQL column, BSON, JSON-column, table, or provider SDK type.

The package also owns the canonical provider-neutral PatchPayload<TKey> operation. HTTP JSON Patch, Merge Patch, MCP, or another projection must normalize its protocol into that operation before entering Data.

Boundaries and failures

  • This package is inert vocabulary. It does not register Data Core, elect a provider, open storage, create schemas, or expose Entity<T> statics.
  • It has no ASP.NET Core dependency. Media types, JSON Patch documents, controllers, and HTTP errors belong to Web.
  • ProviderBoundedPaging promises bounded candidate pages and a complete order, not cursor resumption, snapshot isolation, or mutation-safe traversal.
  • A provider capability is insufficient without its matching native seam and execution receipt. Stronger behavior rejects before work when either half is absent.
  • Unsupported optional behavior must reject or negotiate honestly; adapters must not approximate a stronger guarantee silently.
  • A capability token is a claim, not proof. Provider conformance tests must exercise every advertised behavior.
  • Native exception evidence remains adapter-owned and restricted. Data owns the stable public failure kind, commit outcome, retry disposition, replay disposition, and safe corrective facts.

See TECHNICAL.md for query ownership, capability semantics, and adapter compatibility rules.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (54)

Showing the top 5 NuGet packages that depend on Sylin.Koan.Data.Abstractions:

Package Downloads
Sylin.Koan.Data.Core

Entity data runtime for Koan: provider election, routing, lifecycle, queries, paging, relationships, and canonical operations.

Sylin.Koan.Web

Controller-first ASP.NET Core projection for Koan Entities with health, startup composition, and redacted runtime facts.

Sylin.Koan.Data.Vector.Abstractions

Provider-neutral Koan vector contracts for search repositories, adapter factories, schemas, queries, matches, capabilities, and export shapes.

Sylin.Koan.Data.Relational

Shared schema governance, SQL translation, and command mechanics for Koan relational Data providers.

Sylin.Koan

Tested Koan foundation bundle: core runtime, Entity data, local Communication, and the JSON connector.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.27 0 8/30/2026
1.0.26 45 8/30/2026
1.0.24 383 8/28/2026
1.0.23 198 8/28/2026
1.0.22 189 8/28/2026
1.0.20 227 8/28/2026
1.0.19 281 8/27/2026
1.0.17 79 8/27/2026
1.0.16 76 8/26/2026
1.0.15 741 8/25/2026
1.0.14 1,025 8/24/2026
1.0.12 335 8/23/2026
1.0.11 1,151 8/22/2026
1.0.2 1,323 8/20/2026
1.0.0 827 8/14/2026
0.21.1 297 8/14/2026
0.21.0 382 7/30/2026
0.20.5 222 7/24/2026
0.20.4 1,396 7/22/2026
0.20.3 478 7/21/2026
Loading failed