I realized that the social portability protocol at the heart of nostr has not been fully defined anywhere. That would be worth writing up.