Build one SigDb bundle. tier: 'current' keeps only each package's latest version (small,
fast to load); tier: 'full' keeps every version. topN + shard further restrict to the most-
downloaded packages ('top') or the remainder ('rest'), so a database can be split into several
small shards routed by a SigDbManifest.
Build several shards that all reindex into a single shared string dictionary (stored once, not per shard). All shards' blobs are pooled into one dictionary and frequency-sorted together, so the dictionary loads once and no strings are duplicated across shards. Package metadata is likewise collected once. This is the compact, fast-loading counterpart of calling build per shard.
Accumulates analyzed functions and serializes a SigDb. Feed it with addPackage and addVersion, then build. Pooling (dictionary, per-package blobs, whole-package dedup, frequency reordering) happens in build so the result is deterministic for identical inputs.