To be honest, I don't understand the
"encrypted roster" discussion.
Even if the server does not see the roster at all, it is able to fully infer
which jids are part of a user's "roster"
Absolutely. For most clients/apps developed as they are today this is not
useful and would not be used. But if you were making a specially handled
client that eg did not send or request presence from anyone, did sealed
sender / sealed recipient with a TBD onion routing XEP, and other things
then this could be a useful building block to still allow syncing contacts
between multiple such apps instead of having them just local.
We may be going cart-before-the-horse here but OTOH having a building block
isn't bad.