Группы повестки дня работают как стек. Когда вы устанавливаете фокус на данную группу повестки дня, эта группа помещается на вершину стека. Когда механизм пытается запустить следующую активацию, и в данной группе больше нет активаций, эта группа удаляется с вершины стека, и группа под ней снова получает фокус.
Таким образом, это выглядит так (main - это группа по умолчанию, которая всегда присутствует):
* STACK: [MAIN, ag1]
Hello Word fires and activates both "GoodBye" rules
GoodBye fires, activates both "Hello World" rules and sets the focus to "ag2"
* STACK: [MAIN, ag1, ag2]
Hellow World 2 fires, cancels the "Hello World 1" rule and activates both "GoodBye" rules
GoodBye 2 fires because ag2 has the focus
* There are no more activations in ag2 to fire, so ag2 is removed from the stack
* STACK: [MAIN, ag1]
* The "GoodBye" rule is still active in ag1, so it fires
GoodBye fires, activates both "Hello World" rules and sets the focus to "ag2"
* STACK: [MAIN, ag1, ag2]
Hellow World 2 fires, cancels the "Hello World 1" rule and activates both "GoodBye" rules
...
И цикл повторяется.
Такое поведение очень легко увидеть, если вы используете журнал аудита в Eclipse IDE.
Надеюсь, это поможет.