A category bucket: a label plus a predicate that decides which items fall
into it. The predicate keeps the model content-agnostic - the same directive
buckets by letter range, date band, price tier, or any other partition the
consumer expresses, without the brain knowing what it is bucketing.