Skip to content

Add activity heatmaps, quota widgets, provider status, and ambient notifications #48

Description

@ekalb81

Outcome

Offer useful at-a-glance activity, limits, and service health beyond the current Today tray totals, while reusing the shared query/quota services and avoiding a parallel dashboard.

Scope

  • Add calendar heatmaps and trend/streak views for tokens, cost, sessions, categories, or productive outcomes with user-selected metric and provider/project scope.
  • Expand the tray/menu into provider-switchable quota/reset/pace summaries and recent alerts.
  • Add platform-appropriate desktop widgets only through a thin cached payload adapter; unsupported platforms retain the tray/dashboard experience.
  • Poll official provider status endpoints only when enabled, with provenance, bounded frequency, backoff, and stale/offline states.
  • Add local notifications for configured budget/quota thresholds, provider incidents, stale data, and transcript-retention risk.
  • Treat achievements/gamification as an optional presentation layer over the same activity facts; do not persist a second usage history.

DRY boundary

  • Heatmaps query project/ledger aggregates; widgets/tray/statusline consume the same cached status payload.
  • Quota forecasts and alert decisions come from the quota service.
  • Provider incident polling is separate from usage/quota credentials and cannot affect accounting.

Acceptance criteria

  • Calendar/timezone/DST behavior is deterministic and matches existing inclusive date semantics.
  • Widget/tray/dashboard numbers reconcile for the same scope and refresh timestamp.
  • Notifications are opt-in, deduplicated, quiet-hour aware, and deep-link to supporting evidence.
  • Status outages never rewrite usage, pricing, or quota history.
  • Platform-specific adapters fail independently without making the main app unavailable.

Dependency and ordering

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions