Arjan,
indeed I think that prescanning and including an index in META-INF would be an efficient implementation. It's a big pity that this feature was not implemented in java 9 with the original modules, as such an index could have been required from day 1 and all tools that create modules would create the index. However, that horse has already bolted and there are now modules in the wild that do not have such an index. So any solution is going to need to handle those module - perhaps lazily generating an index if there is not one that is not baked into the module (or jar - hey let's fix it for non modules as well).
But I think discussing specific implementations is a bit premature as I think there first needs to be some agreement for a common effort and a common API. If all the eventual outcome was just a document that described how modules/update/classpaths/jlinks/multi-releases are going to be resolved - then that would be a big step, as the java module system really lacks documentation and specification. If we can agree on a resolution algorithm, then we can perhaps agree on an API. Once we have an API and a spec, I don't really care if there is just one implementation or many. Implementations might be based on jandex or asm or be part of java 10.
cheers