Table of Contents

Class DecisionReceipt

Namespace
AsiBackbone.Core.Audit
Assembly
AsiBackbone.Core.dll

Represents the framework-neutral decision receipt produced by an AsiBackbone operation.

public sealed class DecisionReceipt : IDecisionReceipt
Inheritance
DecisionReceipt
Implements
Inherited Members

Properties

ActorDisplayName

Gets the optional display name or label associated with the actor.

public string? ActorDisplayName { get; }

Property Value

string

ActorId

Gets the stable actor identifier associated with the event.

public string ActorId { get; }

Property Value

string

ActorType

Gets the actor type associated with the event.

public GovernanceActorType ActorType { get; }

Property Value

GovernanceActorType

ConstraintCount

Gets the number of constraints evaluated for the decision, when supplied by the host.

public int? ConstraintCount { get; }

Property Value

int?

ConstraintSetHash

Gets the hash of the evaluated constraint set, when supplied by the host.

public string? ConstraintSetHash { get; }

Property Value

string

CorrelationId

Gets the correlation identifier associated with the event, when supplied by the host.

public string? CorrelationId { get; }

Property Value

string

DecisionLatencyMs

Gets the decision latency in milliseconds, when supplied by the host.

public long? DecisionLatencyMs { get; }

Property Value

long?

DecisionReceiptId

Gets the stable decision receipt identifier when available.

public string DecisionReceiptId { get; }

Property Value

string

Remarks

Existing residue implementations may use EventId as the residue identifier.

DecisionStage

Gets the provider-neutral decision stage associated with the event, when supplied by the host.

public string? DecisionStage { get; }

Property Value

string

EmitterProvider

Gets the provider-neutral emitter provider name, when supplied by the host or outbox provider.

public string? EmitterProvider { get; }

Property Value

string

EmitterStatus

Gets the provider-neutral emitter status, when supplied by the host or outbox provider.

public string? EmitterStatus { get; }

Property Value

string

EventId

Gets the stable audit event identifier.

public string EventId { get; }

Property Value

string

GatewayExecutionId

Gets the gateway execution identifier associated with the event, when supplied by the host or gateway provider.

public string? GatewayExecutionId { get; }

Property Value

string

HasMetadata

Gets a value indicating whether this decision receipt contains metadata.

public bool HasMetadata { get; }

Property Value

bool

HasReasonCodes

Gets a value indicating whether this decision receipt contains reason codes.

public bool HasReasonCodes { get; }

Property Value

bool

Metadata

Gets additional framework-neutral audit metadata supplied by the host.

public IReadOnlyDictionary<string, string> Metadata { get; }

Property Value

IReadOnlyDictionary<string, string>

OccurredUtc

Gets the UTC timestamp when the audited event occurred.

public DateTimeOffset OccurredUtc { get; }

Property Value

DateTimeOffset

OperationName

Gets the operation name associated with the audited event.

public string OperationName { get; }

Property Value

string

OrganizationHash

Gets the privacy-preserving organization hash associated with the decision, when supplied by the host.

public string? OrganizationHash { get; }

Property Value

string

OutboxSequence

Gets the outbox sequence associated with the event, when supplied by the host or outbox provider.

public long? OutboxSequence { get; }

Property Value

long?

Outcome

Gets the governance, constraint, or host-defined outcome associated with the event.

public string Outcome { get; }

Property Value

string

ParentSpanId

Gets the parent span identifier associated with the event, when supplied by the host or observability adapter.

public string? ParentSpanId { get; }

Property Value

string

PolicyHash

Gets the policy hash associated with the event, when supplied by the host.

public string? PolicyHash { get; }

Property Value

string

PolicyScope

Gets the policy scope associated with the decision, when supplied by the host.

public string? PolicyScope { get; }

Property Value

string

PolicyVersion

Gets the policy version associated with the event, when supplied by the host.

public string? PolicyVersion { get; }

Property Value

string

ReasonCodes

Gets machine-readable reason codes associated with the event.

public IReadOnlyList<string> ReasonCodes { get; }

Property Value

IReadOnlyList<string>

RiskScore

Gets the host-defined risk score associated with the decision, when supplied by the host.

public double? RiskScore { get; }

Property Value

double?

SchemaVersion

