Affiant.Docket
1.0.0-beta.1
Prefix Reserved
dotnet add package Affiant.Docket --version 1.0.0-beta.1
NuGet\Install-Package Affiant.Docket -Version 1.0.0-beta.1
<PackageReference Include="Affiant.Docket" Version="1.0.0-beta.1" />
<PackageVersion Include="Affiant.Docket" Version="1.0.0-beta.1" />
<PackageReference Include="Affiant.Docket" />
paket add Affiant.Docket --version 1.0.0-beta.1
#r "nuget: Affiant.Docket, 1.0.0-beta.1"
#:package Affiant.Docket@1.0.0-beta.1
#addin nuget:?package=Affiant.Docket&version=1.0.0-beta.1&prerelease
#tool nuget:?package=Affiant.Docket&version=1.0.0-beta.1&prerelease
Affiant.Docket
Durable review queue for the Affiant framework — "sworn provenance for every AI write."
Holds the review queue's backend-neutral half: the process-local IDocketStore and the background expiry sweep that guarantees Evidence Cards reach a reviewer at least once, even across a dropped/reconnected SignalR connection. Installing this package pulls no database driver — it depends on Affiant.Core and Affiant.Abstractions only.
Quick start
In-memory Docket (development, tests, single-process hosts — nothing survives a restart):
builder.Services.AddAffiantCore();
builder.Services.AddAffiantDocket(docket => docket.UseInMemory());
SQL-backed Docket (SQLite or PostgreSQL) — the store comes from Affiant.EntityFramework, this package still supplies the expiry sweep:
builder.Services.AddAffiantCore();
builder.Services.AddAffiantEntityFramework(ef => ef.UsePostgres(connectionString)); // registers IDocketStore + IChatSessionStore
builder.Services.AddAffiantDocket(); // registers DocketExpiryService
Changed in 1.0.0-beta.1 (affiant#35).
DocketOptions.UseSqlite(...)/UsePostgres(...)no longer exist.SqliteDocketStoreandPostgresDocketStoretakeAffiant.EntityFramework'sAffiantDbContextand are mapped by entity configurations and migrations that already lived in that package, so both stores moved there and are registered byAddAffiantEntityFramework— the same shapeIChatSessionStorealways had. This removesAffiant.Docket's dependency onAffiant.EntityFramework, so installing it no longer drags EF Core, the SQLite provider and Npgsql onto a host that only wantsInMemoryDocketStore.
Registration order between AddAffiantCore, AddAffiantDocket and AddAffiantEntityFramework does not matter. A host that ends up with no IDocketStore registered at all fails at startup with a message naming the missing registration and the package that provides it (AddAffiantCore's wire-up validator) — not silently at its first write.
Package contents
| Namespace | Purpose |
|---|---|
Affiant.Docket.Stores |
InMemoryDocketStore — the process-local IDocketStore. The SQLite/PostgreSQL implementations live in Affiant.EntityFramework |
Affiant.Docket.Services |
DocketExpiryService — the background sweep that transitions lapsed-TTL entries to Expired and re-broadcasts still-Pending Evidence Cards; backend-neutral, resolves IDocketStore per tick |
Affiant.Docket.Options |
DocketOptions — the store-selection builder for AddAffiantDocket (UseInMemory()) |
Affiant.Docket.Extensions |
ServiceCollectionExtensions — AddAffiantDocket |
Further reading
- Affiant Framework Specification — the full design contract, including the review-queue and expiry semantics
- Tool Authoring Guide — write your first Affiant plugin pair
Part of the Affiant Framework | Apache-2.0 License
| Product | Versions 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. |
-
net10.0
- Affiant.Abstractions (>= 1.0.0-beta.1)
- Affiant.Core (>= 1.0.0-beta.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.4)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-beta.1 | 51 | 8/23/2026 |