Result of a field change computed by the controller: the new field key,
the operator the expression should carry afterwards, and whether the
value must be cleared because the carried operator is invalid for the
new field's operator list. The carry-over policy is fixed - keep
operator and value when the operator is still valid for the new field,
else fall back to the field's default operator and clear the value -
and each write sink applies the plan against its own storage.