I'm happy with some warnings when you know there could be compatibility issues, but also a bit more sensitivity when it comes to fixing issues - waiting a month to revert something that breaks federation in a big way isn't a suitable outcome. I'm not happy adding a salmon declaration to our XRD to keep it working because we don't support salmon. (And neither does Diaspora). I'm not happy adding a url alias because we removed lrdd some years ago (and Diaspora never implemented it). Both are a huge support burden for our over-stretched devs, as is Diaspora itself, but our members seem to want Diaspora; even though half of the useful features they insist on having won't work with Diaspora. I need to figure out how to make post/comment edits and nomadic identity work with Diaspora or we might have to disconnect - we can't support our core features across that platform and this is a HUGE support burden for us. So I understand that trying to maintain compatibility with "reverse engineered Diaspora" implementations on other platforms is a support burden for you.
If the API was complete we could just use that and be done with it. But in the end we have to respond to our members and fix their problems. Whether you like it or not, we and many of our members are all members of the Diaspora community in some degree, just as you are members of our community. We need to work together to figure out how to lower the support burdens for everybody. Theoretically all you need to do is maintain a consistent protocol for us to be happy and attempt to provide backward compatibility as you move forward. As we've discovered that isn't always as easy as it sounds.
On our side we have to find ways to support stuff that you haven't even thought of yet and hence don't have any support for. We have to somehow turn all of these things into something that maps to the Diaspora protocol - or our members complain. It's daunting. I've got no idea how to support magic-auth or nomadic identity on Diaspora and I've been struggling with trying to find a way for a few years now. I also don't know how to make event participation work from your side. Maybe we could parse keywords in comments. We did get forums working across platforms (at least public forums). And polls are easy. I'm mostly waiting for somebody to want those bad enough to do the work, as I'm tired of doing it all.
I sort of question the need to go back now - four years later and fix issues with the XRD hacks Diaspora initially put in place. (I mentioned these to Ilya long ago and he was aware of and trying to figure out what to do about them before his unfortunate demise). XRD has been obsolete for three years and most everybody has moved away from it. I'd rather spend the time converting our Diaspora stuff to rfc7033 so we won't have to waste resources with 5 or six different URL fetches for every handle lookup. That and scraping HTML webpages for info. Yuck. Adding unimplemented stuff to or requiring unimplemented stuff in the XRD or moving it to an hcard we have to scrape is really missing the point and just making work for everybody. Nobody uses that stuff anymore. Anyway I'm not being confrontational - just trying to provide my viewpoint so perhaps we can all understand each other; even if some of us don't get along and have deep hatred towards each others' projects. If I had the deep hatred of Diaspora that some think I do, I wouldn't have implemented cross platform federation on three different projects. Frustration? Absolutely. Hatred, no.