AIKernel.NET
version: 0.0.5 / status: Refactor / edition: Draft / published: 2026-05-16 / updated: 2026-06-05

Japanese version: Index

HATL Interface Contracts

HATL contracts define the package boundary for Hash-Anchored Trust Layer ledger, anchor, deed, and external cryptographic operator integration. AIKernel.NET does not implement cryptography, key handling, ratchets, Merkle proofs, or public-anchor publication logic.

Contract Surface

Contract Responsibility
IHatlLedgerStore Append and read HATL micro-ledger entries.
IHatlAnchorPublisher Publish public anchor documents through a runtime/provider boundary.
IHatlAnchorVerifier Verify public anchor documents and ledger-entry inclusion proofs.
IHatlDigitalDeedResolver Resolve and verify Digital Deed status for governed identities.
IHatlCryptographicOperator Delegate BlockMAC, ratchet advancement, and anchor-signature verification to an external cryptographic operator, such as an AIKernel.RH-backed module.

DTO Ownership

HATL DTOs are owned by AIKernel.Dtos.Hatl. Shared HATL enum primitives are owned by AIKernel.Enums. Runtime cryptographic implementations belong to external operator/provider packages, not to AIKernel.Abstractions.

External Crypto Boundary

IHatlCryptographicOperator is intentionally a capability boundary. It allows Core or host applications to bind an AIKernel.RH-based native module, hardware-backed crypto provider, or other audited operator without adding cryptographic implementation to AIKernel.NET.

The contract surface carries hashes, MACs, commitments, anchor documents, receipts, verification outcomes, and metadata only. Raw secrets, mutable key material, and secret-erasure behavior are runtime concerns outside this repository.

ResultStep / LINQ Boundary

HATL contracts intentionally return DTO-based ValueTask results rather than Result<T> or ResultStep<TState, TValue>. This keeps AIKernel.Abstractions independent from AIKernel.Common and Core runtime packages.

Core implementations that need monadic LINQ composition should wrap IHatlCryptographicOperator calls in a Core-owned adapter. That adapter is responsible for converting HATL DTO outcomes into fail-closed Result<T> or ResultStep<TState, TValue> values, attaching SemanticDelta, replay metadata, and HATL metadata keys such as hatl_anchor_id or hatl_merkle_root_hash.


Changelog

  • v0.0.5 (2026-06-05): Clarified HATL external cryptographic operator and Core/Common LINQ adapter boundaries.
Source: architecture/interfaces/hatl/index.md