# `Runic.Workflow.FactAncestry`
[🔗](https://github.com/zblanco/runic/blob/main/lib/workflow/fact_ancestry.ex#L1)

Explicit causal coordinates for a Fact occurrence.

The legacy `{producer_hash, parent_fact_hash}` tuple remains available on
`Runic.Workflow.Fact` during the alpha migration. This struct carries the
additional activation and output coordinates needed to distinguish equal
payloads produced at different positions.

# `t`

```elixir
@type t() :: %Runic.Workflow.FactAncestry{
  activation_id: Runic.Identity.t() | nil,
  output_index: non_neg_integer(),
  output_port: atom(),
  parent_fact_id: term() | nil,
  producer_node_id: term() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
