feat: add per-model-family pool cards to dashboard overview
The overview's pool cards aggregate only the account-wide five-hour and seven-day windows — the per-model-family weekly caps that Anthropic reports in limits[] as kind=weekly_scoped (e.g. a "Fable" cap) are invisible there, although routing already overflows between accounts per family, so the accumulated family headroom of the whole pool cannot be seen anywhere. With several accounts sharing such a scoped cap, each account's own page shows its own percentage, but the pooled view (how many accounts are exhausted for that family, the pooled average, the earliest reset) had to be assembled by hand. The overview now renders one additional pool card per family discovered in the accounts' weekly_scoped limits: computeScopedPoolUsage classifies each account carrying the family's entry with the same exclusion semantics as the existing pools (paused/rate-limited/token-expired and account-wide 5h/7d exhaustion disqualify too; scoped percent >= 100 becomes the new family_exhausted reason), and the aggregation tail of computePoolUsage — extracted as finalizePoolResult, behavior-preserving for the existing cards — yields both averages (including and excluding exhausted accounts), worst offender, earliest reset and the seven-day at-risk projection. Accounts without the family's entry are not part of that pool; display names are trimmed on both discovery and matching so a padded name still lands in its own pool. Averages stay unweighted (no plan weight) — a deliberate v1 limit.
M
Matthias Breddin committed
9f38949d89ea2b2c6c1c0ecb375746529cadeea4
Parent: d2e9b53