This causes the #by_uri method to fail to find one of them. In fact at the moment the source overwrites the federation in the URI index. It was probably wrong of me to assume that URIs for entities, federations and source URLs would be unique to each object.
We could make the #by_uri and #[] only work for entities (which would be disappointing) or append a meaningless param to conflicting download URLs to force them to be unique.
Or maybe just remove sources from the #by_uri index - after all they aren't really the "product" that MetaMeta works with, they're just the source of that data.
This causes the #by_uri method to fail to find one of them. In fact at the moment the source overwrites the federation in the URI index. It was probably wrong of me to assume that URIs for entities, federations and source URLs would be unique to each object.
We could make the #by_uri and #[] only work for entities (which would be disappointing) or append a meaningless param to conflicting download URLs to force them to be unique.