Error message
In the message, %s marks a value that the engine fills in when it raises the error.
The story
A codec builtin in your script was handed the wrong kind of value. Let's look at what that means. Codec builtins, like json print, jwt sign, or the hmac family, each expect a particular kind of input. Jwt sign wants its claims as a map, a set of labeled values. Json parse wants text that holds JSON, not a collection that is already parsed. If you pass the wrong kind, the call is refused, naming the builtin and what it wanted. This is a mistake in your script, and rush tells you directly. There is an important difference, though, for data that comes from outside. When json parse, base64 decode, hex decode, jwt verify, or to text receive bad data from the world, they do not refuse. They answer null. The reason is that a client can never be allowed to kill your script, since anyone can send garbage. So the rule is: wrong kind from your code is an error, bad bytes from outside is null. Read the second slot, convert your value to the kind it asked for, and run again.
Text from the Rush engine's error catalogue.