Gets the serialized schema version for the decision receipt shape.

public string SchemaVersion { get; }

Property Value

string

SpanId

Gets the span identifier associated with the event, when supplied by the host or observability adapter.

public string? SpanId { get; }

Property Value

string

TenantHash

Gets the privacy-preserving tenant hash associated with the decision, when supplied by the host.

public string? TenantHash { get; }

Property Value

string

TraceId

Gets the trace identifier associated with the event, when supplied by the host.

public string? TraceId { get; }

Property Value

string

Methods

Create(IGovernanceActorContext, string, string, IEnumerable<string>?, string?, DateTimeOffset?, string?, string?, string?, string?, IReadOnlyDictionary<string, string>?, string?, string?, string?, long?, string?, int?, double?, string?, string?, string?, string?, string?, long?, string?, string?, string?)

Creates decision receipt from a host-defined operation outcome.

public static DecisionReceipt Create(IGovernanceActorContext actor, string operationName, string outcome, IEnumerable<string>? reasonCodes = null, string? eventId = null, DateTimeOffset? occurredUtc = null, string? correlationId = null, string? traceId = null, string? policyVersion = null, string? policyHash = null, IReadOnlyDictionary<string, string>? metadata = null, string? decisionReceiptId = null, string? spanId = null, string? parentSpanId = null, long? decisionLatencyMs = null, string? constraintSetHash = null, int? constraintCount = null, double? riskScore = null, string? policyScope = null, string? tenantHash = null, string? organizationHash = null, string? emitterStatus = null, string? emitterProvider = null, long? outboxSequence = null, string? gatewayExecutionId = null, string? decisionStage = null, string? schemaVersion = null)

Parameters

actor IGovernanceActorContext

The actor associated with the operation.

operationName string

The operation name.

outcome string

The governance, constraint, or host-defined outcome.

reasonCodes IEnumerable<string>

Optional machine-readable reason codes.

eventId string

Optional audit event identifier. When omitted, a new identifier is generated.

occurredUtc DateTimeOffset?

Optional event timestamp. When omitted, the current UTC timestamp is used.

correlationId string

Optional correlation identifier.

traceId string

Optional trace identifier.

policyVersion string

Optional policy version.

policyHash string

Optional policy hash.

metadata IReadOnlyDictionary<string, string>

Optional host-provided audit metadata.

decisionReceiptId string

Optional decision receipt identifier. When omitted, the normalized event identifier is used.

spanId string

Optional span identifier.

parentSpanId string

Optional parent span identifier.

decisionLatencyMs long?

Optional decision latency in milliseconds.

constraintSetHash string

Optional evaluated constraint-set hash.

constraintCount int?

Optional evaluated constraint count.

riskScore double?

Optional host-defined risk score.

policyScope string

Optional host-defined policy scope.

tenantHash string

Optional privacy-preserving tenant hash.

organizationHash string

Optional privacy-preserving organization hash.

emitterStatus string

Optional provider-neutral emitter status.

emitterProvider string

Optional provider-neutral emitter provider name.

outboxSequence long?

Optional outbox sequence.

gatewayExecutionId string

Optional gateway execution identifier.

decisionStage string

Optional provider-neutral decision stage.

schemaVersion string

Optional schema version. When omitted, the stable artifact schema version is used.

Returns

DecisionReceipt

An decision receipt value.

FromConstraint(IGovernanceActorContext, string, ConstraintEvaluationResult, string?, DateTimeOffset?, string?, string?, string?, string?, IReadOnlyDictionary<string, string>?, string?, string?, string?, long?, string?, int?, double?, string?, string?, string?, string?, string?, long?, string?, string?, string?)

Creates decision receipt from a constraint evaluation result.

public static DecisionReceipt FromConstraint(IGovernanceActorContext actor, string operationName, ConstraintEvaluationResult constraintResult, string? eventId = null, DateTimeOffset? occurredUtc = null, string? correlationId = null, string? traceId = null, string? policyVersion = null, string? policyHash = null, IReadOnlyDictionary<string, string>? metadata = null, string? decisionReceiptId = null, string? spanId = null, string? parentSpanId = null, long? decisionLatencyMs = null, string? constraintSetHash = null, int? constraintCount = null, double? riskScore = null, string? policyScope = null, string? tenantHash = null, string? organizationHash = null, string? emitterStatus = null, string? emitterProvider = null, long? outboxSequence = null, string? gatewayExecutionId = null, string? decisionStage = null, string? schemaVersion = null)

Parameters

actor IGovernanceActorContext

The actor associated with the operation.

operationName string

The operation name.

constraintResult ConstraintEvaluationResult

The constraint evaluation result to audit.

eventId string

Optional audit event identifier. When omitted, a new identifier is generated.

occurredUtc DateTimeOffset?

Optional event timestamp. When omitted, the current UTC timestamp is used.

correlationId string

Optional correlation identifier.

traceId string

Optional trace identifier.

policyVersion string

Optional policy version.

policyHash string

Optional policy hash.

metadata IReadOnlyDictionary<string, string>

Optional host-provided audit metadata.

decisionReceiptId string

Optional decision receipt identifier. When omitted, the normalized event identifier is used.

spanId string

Optional span identifier.

parentSpanId string

Optional parent span identifier.

decisionLatencyMs long?

Optional decision latency in milliseconds.

constraintSetHash string

Optional evaluated constraint-set hash.

constraintCount int?

Optional evaluated constraint count.

riskScore double?

Optional host-defined risk score.

policyScope string

Optional host-defined policy scope.

tenantHash string

Optional privacy-preserving tenant hash.

organizationHash string

Optional privacy-preserving organization hash.

emitterStatus string

Optional provider-neutral emitter status.

emitterProvider string

Optional provider-neutral emitter provider name.

outboxSequence long?

Optional outbox sequence.

gatewayExecutionId string

Optional gateway execution identifier.

decisionStage string

Optional provider-neutral decision stage.

schemaVersion string

Optional schema version. When omitted, the stable artifact schema version is used.

Returns

DecisionReceipt

An decision receipt value.

FromDecision(IGovernanceActorContext, string, GovernanceDecision, string?, DateTimeOffset?, IReadOnlyDictionary<string, string>?, string?, string?, string?, long?, string?, int?, double?, string?, string?, string?, string?, string?, long?, string?, string?, string?)

Creates decision receipt from a governance decision.

public static DecisionReceipt FromDecision(IGovernanceActorContext actor, string operationName, GovernanceDecision decision, string? eventId = null, DateTimeOffset? occurredUtc = null, IReadOnlyDictionary<string, string>? metadata = null, string? decisionReceiptId = null, string? spanId = null, string? parentSpanId = null, long? decisionLatencyMs = null, string? constraintSetHash = null, int? constraintCount = null, double? riskScore = null, string? policyScope = null, string? tenantHash = null, string? organizationHash = null, string? emitterStatus = null, string? emitterProvider = null, long? outboxSequence = null, string? gatewayExecutionId = null, string? decisionStage = null, string? schemaVersion = null)

Parameters

actor IGovernanceActorContext

The actor associated with the operation.

operationName string

The operation name.

decision GovernanceDecision

The governance decision to audit.

eventId string

Optional audit event identifier. When omitted, a new identifier is generated.

occurredUtc DateTimeOffset?

Optional event timestamp. When omitted, the current UTC timestamp is used.

metadata IReadOnlyDictionary<string, string>

Optional host-provided audit metadata.

decisionReceiptId string

Optional decision receipt identifier. When omitted, the normalized event identifier is used.

spanId string

Optional span identifier.

parentSpanId string

Optional parent span identifier.

decisionLatencyMs long?

Optional decision latency in milliseconds.

constraintSetHash string

Optional evaluated constraint-set hash.

constraintCount int?

Optional evaluated constraint count.

riskScore double?

Optional host-defined risk score.

policyScope string

Optional host-defined policy scope.

tenantHash string

Optional privacy-preserving tenant hash.

organizationHash string

Optional privacy-preserving organization hash.

emitterStatus string

Optional provider-neutral emitter status.

emitterProvider string

Optional provider-neutral emitter provider name.

outboxSequence long?

Optional outbox sequence.

gatewayExecutionId string

Optional gateway execution identifier.

decisionStage string

Optional provider-neutral decision stage.

schemaVersion string

Optional schema version. When omitted, the stable artifact schema version is used.

Returns

DecisionReceipt

An decision receipt value.