The agent adds input validation at the top: if `amount <= 0`, throw immediately.
There used to be a retry around the upstream call that swallowed a transient 400 and retried with a default. The new check throws before the retry loop.
One-line guard, removed a recovery path.