# `Runic.Workflow.Events.FanInCompleted`
[🔗](https://github.com/zblanco/runic/blob/main/lib/workflow/events/fan_in_completed.ex#L1)

Event derived during `maybe_finalize_coordination/2` when a FanIn node
determines that all expected fan-out items have been processed.

This event is produced during the apply phase (not execute), similar to
`JoinCompleted`. It logs the reduced result fact, draws the `:reduced`
edge, marks completion in mapped state, and cleans up tracking keys.

# `t`

```elixir
@type t() :: %Runic.Workflow.Events.FanInCompleted{
  expected_key: {term(), term()},
  fan_in_hash: term(),
  result_ancestry: {term(), term()} | nil,
  result_fact_hash: term(),
  result_value: term(),
  seen_key: {term(), term()},
  source_fact_hash: term(),
  weight: non_neg_integer()
}
```

---

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