Object Spreads In Object Scope
In the scope of an object type, the only valid object type fragment spread is one that applies to the same type that is in scope.
For example
fragment dogFragment on Dog {
... on Dog {
barkVolume
}
}
and the following is invalid
fragment catInDogFragmentInvalid on Dog {
... on Cat {
meowVolume
}
}