# Domain-specific dashboard metrics come from tagged providers

`DashboardController` already serves four role dashboards from 803 lines and fifteen dependencies, so
branching each of them on practice domain would double four code paths and make every clinic pay for
queries only dentists need. Domain metrics instead come from a `DomainMetricProvider` interface resolved
by a tagged-service registry keyed on the practice domain code — the same shape as `TreatmentWorkflow`
in ADR 0005 — and the role endpoints simply attach whatever the provider returns.

## Consequences

Unlike the workflow registry there is no default implementation: a tenant with no domain, or a domain with
no provider, gets `null` and the panel renders no extra section. An empty metrics block is worse than an
absent one.
