StatifierRouter.Schema.Ledger (StatifierRouter v0.9.2)

Copy Markdown View Source

A row of the routing ledger: one recorded outcome of one routing attempt for one binding (ADR-0004, section 4). The ledger is append-only.

key is empty for key_refused, execution_id is empty where the outcome names no execution, and reason is empty for every outcome but two. For key_refused it holds the reason term as inspect/1 renders it (see StatifierRouter); for send_refused, the outcome ADR-0006 adds and its 2026-09-21 Note widens to any send this package refuses, it holds that record's own word for the refusal (see StatifierRouter.SendHandler). An empty key or an empty execution_id therefore no longer names the outcome on its own: the outcome column is read first, and ADR-0006, section 6 says what each refusal reason leaves empty. See StatifierRouter.Schema for how a row reaches a configured table.

Summary

Types

t()

@type t() :: %StatifierRouter.Schema.Ledger{
  __meta__: term(),
  binding_id: String.t() | nil,
  execution_id: String.t() | nil,
  id: StatifierRouter.Schema.Id.t() | nil,
  inserted_at: DateTime.t() | nil,
  key: String.t() | nil,
  message_id: String.t() | nil,
  outcome: String.t() | nil,
  reason: String.t() | nil,
  scope: String.t() | nil
}