I was suspecting the reason was both types had Generic.names and I see the logic behind the result.
I fully understand that returning empty objects if the fragment expands only some types is spec-compliant, but I feel like this behaviour does not reflect the @cascade’s definition.
With the
@cascadedirective, nodes that don’t have all fields specified in the query are removed.
Is it an intended behaviour and will never be “fixed”, or it might be possible that a postprocess of the data will be added in the GrapQL resolution of the directive?