Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with annotations covering mutability, idempotency, and destructiveness, the description is largely complete: an agent knows what the tool does, when to use it, and that a snapshot is taken. A small gap is the lack of guidance on edge cases such as calling redo when there is no undo history or after the redo stack has been consumed, but this is not necessary for basic correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.