An undeclared function call is a recoverable refusal
A model calling a function it was not offered gets a refusal it can recover from on its next turn, not a failed turn.
A model calling a function it was not offered gets a refusal it can recover from on its next turn, not a failed turn.