More details in: https://docs.jboss.org/drools/release/7.30.0.Final/drools-docs/html_single/#drl-rules-THEN-methods-variables-ref_drl-rules
In Drools 5, one fact insertion would cause a match (called "activation" in Drools 5). Drools 6 uses Phreak wich is a "lazy" modification of Rete. One of the implicances of this is that matches don't happen until fireAllRules is invoked.
It's possible to use Java/MVEL expression in the GIVEN contraints, like:
# new com.redhat.pocs.PriorApplication(1L, "x", java.time.LocalDate.now(), null, false);