Values, Inputs & Placeholders
Three small rules govern how the engine turns operands into concrete values. Understanding them makes every transform type below predictable.
Placeholders
Every string operand is run through placeholder substitution first. ${attr}
becomes the attribute's value; an unknown attribute becomes empty. This is identical to expression
evaluation, applied to each string in the transform.
Input vs. piped value
Types that operate on a single value read it from an explicit "input" field.
Inside a pipeline, if a step omits input, it uses the result handed down from the
step before it. This is what lets steps chain.
3
Bare strings are templates
Anywhere a value is expected — a then, a default, a mapping result —
a plain string is treated as a template and resolved. You rarely need static explicitly.