Edit chain · MerchantDailySettleAggregator

← back to Chains
ⓘ Reference

A Chain row says: when this parent rail or template fires, the L1 layer expects one of the listed children to follow within the SLA. A row with one child encodes a required relationship; a row with two or more children encodes an XOR (exactly-one-of) branch. Either way, a parent firing without a matching child surfaces as a stuck-pending invariant violation.

Required: parent (rail or template name) and children (a list of one or more rail / template names). One name in the list = required; multiple names = exactly-one-of branching (e.g. ACH return reasons).

Where this sits

Open full diagram →
Identity
Rail or TransferTemplate this chain row attaches to. When the parent fires, the L1 layer expects one of the children below to follow.
Free-form prose.
Composition

Chain shape preview

Updates as you edit
Rails / templates that may follow the parent. Z.A grammar: one selected = required (every parent firing MUST invoke it). Two+ selected = XOR alternation (exactly one fires per parent firing). For each selected child, the fan-in checkbox + expected-parent-count input let you opt that child into N:1 fan-in (validator C8a requires fan_in children to be TransferTemplates). Mixed-cardinality is supported: one child fan_in while siblings stay 1:1 XOR (AB.6 shape; sasquatch's MerchantSettlementCycle chain is the canonical demo). Empty selection is rejected.
Cancel