The S2S specification doesn’t appear to have an API for discovering what capabilities an Actor’s server supports. As an example, I happen to know that right now Mastodon doesn’t support AP features such as relationships, so I shouldn’t offer my users an option to use those features with actors running on Mastodon. If I did, the experience for my user would be confusing (“I sent Bob an Offer
activity (friend request), but Bob never responded,” when Mastodon never presented Bob with the activity).
How can I as a developer (on behalf of my users), know what features are supported for a given Actor? Manually maintaining a table of (Server, Version) => [Feature] seems inadequate, but also seems like the only option available to me right now.
How is service interoperability supposed to work in this model?