A relay rule of the following form fails to operate when its data is invalidated -
This is because the relay parser is geared up to expect EITHER relays with data dependencies in their transforms, OR a source entry, not both. The relay machinery embodies this assumption in the crazy pathway which updates a relay document rule with a "newValue" of "undefined" - currently at DataBinding.js line 506:
At the very least we need to signal that writing such transforms is an error. They fail to operate since an source value of "undefined" when operating the transform culls it out. I recall that a hack we have tended to use is to manually apply an input value of "true" but obviously this is completely unsatisfactory - especially in the current case where we actually want the input value explicitly.