Table of Contents

Class AuditResidue

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

Represents the framework-neutral audit residue produced by an AsiBackbone operation.

public sealed class AuditResidue : IAsiBackboneAuditResidue
Inheritance
AuditResidue
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 AsiBackboneActorType ActorType { get; }

Property Value

AsiBackboneActorType

AuditResidueId

Gets the stable audit residue identifier when available.

public string AuditResidueId { get; }

Property Value

string

Remarks

Existing residue implementations may use EventId as the residue identifier.

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?

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 audit residue contains metadata.

public bool HasMetadata { get; }

Property Value

bool

HasReasonCodes

Gets a value indicating whether this audit residue 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 audit residue 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(IAsiBackboneActorContext, 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 audit residue from a host-defined operation outcome.

public static AuditResidue Create(IAsiBackboneActorContext 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? auditResidueId = 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 IAsiBackboneActorContext

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.

auditResidueId string

Optional audit residue 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

AuditResidue

An audit residue value.

FromConstraint(IAsiBackboneActorContext, 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 audit residue from a constraint evaluation result.

public static AuditResidue FromConstraint(IAsiBackboneActorContext 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? auditResidueId = 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 IAsiBackboneActorContext

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.

auditResidueId string

Optional audit residue 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

AuditResidue

An audit residue value.

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

Creates audit residue from a governance decision.

public static AuditResidue FromDecision(IAsiBackboneActorContext actor, string operationName, GovernanceDecision decision, string? eventId = null, DateTimeOffset? occurredUtc = null, IReadOnlyDictionary<string, string>? metadata = null, string? auditResidueId = 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 IAsiBackboneActorContext

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.

auditResidueId string

Optional audit residue 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

AuditResidue

An audit residue value.