Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with five required params, deep nesting, and no output schema, the description leaves too much unsaid: the shape and semantics of patch, the failure behavior on stale expected_rev, and what a successful patch returns. Safety hints are covered by annotations, but the operational contract an agent needs to call this correctly is largely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.