HoneAI.Abstractions 0.3.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package HoneAI.Abstractions --version 0.3.0
                    
NuGet\Install-Package HoneAI.Abstractions -Version 0.3.0
                    
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="HoneAI.Abstractions" Version="0.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HoneAI.Abstractions" Version="0.3.0" />
                    
Directory.Packages.props
<PackageReference Include="HoneAI.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 HoneAI.Abstractions --version 0.3.0
                    
#r "nuget: HoneAI.Abstractions, 0.3.0"
                    
#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 HoneAI.Abstractions@0.3.0
                    
#: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=HoneAI.Abstractions&version=0.3.0
                    
Install as a Cake Addin
#tool nuget:?package=HoneAI.Abstractions&version=0.3.0
                    
Install as a Cake Tool

HoneAI.Abstractions

The contract surface for HoneAI — the "provenance-bearing prediction" middleware. Zero dependencies by design: every value that flows out of HoneAI carries how it was made, so a prediction without provenance must not compile.

This package is interfaces and records only. Concrete implementations live in HoneAI.Core; reference this package when you write your own adapters or want to depend on the contracts without the implementations.

Core contracts

  • ITracedPrediction<T> / PredictionProvenance — a predicted value that cannot exist without its provenance stamp: which tier answered, in which slice and trust state, under which policy snapshot, what the tiers below it did, and whether it was drawn for a recheck. Domain-specific fields live in Annotations, never in the middleware.
  • IJudge<TInput, TValue> / Tier / JudgeKind — a judge answers or abstains, given the input only; a tier is a judge of some kind (theory, statistics, ML, System1, LLM, VLM, a person) at a site, in a version, with a place in the cost order.
  • ISettlementPolicy<TValue> — which answers a tier may settle, which must always go up, and when two answers agree — predicates, so measured values fit as well as categories.
  • ISliceKey<TInput> / PolicySnapshot / TrustState — trust is earned per tier and slice; a snapshot carries each slice's state and recheck probabilities to the judging site.
  • IReasoningRouter<TQuery, TResult> — routes a query up the tiers, cheapest first.
  • IMLoopClient — transport-neutral client for a running MLoop instance (HTTP or MCP-stdio).
  • IHitlGate / ReviewDecision — async human-in-the-loop review gate keyed by review id.
  • IProvenanceSink / ProvenanceRecord — append-only audit trail for predictions.
  • IModelLifecycle — orchestrates export→init→inspect→train→evaluate→review→promote.
  • AgentRole / RoleContext — the trust-loop role an agent plays, stamped onto provenance.

Design boundary

The middleware is domain-neutral. Domain meaning (verdict vocabulary, a manufacturing process name, a risk category) is injected by the consumer adapter via RoleContext.Domain and PredictionProvenance.Annotations — the adapter is the domain boundary, never HoneAI itself.

Compatibility

HoneAI is 0.x, so APIs may still change between minor versions — except the contract floor, the types you can take on their own without any other HoneAI package:

Type What stays fixed within 0.x
ITracedPrediction<T> exactly Value and Provenance
PredictionProvenance only Kind is required; every other member is optional (nullable or bool)
IHitlGate AwaitDecisionAsync and Submit are the only abstract members; new capability arrives as a default interface method
IJudge<TInput, TValue> Tier and JudgeAsync are the only abstract members
JudgeKind Theory=0, Statistics=1, Ml=2, Llm=3, System1=4, Vlm=5, Human=6 keep their numbers (persisted provenance depends on them)

These may grow, but code written against them today keeps compiling: an object initializer, a custom IHitlGate or IJudge implementation, or a switch over JudgeKind will not be broken by a minor release. ContractFloorCompatibilityTests in the repository enforces the table above; a deliberate exception is a documented breaking change with a CHANGELOG migration note.

0.3.0 was such an exception: ReasoningLayer became JudgeKind + Tier, and PredictionProvenance.SourceLayer / Agreement / RequiresReview became Kind and the per-tier Path (see the CHANGELOG for the migration). Persisted records written by 0.2.x still read: the JSONL sink maps sourceLayer to kind, AutoMl to Ml and Frontier to Llm, and keeps the old agreement and review flags as legacy: annotations.

Three things the floor does not promise: Confidence is expected in [0.0, 1.0] but not validated by the contract (the producing layer is responsible); the in-process InMemoryHitlGate in HoneAI.Core is single-process by design — a review that must survive a process or request boundary needs an IHitlGate over your own store; and PredictionProvenance.Annotations carries opaque scalar strings, which the middleware never parses. A structured annotation value is encoded by the consumer that writes it, in a form safe for arbitrary content — JSON being the natural choice. Joining a list with a delimiter is not: annotation values are consumer-supplied and may contain whichever delimiter you pick. The map stays flat so a persisted provenance line stays greppable and diffable, and so this contract carries no serializer type.

License

Apache-2.0

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.
  • net10.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on HoneAI.Abstractions:

Package Downloads
Eyu.Core

Eyu core contract — source-agnostic ontology inference ports (IStructureSource, IRecordSample, IOntologyProposer, IGroundingContract, IModelClient).

HoneAI.Core

Assembly layer for HoneAI — composes MLoop (L2 AutoML, over HTTP/MCP transport) and an IChatClient (L3 frontier) behind the HoneAI.Abstractions contracts. Ships the dual-check reasoning router, JSONL provenance sink, HTTP MLoop client, in-memory HITL gate, and train→review→promote lifecycle.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.13.0 0 10/27/2026
0.12.0 73 10/24/2026
0.11.0 66 10/23/2026
0.10.0 149 10/22/2026
0.9.0 150 10/22/2026
0.8.0 79 10/22/2026
0.7.0 79 10/21/2026
0.6.0 66 10/21/2026
0.5.0 56 10/21/2026
0.4.0 105 10/21/2026
0.3.0 100 10/20/2026
0.2.2 815 9/9/2026
0.2.1 155 7/17/2026
0.2.0 182 7/8/2026