One tag's share of the whole matching corpus.
Keyed by `(workspace, tag)`, because a TagId belongs to one workspace's table and the tags array is per table too. A multi-workspace query gets a group per table rather than one merged heading.
The id is the one a live table can name. A tag merged into another re-points no node ([ADR-176]), so nodes go on carrying the merged-away id; the store folds those counts into the surviving tag before answering, so a merge shows as one group rather than splitting into a named half and a nameless one. The consequence worth knowing: the id here is not necessarily an id any row's koru.tag value spells.
[ADR-176]: ../../../docs/decisions/ADR-176-200.md#adr-176-consenton--telemetry-consent-defaults-on-and-a-discoverable-opt-out-is-what-buys-it
