{
  "dashboard": {
    "title": "T Space — System Health",
    "uid": "tspace-health-v1",
    "tags": ["t-space", "sovereign", "self-host"],
    "timezone": "browser",
    "schemaVersion": 39,
    "refresh": "10s",
    "panels": [
      {
        "id": 1,
        "title": "CPU usage",
        "type": "timeseries",
        "datasource": "prometheus",
        "targets": [
          { "expr": "100 - (avg(rate(node_cpu_seconds_total{mode=\"idle\"}[1m])) * 100)" }
        ]
      },
      {
        "id": 2,
        "title": "RAM usage",
        "type": "timeseries",
        "datasource": "prometheus",
        "targets": [
          { "expr": "(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100" }
        ]
      },
      {
        "id": 3,
        "title": "Active sessions (Identity)",
        "type": "stat",
        "datasource": "prometheus",
        "targets": [{ "expr": "ts_identity_active_sessions" }]
      },
      {
        "id": 4,
        "title": "Alerts",
        "type": "stat",
        "datasource": "prometheus",
        "targets": [{ "expr": "ALERTS{alertstate=\"firing\"}" }]
      },
      {
        "id": 5,
        "title": "Identity OIDC requests / sec",
        "type": "timeseries",
        "datasource": "prometheus",
        "targets": [{ "expr": "rate(ts_identity_oidc_requests_total[1m])" }]
      },
      {
        "id": 6,
        "title": "CRM events / sec",
        "type": "timeseries",
        "datasource": "prometheus",
        "targets": [{ "expr": "rate(ts_crm_events_total[1m])" }]
      },
      {
        "id": 7,
        "title": "Warehouse stock writes / sec",
        "type": "timeseries",
        "datasource": "prometheus",
        "targets": [{ "expr": "rate(ts_wh_stock_writes_total[1m])" }]
      },
      {
        "id": 8,
        "title": "Mail queue depth",
        "type": "stat",
        "datasource": "prometheus",
        "targets": [{ "expr": "ts_mail_queue_depth" }]
      },
      {
        "id": 9,
        "title": "DB connections (Postgres)",
        "type": "timeseries",
        "datasource": "prometheus",
        "targets": [{ "expr": "pg_stat_activity_count" }]
      }
    ]
  },
  "alerts": [
    { "name": "cpu-high",       "expr": "node_cpu_seconds_total > 0.85", "severity": "warning" },
    { "name": "disk-low",       "expr": "node_filesystem_avail_bytes / node_filesystem_size_bytes < 0.1", "severity": "critical" },
    { "name": "identity-down",  "expr": "up{job=\"ts-identity\"} == 0",  "severity": "critical" },
    { "name": "mail-queue-up",  "expr": "ts_mail_queue_depth > 500",     "severity": "warning" }
  ],
  "_notice": "Generated sample. Live binary ships a full dashboard JSON with all 9 services pre-wired."
}
