User GitLab Credits Dashboard - Engineering work behind a FF
## Summary Engineering work to build the **self-scoped GitLab Credits usage view** for individual users, behind the feature flag `user_gitlab_credits_dashboard`. Reuses the existing GitLab Credits dashboard data pipeline and UI components, scoped server-side to the current user, so any human group member (any role, including Guest) can see their own credit consumption within a top-level group — without Owner/Admin permissions. **Parent epic:** End-user view of GitLab Credit Consumption (&21595) **Source issue:** gitlab-org/gitlab#604722 ## Scope - **.com only** (SaaS). No Self-Managed/Dedicated. - **Consumption-only.** The used/limit meter is deferred pending the spike gitlab-org/gitlab#605062. - Everything behind the `user_gitlab_credits_dashboard` feature flag. ## Approach - Add a per-user daily usage series in CustomersDot (dependency, deploy first). - New self-scoped GraphQL field (`selfCreditsUsage`) hard-clamped to `current_user.id`, membership-gated (not Owner-gated), bypassing the `display_gitlab_credits_user_data` 404 guard. - New Vue dashboard under `usage_quotas/user_credits_dashboard/`, reusing chart/filter components from `wallet_agnostic_credits_dashboard`. - Personal entry point via `Profiles::GitlabCreditsDashboardController`. ## Issue breakdown Small, incremental MRs. Backend/data first, then component-per-MR frontend, then entry point. ### Backend / data 1. CustomersDot: per-user `dailyUsage` field 2. GitLab: CDot client per-user daily usage method 3. GitLab: `selfCreditsUsage` GraphQL resolver + type + backend model ### Frontend (component-per-MR) 4. App shell + GraphQL wiring 5. Date range + product filters 6. Billing-period headline stat 7. Self usage cards (3 cards) 8. Credit consumption chart 9. Zero state 10. Blocked / at-or-over-limit state ### Entry point 11. `Profiles::GitlabCreditsDashboardController` + route + view 12. Personal menu entry
epic