Hey everyone,

I'd like to get your feedback on a new AIP proposal:

AIP-106: Composable Trigger Rules
https://cwiki.apache.org/confluence/x/64wmGQ
<https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-106+Composable+Trigger+Rules>

tl;dr

This proposal introduces a composable expression model for trigger rules,
enabling conditions not expressible with the current enum-based system,
while fully preserving existing trigger rules for simple cases.
For example, "All done, at least two succeeded" can be expressed as
TR.expr(done="all", success=">=2").

Design Notes/Constraints:
1. The aggregate form is AND-only by design, to preserve determinism and
keep evaluation predictable.
2. The composable model complements (rather than replaces) the enum. Some
trigger rules (e.g. ALL_DONE_SETUP_SUCCESS, ONE_DONE, ALWAYS) remain
intentionally out of scope, and enums remain the more readable option for
simple cases.

I'd appreciate your feedback on:

   -

   Backward compatibility with existing trigger rules (see Appendix A)
   -

   Semantics of eager vs complete evaluation
   -

   Scope and limits of the expression model
   -

   Potential edge cases and performance implications
   -

   UI/observability considerations for debugging expressions
   - Anything else


Thank you!


Shahar

Reply via email to