Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits on its own. It only states the core action ('set project for session') without mentioning side effects, error handling, persistence, or confirmation. It does not indicate whether it validates the project existence, what happens on invalid input, or whether it returns a value. This is a significant gap for a tool with no structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.