Release 1.33.0
News ·
archied — EDA: playbook action arguments are compiled at load (J2)
- A playbook action may now declare
args, compiled as CEL expressions when the playbook loads.argsandwhenshare one compilation path and one evaluation context, so an expression written for one works in the other. - Behaviour change: an
argsexpression that does not compile is a load failure, not a runtime miss — the same reject-at-load rule already applied to a binding collision and to an unknownactions.<id>. In practice, a daemon loading a playbook with a malformedargsblock fails at startup rather than part-way through a dispatch. - Compiling several arguments now reports the first bad key deterministically (keys are sorted). Previously it ranged a map, so the reported bad key could differ between runs and the failure was not reproducible.
argsis deliberately inert for now: parsed, compiled and stored, but no shipped position consumes it yet. A consumer arrives with the first side-effecting position.
Not yet decided: how an args evaluation failure behaves at dispatch. The when predicate rule
(error, skip, log) does not obviously transfer, because args is data rather than a predicate, and
silently skipping an action whose arguments failed to evaluate would be a silent failure of exactly
the kind this release train has been removing. It currently propagates the error to the caller, and
that asymmetry is documented at the code. Ratifying it against a real consumer is tracked separately.