Bug or do I not understand predicate

The following rule triggered right after we got home today. It monitors the temp in our pantry while we are away and if it gets above 79 it will set the AC back to a level that will cool it down.

I have a predicate condition that, as I understand it, should only allow it to trigger if the current mode is away or vacation. According to system events, see second screenshot, the mode was switched to Home at 3:14PM

Then in the logs, see third screenshot, you can see the pantry temp sensor triggered a temp change below 77 and it triggered sending me a message and setting the thermostat to away mode at 3:16. So why would the rule trigger if the mode is home. This has happened a couple of times now. Is this a bug or am I not understanding how predicates work?

[edit] Ok I might see what is going on. I was staring at the log and I realized that the rule was paused, until 3:15, a minute after the mode changed to home. Each time I run the rule I pause it for 15 minutes. I don't want it sending several thermostat changes in a short time to the thermostat. It is a predicate condition so should it not evaluate those conditions before triggering, or does the rule have to be active when the condition occurred?