When the "{DICTATION}" token is used with any options, it inserts a trailing "space" character, so the text is no longer "ceasefire" but "ceasefire ", which is why the loop keeps going.
The documentation does state
SPACEX - Replace the, 'X' with an integer number, and that many extra spaces will be
placed at the end of each phrase. The default is one space.
I was unaware of this, erm, feature, myself.
You can override the default thusly:
{DICTATION:LOWERCASE:SPACE0:LATEST}
This will stop the space from being inserted.
As an aside, do make sure you place a "Stop Dictation Mode" action at the end of your command, or it will remain active when it's done executing.