fix(search): expose hasMore so pagination can actually terminate
The search cascade only collects up to its window (offset + limit), so the API's `total` is a moving target — it reads 50, then 100, then 150 as you page. The web client compared loaded-count against it to decide whether to show "Load more", which could both hide the button while hundreds of matches remained and show it past the end. The command now reports `hasMore` (window filled ⇒ more likely exist; short window ⇒ exhausted), the projection allowlists it, and the search page drives the button and the "N+ results" status from it. The browse allowlist also gains the groups/year fields from the WWDC year shapes.
G
Gigi committed
58cd4e2c8cd65e7f29f8dc04baa24439c01a7d96
Parent: 4221cb8