ObservabilityPage.tsx was refactored into service-tabs/; update removal criteria to name real targets and whitelist the Dashboard.test fixture shortcut-label collision.
Drop Grafana as chart middleman; query Prometheus directly via /api/v1/query_range. Rebrand GrafanaChartWidget -> PrometheusChartWidget, add gauge + mean widget kinds, remove Grafana surface, rewrite stale thin-dashboard rule in config.yaml. 27 acceptance requirements (SC-101..127).