What this field controls. Which rails or templates this AGGREGATING rail bundles into its periodic sweep.
A chip-list multi-select whose option universe is every rail + every
transfer template in the L2 instance. Type to filter, click to add,
drag to reorder, × to remove. The selection is the canonical
membership set — the order shapes how the L1 invariants walk per-firing
attribution but doesn't change correctness.
Bundles-activity only renders when the rail's aggregating flag is
true. An aggregating rail fires on a cadence (intraday-2h, daily-eod,
weekly-mon, etc.) and represents a sweep that nets activity from
the bundled-children rails into a single transfer.
The canonical example is an ACH origination sweep: many individual
customer-debit firings on CustomerACHDebit get bundled into one
daily settlement firing on ACHOriginationSettlement. The settlement
rail's bundles_activity is [CustomerACHDebit]; its cadence is
daily-eod.
The <prefix>_stuck_unbundled matview consumes bundles-activity:
for every firing on a bundled-child rail older than max_unbundled_age
and without a matching aggregating-rail firing in the cadence window,
the matview emits a row. The L1 Unbundled Aging sheet renders that
row set; L1 Exceptions rolls it up under the stuck_unbundled
check-type branch.
bundles_activity on an aggregating rail is rejected by
validator S5 — the rail has nothing to sweep.