# Internal Schema

Normalized discovery output fields:

## clinic_context

- `base_url`
- `org_id`
- `cluster_id`
- `from`
- `to`
- `from_ms`
- `to_ms`
- `source_link`

## dashboard

- `uid`
- `title`
- `url`
- `slug`

## variable_context

Variables resolved from:
- Clinic link query
- Grafana dashboard URL query (`var-*`)
- direct context defaults such as `tidb_cluster` and `org`

Keep unresolved variables as:

```json
{
  "name": "k8s_cluster",
  "value": null,
  "source": "unresolved"
}
```

## templating

Per variable keep:
- `name`
- `type`
- `label`
- `query`
- `current`

## panels

Per panel keep:
- `id`
- `title`
- `type`
- `description`
- `targets`

Per target keep:
- `ref_id`
- `expr`
- `legend_format`
- `step`
- `datasource`

