It should be possible for clones to learn about how to contact each other without remotes needing to always be explicitly set up. Say that .git-annex/remote.log is maintained by git-annex to contain:

UUID hostname URI

The URI comes from configured remotes and maybe from file://$(pwd), or even ssh://$(hostname -f) for the current repo. This format will merge without conflicts or data loss.

Then when content is belived to be in a UUID, and no configured remote has it, the remote.log can be consulted and URIs that look likely tried. (file:// ones if the hostname is the same (or maybe always -- a removable drive might tend to be mounted at the same location on different hosts), otherwise ssh:// ones.)

Question: When should git-annex update the remote.log? (If not just on init.) Whenever it reads in a repo's remotes?