Dashboards
The Dashboards studio is where live metric tiles and charts live — grids you compose to watch what matters. Every tile is a living binding, not a screenshot: it remembers its source and re-derives itself on demand, so a dashboard you build once keeps showing current numbers without you asking again. Local metrics refresh for free; connect Chronosphere and production charts sit right alongside them.
You describe the tile; the studio keeps it alive. Ask for a chart of your spend, your memory growth, or a service's p95 latency, and it's added as a tile that's populated the moment it lands and refreshes itself later — on open, on an interval, or when you tap refresh. You never re-run a tool to "update" a tile; the binding does the work.
▪ Living tiles
Each tile re-derives from its source on demand — build once, stays current.
▪ Free local metrics
Cost, memory, projects, the knowledge graph — read from this machine, no cost.
▪ Production charts
Chronosphere PromQL tiles for latency, error rate and throughput over time.
▪ Trends that grow
Scalar metrics are snapshotted daily, so a single number becomes a trend line.
What it is#
A dashboard is a grid of tiles. What makes it more than a static report is that each tile can carry a source binding — a description of where its data comes from — plus the freshness data the app keeps up to date. So the studio isn't a place you paste numbers; it's a place you assemble questions ("how's spend trending", "how many open reviews", "what's checkout latency doing") and let each one answer itself whenever you look.
How one gets built#
You build a dashboard by asking. Tell Sage (or Cody/Joy) what you want to see and a tile is created with the right binding, populated immediately. Ask for several and you get a board. Existing boards are reused rather than duplicated, so "add spend to my ops dashboard" extends the one you already have.
Tile types & sizes#
Tiles come in a handful of shapes, each suited to a kind of answer:
And in four sizes — sm, md, lg, and full — so a board can mix a row of small stat tiles with a wide trend line. Each metric has a sensible default type and size, so you rarely have to specify; you just say what you want to see.
Live sources#
A living tile binds to one of two source kinds:
- Local metric — a key from the built-in catalog (plus optional params like "top 8" or "last 30 days"). It reads only this machine's own stores, so it's private and costs nothing to refresh.
- Chronosphere — a PromQL query with a time window and unit, reshaped into a line chart. This is the same production-metrics pipeline Cody uses, pinned as a tile.
A tile also records where it came from — a chat request, the metric catalog, or an agent — so the board knows the provenance of everything on it.
Staying fresh#
Because a tile holds a binding rather than a snapshot, it re-derives on demand — and you choose when. A tile can refresh manually (you tap it), on open (every time you view the board), or on an interval. Each tile also carries a freshness state — ok, stale, error, or unconfigured — so you can tell at a glance whether a number is current, and whether a Chronosphere tile is waiting on a connection.
The local metric catalog#
The built-in catalog is an allowlist of metrics computed from your own local data — grouped so a board can be assembled from real signals about your work, not guesses:
| Group | What it charts |
|---|---|
| Cost | Spend by agent, window totals (calls/tokens/spend), budget vs spend. |
| Memory | Memories by category, open-vs-done totals, upcoming & overdue items, likely-duplicate clusters. |
| Work | Projects by status, interview pipeline and verdicts, open reviews, staffing plans on file. |
| Briefs | Morning-Brief severity trend, items per day, recent briefs. |
| Inbox | Unread mail and background jobs at a glance. |
| Graph | Knowledge-graph size, nodes by type, connections by relationship kind. |
| Presence | The assistant's live inner drives, and the most-charged nodes on its mind. |
| Trends | Spend, memory, projects and graph growth recorded over time. |
Production metrics#
With Chronosphere connected, a tile can be a live PromQL chart over a time window — request rates, latency percentiles, error rates, saturation — the same discovery-and-query pipeline Cody uses, pinned so it refreshes on the board. If Chronosphere isn't connected, the tile lands in an unconfigured state and tells you what to add rather than showing a wrong number.
Trends & snapshots#
A single number is a moment; a trend is a story. For scalar metrics, the studio keeps an append-only daily snapshot history, so a stat like total spend or total memories grows a trend line over time on its own. That's why "spend over time", "memory growth" and "graph growth" work without you having logged anything — the daily snapshot is doing it in the background.
Managing dashboards#
You can keep several boards and manage them from chat — list what you have, open one, and extend it with more tiles. Because existing boards are reused, you grow a dashboard over time rather than spawning duplicates. And when you just want a number now without keeping it, a one-off chart renders inline in the reply instead of being pinned — the disposable counterpart to a living tile.