Completion expression

What this field controls. The relative time window during which the L1 timeliness invariant expects every leg of the template's Transfer to be posted.

What you're looking at

A single text input taking a completion expression from a closed vocabulary — business_day_end, an optional +Nd day shift on it, month_end or a metadata.<key> reference. The window is evaluated at firing-time relative to the template's first leg firing.

Grammar

completion ::= "business_day_end"
             | "business_day_end" "+" N "d"
             | "month_end"
             | "metadata." key
N          ::= non-negative integer
key        ::= a metadata field name

Examples:

The business_day_end anchor honors each account's business_day_offset, so a template that spans accounts with different EOD cutoffs evaluates the anchor per-account.

How L1 uses this

The L1 (account-integrity) <prefix>_stuck_pending matview emits one row per Transfer leg still in pending status after the completion window has closed. The Pending Aging sheet surfaces those rows; L1 Exceptions rolls them up under the stuck_pending check-type branch.

business_day_end (the same-day shape) is the most common choice for intraday rails. Multi-leg templates that span an ACH cycle or a wire-and-back settlement typically pick +1d or +2d.

Constraints

The validator rejects expressions outside this vocabulary with a pointer at the offending token.

Vocabulary