Studio · Full-screen workspace

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.

Open it any time — say "open Dashboards" or click the Open chip — or jump to a specific board. Cody and Joy build and extend dashboards for you; a one-off chart can also render right in the chat when you don't want to pin it.

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.

Try saying
build me a dashboard with checkout latency and error rate add a tile tracking our monthly cloud spend open Dashboards

Tile types & sizes#

Tiles come in a handful of shapes, each suited to a kind of answer:

chart · bars/pie stats · key numbers line · over time table · rows note · text

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:

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.

Local tiles refresh for free. Re-deriving a local-metric tile reads this machine's stores and spends no model tokens — so an always-on ops board of local metrics costs nothing to keep live.

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:

GroupWhat it charts
CostSpend by agent, window totals (calls/tokens/spend), budget vs spend.
MemoryMemories by category, open-vs-done totals, upcoming & overdue items, likely-duplicate clusters.
WorkProjects by status, interview pipeline and verdicts, open reviews, staffing plans on file.
BriefsMorning-Brief severity trend, items per day, recent briefs.
InboxUnread mail and background jobs at a glance.
GraphKnowledge-graph size, nodes by type, connections by relationship kind.
PresenceThe assistant's live inner drives, and the most-charged nodes on its mind.
TrendsSpend, memory, projects and graph growth recorded over time.
Try saying
show my memory by category and open vs done put spend-by-agent on a dashboard chart the interview pipeline

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.

Try saying
pin p95 checkout latency to my ops dashboard add error rate for the payments service as a tile

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.

Try saying
show my spend over the last 30 days how has my memory grown this quarter?

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.

Try saying
what dashboards do I have? just show me the chart, don't pin it