AITrace.AuthorityTrace (AITrace v0.2.0)

Copy Markdown View Source

Ref-only authority trace event contracts.

Authority trace events carry refs, redaction policy refs, overflow-safe actions, and proof artifact refs. They never carry provider payloads, raw credentials, native auth file contents, target credentials, or authorization headers.

Summary

Types

t()

@type t() :: %AITrace.AuthorityTrace{
  admission_state: term(),
  attach_grant_ref: String.t(),
  authority_decision_ref: String.t() | nil,
  authority_packet_ref: String.t(),
  connector_binding_ref: term(),
  connector_instance_ref: String.t(),
  contract_version: String.t(),
  credential_handle_ref: String.t(),
  credential_lease_ref: String.t(),
  event_name: String.t(),
  identity_introspection_limit: atom(),
  native_auth_assertion_ref: String.t(),
  operation_policy_ref: String.t(),
  overflow_safe_action: String.t(),
  persistence_posture: AITrace.PersistencePosture.t(),
  proof_artifact_ref: String.t(),
  proof_refs: term(),
  provider_account_evidence_ref: String.t() | nil,
  provider_account_ref: String.t(),
  provider_account_status: atom(),
  provider_family: String.t(),
  raw_material_present?: false,
  redaction_class: term(),
  redaction_policy_ref: String.t(),
  rejection_reason: term(),
  requested_operation: term(),
  scanner_refs: term(),
  system_authorization_ref: String.t(),
  target_ref: String.t(),
  trace_ref: String.t() | nil
}

Functions

admission_states()

@spec admission_states() :: [atom()]

event(attrs)

@spec event(map() | keyword()) ::
  {:ok, t()}
  | {:error, {:missing_required_refs, [atom()]}}
  | {:error, {:forbidden_trace_material, [atom()]}}
  | {:error, {:invalid_trace_enum, atom(), term(), [atom()]}}
  | {:error, {:invalid_trace_value, atom(), term(), [String.t()]}}

event!(attrs)

@spec event!(map() | keyword()) :: t()

event_names()

@spec event_names() :: [String.t()]

export_attributes(event)

@spec export_attributes(t()) :: map()

identity_introspection_limits()

@spec identity_introspection_limits() :: [atom()]

provider_account_statuses()

@spec provider_account_statuses() :: [atom()]

redaction_classes()

@spec redaction_classes() :: [String.t()]