I really think you nailed all the discussion points except for one: identity verification and authorization.
On thing domain named have is a registered user who you can ask if they've authorized libraries to be published in their domain. It gives you a gateway to control who publishes your library and prevent bootleg instances.
In practice, I don't really think anyone uses that aspect, but it's a nice ivory tower we can point at and say "we trust these things".
Personally I'd much rather use PGP identitities and let people authorize others through key signing. That's what the whole system was designed to do, not just encrypt and send, but verify identity and authorization.
I think we've had these talks before. I'd love for adept to have seamless and painless security built in, but I'm not sure that's ever possible with security. However, its an aspect to consider if we want to dump artifact ids.
Well, for pgp, it's not terribly hard to roll our own flows for keys. Bouncy Castle is a surprisingly powerful library.
I don't think just signing commits is enough. That tells you who changed metadata, but not fine grained "should they be able to change that metadata".
I do think, when posting metadata, having a public key which represents the authority to publish. You can then sign other peoples keys with metadata (like adept-deployer), and we can use this to validate if a key is authorized.
Maybe after some coffee I'll have better ideas on flow, but most of them revolve around the idea that we have a key associated with a repo, and that key signs humans keys to grant access, in an automated fashion. On any given machine, the humans key is used to sign everything, and we have some mechanism to ask for approval for that key to publish somewhere remote.
I even think the tool should have built in pgp support and not rely on gpg or existing keys. Mostly because some aspects of PGP remain unimplemented in gpg, and I'm not sure we want their trust model.