{
  "__requires": [
    {
      "id": "grafana",
      "name": "Grafana",
      "type": "grafana",
      "version": "10.0.0"
    },
    {
      "id": "prometheus",
      "name": "Prometheus",
      "type": "datasource",
      "version": "1.0.0"
    },
    {
      "id": "row",
      "name": "Row",
      "type": "panel",
      "version": ""
    },
    {
      "id": "stat",
      "name": "Stat",
      "type": "panel",
      "version": ""
    },
    {
      "id": "timeseries",
      "name": "Time series",
      "type": "panel",
      "version": ""
    },
    {
      "id": "bargauge",
      "name": "Bar gauge",
      "type": "panel",
      "version": ""
    },
    {
      "id": "text",
      "name": "Text",
      "type": "panel",
      "version": ""
    }
  ],
  "annotations": {
    "list": []
  },
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 0,
  "id": null,
  "links": [
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Cost",
      "tooltip": "Open the Cost dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-cost/observme-cost?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Models",
      "tooltip": "Open the Models dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-models/observme-models?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Latency",
      "tooltip": "Open the Latency dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-latency/observme-latency?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Tools",
      "tooltip": "Open the Tools dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-tools/observme-tools?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Agents",
      "tooltip": "Open the Agents dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-agents/observme-agents?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Agent Node Graphs",
      "tooltip": "Open the aggregate Agent Node Graphs dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-agent-node-graphs/observme-agent-node-graphs?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Trace Journey",
      "tooltip": "Open the Trace Journey dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Errors",
      "tooltip": "Open the Errors dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-errors/observme-errors?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Export Health",
      "tooltip": "Open the Export Health dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-export-health/observme-export-health?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "SLO Health",
      "tooltip": "Open the SLO Health dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-slo-health/observme-slo-health?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "Logs and LLM I/O",
      "tooltip": "Open the privacy-safe Logs and LLM I/O dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-logs-llm/observme-logs-llm?${__url_time_range}"
    },
    {
      "icon": "external link",
      "includeVars": true,
      "keepTime": true,
      "targetBlank": false,
      "title": "LLM Conversations",
      "tooltip": "Open the redacted opt-in LLM Conversations dashboard with the current time range.",
      "type": "link",
      "url": "/d/observme-llm-conversations/observme-llm-conversations?${__url_time_range}"
    }
  ],
  "liveNow": false,
  "panels": [
    {
      "collapsed": false,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 0
      },
      "id": 100,
      "panels": [],
      "title": "Health",
      "type": "row"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Selected-range Observability Export health against the canonical 99% objective. This compact landing-page chip intentionally renders no observed workload as healthy idle; open SLO Health to distinguish no-workload scorecard state from measured attainment.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "red",
                "value": null
              },
              {
                "color": "yellow",
                "value": 0.95
              },
              {
                "color": "green",
                "value": 0.99
              }
            ]
          },
          "unit": "percentunit"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 4,
        "w": 4,
        "x": 0,
        "y": 1
      },
      "id": 1,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Export Health",
          "url": "/d/observme-export-health/observme-export-health?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open SLO Health",
          "url": "/d/observme-slo-health/observme-slo-health?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "clamp_max(clamp_min(1 - ((sum(rate(observme_telemetry_dropped_total[$__range])) or vector(0)) / clamp_min((sum(rate(observme_events_observed_total[$__range])) or vector(0)), 1e-9)), 0), 1)",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Export health",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Selected-range Agent Lineage health against the canonical 99% objective. The failure numerator uses lineage-missing spawn failures, orphan agents, and trace-context propagation failures; no spawns intentionally render as healthy idle on this landing page.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "red",
                "value": null
              },
              {
                "color": "yellow",
                "value": 0.95
              },
              {
                "color": "green",
                "value": 0.99
              }
            ]
          },
          "unit": "percentunit"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 4,
        "w": 4,
        "x": 4,
        "y": 1
      },
      "id": 2,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Agents",
          "url": "/d/observme-agents/observme-agents?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open SLO Health",
          "url": "/d/observme-slo-health/observme-slo-health?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "clamp_min(1 - (((sum(rate(observme_subagent_spawn_failures_total[$__range])) or vector(0)) + (sum(rate(observme_orphan_agents_total[$__range])) or vector(0)) + (sum(rate(observme_trace_context_propagation_failures_total[$__range])) or vector(0))) / clamp_min((sum(rate(observme_subagents_spawned_total[$__range])) or vector(0)), 1e-9)), 0)",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Agent lineage health",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Selected-range Workflow Completion health against the canonical 99% objective. Completed plus explicitly failed terminal workflows are compared with starts; no starts intentionally render as healthy idle on this landing page.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "red",
                "value": null
              },
              {
                "color": "yellow",
                "value": 0.95
              },
              {
                "color": "green",
                "value": 0.99
              }
            ]
          },
          "unit": "percentunit"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 4,
        "w": 4,
        "x": 8,
        "y": 1
      },
      "id": 3,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Errors",
          "url": "/d/observme-errors/observme-errors?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open SLO Health",
          "url": "/d/observme-slo-health/observme-slo-health?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "clamp_max((((sum(increase(observme_workflows_completed_total[$__range])) or vector(0)) + (sum(increase(observme_workflow_errors_total[$__range])) or vector(0))) / clamp_min((sum(increase(observme_workflows_started_total[$__range])) or vector(0)), 1)) + ((sum(increase(observme_workflows_started_total[$__range])) or vector(0)) == bool 0), 1)",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Workflow completion health",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Current cross-domain failure pressure divided by the main workload counters. This is a landing-page index, not a canonical SLO because the failure families have different denominators; 2%/5% are tunable triage assumptions. Zero can mean healthy idle or no failures.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 0.02
              },
              {
                "color": "red",
                "value": 0.05
              }
            ]
          },
          "unit": "percentunit"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 4,
        "w": 4,
        "x": 12,
        "y": 1
      },
      "id": 4,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Errors",
          "url": "/d/observme-errors/observme-errors?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "(((sum(rate(observme_workflow_errors_total[$__rate_interval])) or vector(0)) + (sum(rate(observme_agent_run_errors_total[$__rate_interval])) or vector(0)) + (sum(rate(observme_llm_errors_total[$__rate_interval])) or vector(0)) + (sum(rate(observme_tool_failures_total[$__rate_interval])) or vector(0)) + (sum(rate(observme_handler_errors_total[$__rate_interval])) or vector(0))) / clamp_min(((sum(rate(observme_turns_completed_total[$__rate_interval])) or vector(0)) + (sum(rate(observme_llm_requests_total[$__rate_interval])) or vector(0)) + (sum(rate(observme_tool_calls_total[$__rate_interval])) or vector(0)) + (sum(rate(observme_agent_runs_total[$__rate_interval])) or vector(0))), 1e-9))",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Error pressure",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Estimated LLM cost burn per hour over the selected range. The red 50 USD/h reference matches ObservMeCostSpike; the yellow 10 USD/h early warning is a tunable budget assumption. Grafana's positive $__range_s scalar is used directly in arithmetic.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 10
              },
              {
                "color": "red",
                "value": 50
              }
            ]
          },
          "unit": "currencyUSD"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 4,
        "w": 4,
        "x": 16,
        "y": 1
      },
      "id": 5,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Cost",
          "url": "/d/observme-cost/observme-cost?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "(sum(increase(observme_llm_cost_usd_total[$__range])) or vector(0)) / ($__range_s / 3600)",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Cost burn / hour",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "p95 turn latency as the first user-facing latency check. The 30s/60s thresholds are tunable operational assumptions, not alert defaults. A zero fallback keeps the chip compact during idle ranges but can also indicate absent duration instrumentation; verify Latency volume and Export Health when unexpected.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 30000
              },
              {
                "color": "red",
                "value": 60000
              }
            ]
          },
          "unit": "ms"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 4,
        "w": 4,
        "x": 20,
        "y": 1
      },
      "id": 6,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Latency",
          "url": "/d/observme-latency/observme-latency?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "histogram_quantile(0.95, sum(rate(observme_turn_duration_ms_bucket[$__rate_interval])) by (le)) or vector(0)",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Latency health",
      "type": "stat"
    },
    {
      "collapsed": false,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 5
      },
      "id": 101,
      "panels": [],
      "title": "Workload",
      "type": "row"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Estimated currently active sessions from started minus shutdown counters. This is an estimate and can reset with process restarts; zero can mean healthy idle.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 4,
        "x": 0,
        "y": 6
      },
      "id": 7,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "clamp_min((sum(observme_sessions_started_total) or vector(0)) - (sum(observme_sessions_shutdown_total) or vector(0)), 0)",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "Active sessions estimate",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Completed turns per minute, shown as a compact KPI with sparkline. Zero means no completed turns were observed in the interval and can be healthy idle.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 4,
        "x": 4,
        "y": 6
      },
      "id": 8,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Latency",
          "url": "/d/observme-latency/observme-latency?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "60 * (sum(rate(observme_turns_completed_total[$__rate_interval])) or vector(0))",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "Turns/min",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "LLM requests per minute. Zero means no requests were observed in the interval and can be healthy idle; use Models or Cost for provider/model breakdowns.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 4,
        "x": 8,
        "y": 6
      },
      "id": 9,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Models",
          "url": "/d/observme-models/observme-models?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "60 * (sum(rate(observme_llm_requests_total[$__rate_interval])) or vector(0))",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "LLM requests/min",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Tool calls per minute. Zero means no calls were observed in the interval and can be healthy idle; open Tools for reliability and slow-tool breakdowns.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 4,
        "x": 12,
        "y": 6
      },
      "id": 10,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Tools",
          "url": "/d/observme-tools/observme-tools?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "60 * (sum(rate(observme_tool_calls_total[$__rate_interval])) or vector(0))",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "Tool calls/min",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Subagent spawns per minute across all roles and depths. Zero means no spawns were observed in the interval and can be healthy idle; open Agents or Trace Journey for lineage details.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 4,
        "x": 16,
        "y": 6
      },
      "id": 11,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Agents",
          "url": "/d/observme-agents/observme-agents?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "60 * (sum(rate(observme_subagents_spawned_total[$__rate_interval])) or vector(0))",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "Subagent spawns/min",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Canonical leased-active ObservMe runtimes. Clean shutdown reaches zero after export/scrape propagation; after a crash, SIGKILL, cancelled job, or runner loss, the leased total converges to zero within the default 60-second lease plus one Prometheus scrape even if raw claims stay cached. Zero can also mean healthy idle or a failed-closed lease, so check Export Health. /obs agents reports only current-process child state, not fleet liveness. Red at 100 matches the deployment-tunable ObservMeActiveAgentsStuckHigh threshold; yellow at 50 is an early warning.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 50
              },
              {
                "color": "red",
                "value": 100
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 4,
        "x": 20,
        "y": 6
      },
      "id": 12,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Agents",
          "url": "/d/observme-agents/observme-agents?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(max by (observme_instance_id) ((observme_active_agents > 0) and on (observme_instance_id) ((observme_agent_lease_expires_unixtime_seconds > time()) and (observme_agent_lease_expires_unixtime_seconds <= time() + 305)))) or vector(0)",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "Active agents",
      "type": "stat"
    },
    {
      "collapsed": false,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 11
      },
      "id": 102,
      "panels": [],
      "title": "Cost",
      "type": "row"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Total LLM cost over the selected dashboard range. Open Cost for provider/model attribution and budget details.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 10
              },
              {
                "color": "red",
                "value": 50
              }
            ]
          },
          "unit": "currencyUSD"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 4,
        "x": 0,
        "y": 12
      },
      "id": 13,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Cost",
          "url": "/d/observme-cost/observme-cost?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(increase(observme_llm_cost_usd_total[$__range])) or vector(0)",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Total cost",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Selected-range LLM token mix. Detailed provider/model token, cache, and reasoning analysis belongs in Cost, Models, and Logs and LLM I/O.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 10,
        "x": 4,
        "y": 12
      },
      "id": 14,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Cost",
          "url": "/d/observme-cost/observme-cost?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Models",
          "url": "/d/observme-models/observme-models?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Logs and LLM I/O",
          "url": "/d/observme-logs-llm/observme-logs-llm?${__url_time_range}"
        }
      ],
      "options": {
        "displayMode": "gradient",
        "maxVizHeight": 300,
        "minVizHeight": 16,
        "minVizWidth": 8,
        "namePlacement": "auto",
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showUnfilled": true,
        "sizing": "auto",
        "valueMode": "color"
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(increase(observme_llm_input_tokens_total[$__range])) or vector(0)",
          "instant": true,
          "legendFormat": "input",
          "range": false,
          "refId": "A"
        },
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(increase(observme_llm_output_tokens_total[$__range])) or vector(0)",
          "instant": true,
          "legendFormat": "output",
          "range": false,
          "refId": "B"
        },
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(increase(observme_llm_reasoning_tokens_total[$__range])) or vector(0)",
          "instant": true,
          "legendFormat": "reasoning",
          "range": false,
          "refId": "C"
        },
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(increase(observme_llm_cache_read_tokens_total[$__range])) or vector(0)",
          "instant": true,
          "legendFormat": "cache read",
          "range": false,
          "refId": "D"
        },
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(increase(observme_llm_cache_write_tokens_total[$__range])) or vector(0)",
          "instant": true,
          "legendFormat": "cache write",
          "range": false,
          "refId": "E"
        }
      ],
      "title": "Token mix",
      "type": "bargauge"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Total LLM cost trend without provider/model detail. Open Cost or Models when this sparkline rises unexpectedly.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisBorderShow": false,
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "USD",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 20,
            "gradientMode": "opacity",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "currencyUSD"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 10,
        "x": 14,
        "y": 12
      },
      "id": 15,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Cost",
          "url": "/d/observme-cost/observme-cost?${__url_time_range}"
        }
      ],
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": false
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum(increase(observme_llm_cost_usd_total[$__interval])) or vector(0)",
          "legendFormat": "cost/interval",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "Cost trend",
      "type": "timeseries"
    },
    {
      "collapsed": false,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 19
      },
      "id": 103,
      "panels": [],
      "title": "Latency",
      "type": "row"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "p95 turn latency trend with a compact sparkline. Zero can mean idle or missing duration buckets, so confirm volume in Latency and export liveness when unexpected. The 30s/60s thresholds are tunable assumptions.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 30000
              },
              {
                "color": "red",
                "value": 60000
              }
            ]
          },
          "unit": "ms"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 8,
        "x": 0,
        "y": 20
      },
      "id": 16,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Latency",
          "url": "/d/observme-latency/observme-latency?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "histogram_quantile(0.95, sum(rate(observme_turn_duration_ms_bucket[$__rate_interval])) by (le)) or vector(0)",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "p95 turn latency",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "p95 LLM request latency trend. Zero can mean idle or missing duration buckets; open Latency for volume context and Models for provider/model comparison. The 30s/60s thresholds are tunable assumptions.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 30000
              },
              {
                "color": "red",
                "value": 60000
              }
            ]
          },
          "unit": "ms"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 8,
        "x": 8,
        "y": 20
      },
      "id": 17,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Models",
          "url": "/d/observme-models/observme-models?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Latency",
          "url": "/d/observme-latency/observme-latency?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "histogram_quantile(0.95, sum(rate(observme_llm_request_duration_ms_bucket[$__rate_interval])) by (le)) or vector(0)",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "p95 LLM latency",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "p95 tool-call latency trend. Zero can mean idle or missing duration buckets; open Latency for volume context and Tools for slow or failing tools. The 10s/30s thresholds are tunable assumptions.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "yellow",
                "value": 10000
              },
              {
                "color": "red",
                "value": 30000
              }
            ]
          },
          "unit": "ms"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 8,
        "x": 16,
        "y": 20
      },
      "id": 18,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Tools",
          "url": "/d/observme-tools/observme-tools?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Latency",
          "url": "/d/observme-latency/observme-latency?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "histogram_quantile(0.95, sum(rate(observme_tool_duration_ms_bucket[$__rate_interval])) by (le)) or vector(0)",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "p95 tool latency",
      "type": "stat"
    },
    {
      "collapsed": false,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 25
      },
      "id": 104,
      "panels": [],
      "title": "Agent lineage",
      "type": "row"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Selected-range lineage failures: spawn failures, orphan agents, and trace-context propagation failures. Empty/zero is healthy for the range.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 1
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 0,
        "y": 26
      },
      "id": 19,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Agents",
          "url": "/d/observme-agents/observme-agents?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "(sum(increase(observme_subagent_spawn_failures_total[$__range])) or vector(0)) + (sum(increase(observme_orphan_agents_total[$__range])) or vector(0)) + (sum(increase(observme_trace_context_propagation_failures_total[$__range])) or vector(0))",
          "instant": true,
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Lineage failures",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "p95 agent-tree depth. The red reference at 5 matches the tunable ObservMeExcessiveAgentTreeDepth default. Zero can mean idle or missing tree-depth buckets; use Agents for workload context.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 5
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 6,
        "y": 26
      },
      "id": 20,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Agents",
          "url": "/d/observme-agents/observme-agents?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Agent Node Graphs",
          "url": "/d/observme-agent-node-graphs/observme-agent-node-graphs?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "histogram_quantile(0.95, sum(rate(observme_agent_tree_depth_bucket[$__rate_interval])) by (le)) or vector(0)",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "p95 tree depth",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "p95 fan-out per parent operation. The red reference at 20 matches the tunable ObservMeRunawayAgentFanOut default. Zero can mean idle or missing fan-out buckets; use Agents for workload context.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 20
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 12,
        "y": 26
      },
      "id": 21,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Agents",
          "url": "/d/observme-agents/observme-agents?${__url_time_range}"
        },
        {
          "targetBlank": false,
          "title": "Open Trace Journey",
          "url": "/d/observme-trace-journey/observme-trace-journey?${__url_time_range}"
        }
      ],
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "histogram_quantile(0.95, sum(rate(observme_agent_fanout_count_bucket[$__rate_interval])) by (le)) or vector(0)",
          "range": true,
          "refId": "A"
        }
      ],
      "title": "p95 fan-out",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "description": "Canonical leased-active agents by emitted bounded role and environment. Exact v2 lead, helper, worker, and validator values remain separate from root and the legacy subagent, orchestrator, reviewer, and unknown values. Clean shutdown reaches zero after export/scrape propagation; after an ungraceful exit, leased totals converge to zero within the default 60-second lease plus one Prometheus scrape while raw claims may remain cached. Depth is omitted because active signals do not emit subagent_depth. An unlabeled zero means healthy idle or no qualifying lease when Prometheus is reachable; compare Export Health. /obs agents is current-process child state, not this aggregate fleet view.",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "short"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 6,
        "w": 6,
        "x": 18,
        "y": 26
      },
      "id": 22,
      "links": [
        {
          "targetBlank": false,
          "title": "Open Agents",
          "url": "/d/observme-agents/observme-agents?${__url_time_range}"
        }
      ],
      "options": {
        "displayMode": "gradient",
        "maxVizHeight": 300,
        "minVizHeight": 16,
        "minVizWidth": 8,
        "namePlacement": "auto",
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showUnfilled": true,
        "sizing": "auto",
        "valueMode": "color"
      },
      "pluginVersion": "11.1.0",
      "targets": [
        {
          "datasource": {
            "type": "prometheus",
            "uid": "prometheus"
          },
          "editorMode": "code",
          "expr": "sum by (agent_role, environment) (max by (observme_instance_id, agent_role, environment) ((observme_active_agents > 0) and on (observme_instance_id) ((observme_agent_lease_expires_unixtime_seconds > time()) and (observme_agent_lease_expires_unixtime_seconds <= time() + 305)))) or on() vector(0)",
          "instant": true,
          "legendFormat": "{{agent_role}} / {{environment}}",
          "range": false,
          "refId": "A"
        }
      ],
      "title": "Active agents by role/environment",
      "type": "bargauge"
    },
    {
      "collapsed": false,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 32
      },
      "id": 105,
      "panels": [],
      "title": "Links",
      "type": "row"
    },
    {
      "datasource": null,
      "description": "Operator navigation map. These links intentionally preserve the current Grafana time range.",
      "fieldConfig": {
        "defaults": {},
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 24,
        "x": 0,
        "y": 33
      },
      "id": 23,
      "options": {
        "code": {
          "language": "plaintext",
          "showLineNumbers": false,
          "showMiniMap": false
        },
        "content": "# Drill-down dashboards\n\nUse this overview to decide where to go next, then open the focused dashboard with the same time range:\n\n- [Cost](/d/observme-cost/observme-cost?${__url_time_range}) for spend, burn rate, token mix, and cache context.\n- [Models](/d/observme-models/observme-models?${__url_time_range}) for provider/model request, error, latency, and stop-reason context.\n- [Latency](/d/observme-latency/observme-latency?${__url_time_range}) for percentile trends, volume context, and slow-stage investigation.\n- [Tools](/d/observme-tools/observme-tools?${__url_time_range}) for tool volume, failures, latency, sizes, and offenders.\n- [Agents](/d/observme-agents/observme-agents?${__url_time_range}) for subagent reliability, fan-out, depth, orphan, wait, and join behavior.\n- [Agent Node Graphs](/d/observme-agent-node-graphs/observme-agent-node-graphs?${__url_time_range}) for bounded aggregate topology and health.\n- [Trace Journey](/d/observme-trace-journey/observme-trace-journey?${__url_time_range}) for per-execution metric-to-log-to-trace inspection.\n- [Errors](/d/observme-errors/observme-errors?${__url_time_range}) for error-family pressure and parsed failure context.\n- [Export Health](/d/observme-export-health/observme-export-health?${__url_time_range}) for telemetry liveness, drops, redaction, export failures, and handler health.\n- [SLO Health](/d/observme-slo-health/observme-slo-health?${__url_time_range}) for canonical scorecards, burn rates, and no-workload states.\n- [Logs and LLM I/O](/d/observme-logs-llm/observme-logs-llm?${__url_time_range}) for privacy-safe lifecycle logs and token/size trends.\n- [LLM Conversations](/d/observme-llm-conversations/observme-llm-conversations?${__url_time_range}) for redacted opt-in prompt, response, and thinking timelines.",
        "mode": "markdown"
      },
      "pluginVersion": "11.1.0",
      "title": "Dashboard links",
      "type": "text"
    }
  ],
  "refresh": "30s",
  "schemaVersion": 39,
  "tags": [
    "observme",
    "pi",
    "opentelemetry",
    "overview"
  ],
  "time": {
    "from": "now-6h",
    "to": "now"
  },
  "timezone": "browser",
  "title": "ObservMe Overview",
  "uid": "observme-overview",
  "version": 3,
  "weekStart": ""
}
