Not when it runs.
Not when it does what’s in the requirements.
Not when it doesn’t break the unit tests.
Not when QA passes it.
But when the client says – “that’s cool.”
Then you know it’s complete, everything else up until that point is simply a beta.