Understanding pico engine output



I’m debugging something I’m working on, and I’m kind of stuck because of lack of understanding of what the debugging info means in the terminal where I run pico-engine.

I have a rule I’m trying to run, and I get the following debug info when I raise an event that it selects on:

[DEBUG] cjfpuw9ei00076pwqmqzad1gb | rule added to schedule: gossip -> set_gossip_timeout

However, I never get a message saying that the gossip:set_gossip_timeout rule was selected. What does it mean for a rule to be selected vs added to schedule? What could I be doing in my KRL code that might cause a rule to be added to the schedule, but never selected?

I have another rule that selects on the same event. Could that be somehow related?


The selected rules are added to the schedule, and then they are selected in turn for evaluation.

I can’t think of a case in which the first rule added to the schedule wouldn’t be selected. We’ll need to see the entire “episode” from the pico engine output and possibly the rulesets which have rules selected by the event


Please don’t post (too much) code here, though - other students are/will be taking the class. TAs can help privately if it’s impractical to reduce lab code to minimal cases. Logs are fine.

EDIT: Sorry, please ignore my bad recall of how adding/selection works.


Good point, Josh. JLarson, I emailed you through instructure and you can provide code in response