The earliest digest format specified a checksum but not a size. See for example here: https://gitweb.gentoo.org/archive/repo/gentoo-2.git/tree/sys-apps/portage/files/digest-portage-1.6.2?id=0179f505e19b8ccff82d36f240da78f63c0089b7 The current format as specified in GLEP 74 does not define any way how such entries could be converted to a modern Manifest. I suggest allowing a special tag (like "unknown") for the <size> entry.
While I sympathize with the effort, I'm not convinced that the format should specifically account for something that hasn't been permitted by the original Manifest format (in use since 2003), that's incompatible with all the existing implementations and that is unlikely to be ever exercised in a conforming implementation.
Feel free to close then.
Do you have a specific use case for fetching and verifying these files, or are you just looking for cold storage? If the latter, then probably "extending" the spec locally would be a reasonable approach. BTW how are you handling the cases when digest for the same distfile changed over time?