the Package.resolved
is not the problem, the problem is the symbolgraph models themselves.
the example that you gave is not representative of the use case i am thinking of, because you only have a handful of versions and branches, which would not strain the implementation:
Logging
(latest)Logging
(1.3.0)Logging
(main/latest)
this can be modeled in the way you propose without difficulty. however a more-mature project might have many branches (generally, a master
branch + 2 active “release” branches), and each branch will ideally have snapshots taken daily, possibly even hourly.
the amount of snapshots we are talking about (for a single module) is on the order of 102 to 104. we typically talk about the sizes of symbolgraphs in terms of tens of MBs, which is what i mean when i say “scaling”.