Non-contradicting rules not behaving as expected

Hey there,

I’ve got a small problem and tried to find similar threads, but could only find this here Rule contradiction fail thread on the Forum.

Anyway, I have two rules with an opposite condition (a slot of type bool) that perform different actions based on this condition. The example below shows how my conditions are structured.

- rule: SomeAction if condition is met
  condition:
    - slot_was_set: 
      - condition_is_met: True
  steps: 
  - action: utter_thank
  - action: utter_next
  - action: action_SomeAction

- rule: Conversation is done if condition is not met
  condition: 
    - slot_was_set: 
      - condition_is_met: False
  steps: 
  - action: utter_thank
  - action: utter_done

I’m getting this InvalidRule error after validating when training:

the prediction of the action ‘utter_done’ in story ‘Some Path’ is contradicting with rule(s) ‘SomeAction if condition is met’ which predicted action ‘utter_next’.

Both sets of steps are included in different parts in ‘Some Path’ where I want to perform certain actions based on whether or not this condition is met. I guess one solution would be to create another slot with a different name to set to False. Am I missing something though? Shouldn’t there be no contradiction since the conditions are exact opposites?

Hi @snek, if you’re still facing this, could you try with the problematic story removed? Could you also share what that story looks like? Is your slot defined as type bool and with influence_conversation not set or set to false? I’m asking all these questions because I managed to successfully train a simple bot with two rules like those you’ve shared (using Rasa 2.2).