I changed FEP-ef61 representations to use resolver URLs instead of DID URLs. And my resolver now can resolve actor IDs:

https://mitra.social/.well-known/apresolver/did:ap:key:z6MkjtdL1hhAtJDRTti4JZtjGVkMiqbrQWhLQjK8wV4neCvS/actor

The major downside of resolver-URL-as-ID is that existing actors can't be easily upgraded because of ID change, and migration via Move activity will be required. It is a one-time migration, and your actor will be forever free from the server of origin, so maybe it's worth it.

Another thing to note is that inbox is distributed too (its path is relative to DID-based actor ID). Initially I thought that clients will use resolver to get server-local HTTPS URL of an inbox (see section Dereferencing DID URLs, paragraph about the Link header). But now I'm wondering: why not make POST requests directly to the resolver?

Instead of being read-only, it can be read-write. So it's not really a resolver anymore, but maybe a gateway

#fep_ef61