HoneAI.Abstractions
0.4.0
See the version list below for details.
dotnet add package HoneAI.Abstractions --version 0.4.0
NuGet\Install-Package HoneAI.Abstractions -Version 0.4.0
<PackageReference Include="HoneAI.Abstractions" Version="0.4.0" />
<PackageVersion Include="HoneAI.Abstractions" Version="0.4.0" />
<PackageReference Include="HoneAI.Abstractions" />
paket add HoneAI.Abstractions --version 0.4.0
#r "nuget: HoneAI.Abstractions, 0.4.0"
#:package HoneAI.Abstractions@0.4.0
#addin nuget:?package=HoneAI.Abstractions&version=0.4.0
#tool nuget:?package=HoneAI.Abstractions&version=0.4.0
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 inAnnotations, 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 | 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
- 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.14.0 | 5 | 10/27/2026 |
| 0.13.0 | 60 | 10/27/2026 |
| 0.12.0 | 117 | 10/24/2026 |
| 0.11.0 | 85 | 10/23/2026 |
| 0.10.0 | 189 | 10/22/2026 |
| 0.9.0 | 171 | 10/22/2026 |
| 0.8.0 | 96 | 10/22/2026 |
| 0.7.0 | 97 | 10/21/2026 |
| 0.6.0 | 83 | 10/21/2026 |
| 0.5.0 | 73 | 10/21/2026 |
| 0.4.0 | 121 | 10/21/2026 |
| 0.3.0 | 116 | 10/20/2026 |
| 0.2.2 | 815 | 9/9/2026 |
| 0.2.1 | 155 | 7/17/2026 |
| 0.2.0 | 182 | 7/8/2026 |