Runic.Workflow.Events.FactProduced (Runic v0.1.0-alpha.10)

Copy Markdown View Source

Event emitted when a fact is produced during workflow execution.

The producer_label indicates what kind of production edge should be drawn: :produced, :state_produced, :state_initiated, :reduced, :fan_out, :joined, or :input.

At runtime, value is always present. For journal persistence, the Store adapter may extract values to a content-addressed fact store keyed by hash.

Summary

Functions

Builds a versioned identity-bearing event from a Fact.

Types

t()

@type t() :: %Runic.Workflow.Events.FactProduced{
  ancestry: {term(), term()} | nil,
  causal_ancestry: Runic.Workflow.FactAncestry.t() | nil,
  content_digest: Runic.Identity.t() | nil,
  hash: term(),
  meta: map(),
  payload_digest: Runic.Identity.t() | nil,
  producer_label: atom(),
  value: term(),
  weight: non_neg_integer()
}

Functions

new(fact, attrs)

@spec new(
  Runic.Workflow.Fact.t(),
  keyword()
) :: t()

Builds a versioned identity-bearing event from a Fact.