Hey,
I did end up getting it working.
In the extract method I returned an empty dictionary when the value doesn’t match what I am looking for.
In the validate method, I return a dictionary of the slot value if the validation is a success and if it fails then i return:
return {"slot_name": None}
This along with the rules and stories seems to work as expected now.
Another issue I discovered was that when some of my slots had “influence_conversation: true” with a null initial value, rules stopped working as expected.
There seemed to be a bug with this working with the rules so after either setting an initial value, or setting influence conversation to false, the rules started working as expected.