Skip to content

    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. args and when share one compilation path and one evaluation context, so an expression written for one works in the other.
    • Behaviour change: an args expression 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 unknown actions.<id>. In practice, a daemon loading a playbook with a malformed args block 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.
    • args is 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.