The :sign action's change: applies the resource's who_from_actor (an
actor present → who forced from it), validates the polarity, and errors
a :reject with a blank reason — a rejection asserts the data is WRONG,
and a bare "no" leaves whoever must act with nothing to fix and an auditor
with an unexplained refusal. (:withdraw — "I no longer vouch" — asserts
nothing about the data, so its reason stays optional.)