Cohesive.Storage 0.1.0-alpha.80

This is a prerelease version of Cohesive.Storage.
dotnet add package Cohesive.Storage --version 0.1.0-alpha.80
                    
NuGet\Install-Package Cohesive.Storage -Version 0.1.0-alpha.80
                    
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="Cohesive.Storage" Version="0.1.0-alpha.80" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cohesive.Storage" Version="0.1.0-alpha.80" />
                    
Directory.Packages.props
<PackageReference Include="Cohesive.Storage" />
                    
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 Cohesive.Storage --version 0.1.0-alpha.80
                    
#r "nuget: Cohesive.Storage, 0.1.0-alpha.80"
                    
#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 Cohesive.Storage@0.1.0-alpha.80
                    
#: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=Cohesive.Storage&version=0.1.0-alpha.80&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Cohesive.Storage&version=0.1.0-alpha.80&prerelease
                    
Install as a Cake Tool

Cohesive.Storage

Cohesive.Storage defines provider-neutral durability, source acquisition, aggregate storage realization, and relation-derived materialization contracts for Cohesive systems.

Typed entity repositories preserve the underlying repository's batch capabilities, item limits, input order, and requested atomicity. UpsertBatch(context, entities, atomicity) maps ordinary records through the same selectors as single writes, then invokes one native batch. Per-candidate concurrency tokens use the canonical EntityBatchWriteRequest overload. Unsupported atomicity is rejected instead of silently using independent writes.

Install

dotnet add package Cohesive.Storage

Register a Relation source

Storage can attach an entity repository to the canonical Relations acquisition port. Shape, source identity, limits, and version projection are derived or declared once:

var source = EntityRelationQuerySourceRegistration.InMemory(
    loadShape,
    repository,
    logicalPartition: RelationQueryLogicalPartitionIdentity.WholeSource,
    observationVersionSemanticPath: FieldPath.FromField("SourceEntityVersion"),
    limits: new(
        maximumBatchSize: 100,
        maximumBufferedRows: 10_000,
        maximumFanOut: 100,
        maximumConcurrency: 4));

var catalog = new EntityRelationQuerySourceCatalog([source]);
IRelationQueryEvaluator evaluator = catalog.CreateEvaluator(physicalPlanningPolicy);
var outcome = await evaluator.EvaluateAsync(evaluation, cancellationToken);

Relations remains authoritative for filters, joins, projections, aggregation, and paging. Storage contributes bounded physical acquisition and exact source evidence.

What this package owns

  • Entity repository and observation-stream ports.
  • The atomic durable Process aggregate, store contract, and provider-neutral reference runtime.
  • Canonical Relation source registration and evaluator composition.
  • Aggregate storage structures and target realization documents.
  • Relation-derived materialization definitions, impact planning, rebuilds, and incremental synchronization.
  • Generation allocation, sealing, validation, promotion, cleanup, routing, and progress evidence.
  • Query-authority and lifecycle-control contracts used by storage adapters.

Important boundaries

Cohesive.Storage does not define another query language, Transition model, or Process model. It consumes exact semantic documents and compiled evidence from those owning blocks. Provider SDKs and physical schemas remain in adapter packages.

Retained entity snapshots and Transition operation commits use the explicit lossless EntityStorageJson.CreateOptions() profile. It reuses the core PortableValue tagged node codec for detached observation fields; ordinary JSON serialization is unchanged. Payload format 2 and sha256-entity-v2 commit fingerprints require explicit migration of older retained evidence. Request and operation identities remain stable so old receipts cannot be mistaken for missing operations. See the SQLite adoption and migration notes.

InMemoryProcessDurableStore is the copy-on-write reference implementation and semantic test oracle. It is not a production durability provider and does not claim physical exactly-once publication.

Materialization uses the Relations dependency manifest and lineage rather than copying their edges into a second model. When an incremental route cannot be proven within configured limits, planning fails closed or requires an explicit rebuild policy.

Continue

Experimental atomic commit declarations

Cohesive.Storage.Commits.IStorageCommitExecutor accepts an immutable StorageCommitIntent: conditional portable item writes, explicit query guard dependencies and a retained operation result. SQLite and Cosmos interpreters commit the writes and receipt atomically within their advertised placement limits. ReconcileAsync resolves exact receipts after uncertain acknowledgments without reading later state. Missing evidence is Unknown, not proof that an operation rolled back.

This bounded profile owns dedicated item storage; it does not yet enlist arbitrary repository tables. See the decision and native capability boundaries.

Third-party interpreters implement the public executor interface and advertise their capability profile. Intent inspection, strict serialization and result factories are public; no friend-assembly registration or access to adapter internals is required.

Commit preflight is executor.Validate(intent): it includes adapter-encoded payload limits without I/O. Capabilities.ValidateStructure(intent) only checks placement and dependencies; full capability validation requires serialized byte evidence when a payload budget is declared. Query guard writes must carry a non-null token captured before the query; initialize a missing guard separately.

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 (9)

Showing the top 5 NuGet packages that depend on Cohesive.Storage:

Package Downloads
Cohesive.Host

Cohesive semantic system definition and orchestration building blocks.

Cohesive.Identity

Cohesive semantic system definition and orchestration building blocks.

Cohesive.Api.Execution

Canonical execution-control API declarations and reference integration for Cohesive execution semantics.

Cohesive.Adapters.Cosmos

Cohesive semantic system definition and orchestration building blocks.

Cohesive.Adapters.AspNet

Cohesive semantic system definition and orchestration building blocks.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.80 49 9/8/2026
0.1.0-alpha.79 77 9/7/2026
0.1.0-alpha.78 73 9/7/2026
0.1.0-alpha.77 70 9/7/2026
0.1.0-alpha.76 88 9/6/2026
0.1.0-alpha.75 92 9/6/2026
0.1.0-alpha.74 110 9/6/2026
0.1.0-alpha.73 137 9/5/2026
0.1.0-alpha.72 94 9/5/2026
0.1.0-alpha.71 95 9/4/2026
0.1.0-alpha.70 97 9/4/2026
0.1.0-alpha.69 90 9/2/2026
0.1.0-alpha.68 96 8/30/2026
0.1.0-alpha.67 157 8/26/2026
0.1.0-alpha.66.5 142 9/6/2026
0.1.0-alpha.66.4 182 8/30/2026
0.1.0-alpha.66.3 98 8/29/2026
0.1.0-alpha.66.2 97 8/27/2026
0.1.0-alpha.66.1 116 8/26/2026
0.1.0-alpha.66 147 8/25/2026
Loading failed