Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the return contract (message, phase, results, resultsMarkdown), the timeout path, the continuation pattern, and degraded-run behavior, which is more than enough given an output schema already exists. An agent has everything needed to call and re-call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.