We haven't written the spec yet; it's still in preparation.
I want to emphasize one point: apart from adding the functionality to update the recipient's address using the Signal protocol, we have almost 100% reused libsignal without modifications. Although Nostr and Signal use different cryptographic suites, as long as we treat the Nostr public key as an ID (serving the role that a phone number does in the Signal app), the Signal protocol will only be responsible for encrypting the message, so there is no need to unify the cryptographic suites of the two.
The Signal app only uses the Signal protocol for message encryption.
The spec we are going to write will be divided into two parts: the Signal protocol for encrypting messages and the Signal protocol for updating the recipient's address to protect metadata privacy.