Ask the Grid
Live · 4 markets

An analyst that can touch the grid.

Ask a market question in plain English. The agent reads across the full catalog to answer it — for right now, for what already happened, or for what's forecast next — moves the map to what it finds, and already knows what you're looking at, so a follow-up doesn't have to repeat the setup.

15 typed tools, one active market per turn, and evidence rules enforced in code rather than asserted in prose.

A sourced Ask the Grid answer beside the ERCOT map
A sourced answer, with the public record attachedAsk the Grid

Source-bound

Every consequential answer arrives as an answer package, not a sentence you have to trust — the number travels with the evidence that produced it.

Nothing is modeled in silently. Every figure resolves back to the dataset it was read from, the interval it covers, and the arithmetic that produced it.

What ships with every answer

01Dataset

The exact ISO publication or table the figure was read from.

02Timestamp

The as-of interval — which minute of the market this reflects.

03Calculation path

The tools called and the arithmetic that produced the number.

04Evidence class

Whether the figure is observed, forecast, cleared day-ahead, reference, or mixed.

A tool-using market analyst, not just a chatbot.

Ask in plain English. The agent plans, calls typed grid tools, runs the calculation, and hands back an answer that can move the product to its own evidence.

Active market

ERCOT · CAISO · NYISO · PJM

One is active per turn. Every product-data call the agent makes is held inside it, so an answer does not quietly borrow another market's numbers.

01

Ask the market, not the menu

Name a time, place, asset, fuel, constraint, or event. The agent picks the datasets and tools required — no query builder, no schema to learn.

02

It calls real tools

Catalog search, time-series and geospatial queries, event lookup, derived calculations, and charts run against live ISO data — not a summary of scraped text.

03

Keep the analytical state

The active market, map selection, time window, and prior work stay attached, so a follow-up sharpens the thread instead of restarting it.

04

Every number carries its source

Answers arrive with the dataset, timestamp, and calculation path, and can open the originating public record for a check.

05

From answer to the surface

An answer can select the node, move the timeline, draw the chart, and hand the live state to the map or radar.

The shape of a question.

An evidence loop, not a question router. The agent forms the smallest plan that answers the whole job, runs it, reads the results, and adapts when the evidence disagrees with the plan.

  1. 01

    Scope

    server-owned

    The server stamps one active market on every turn — ERCOT, CAISO, NYISO, or PJM — and holds every product-data call inside it. Ask for another market's current metric and the answer is to switch grids, not a cross-market guess.

  2. 02

    Discovery

    catalog search

    The question goes in whole, intent intact. What comes back is a short list of the datasets that actually bear on it, each labelled by how directly it applies — so a rough substitute is never counted as equal to a precise match.

  3. 03

    Grounding

    schema check

    Before anything is queried, the agent checks what a dataset's columns and values actually look like — so a filter is written against real identifiers, not a guessed spelling.

  4. 04

    Query

    bounded read

    The agent queries only the datasets it identified, read-only, held inside the active market — it cannot wander into a different grid's numbers or write anything.

  5. 05

    Arithmetic

    computed, not guessed

    Math runs over the actual retrieved numbers, not values re-typed from memory — a total is a real sum, and mixing incompatible measures or markets is refused outright.

  6. 06

    Answer

    answer contract

    Conclusion or value first, with the entity, the local timestamp, and the freshness; then the evidence and what it implies. Where the data itself has a stated boundary, the answer stops there instead of filling the gap.

The toolbelt.

15tools the agent can call inside a turn, grouped by what they're for.

Evidence

The path every data answer takes — the four steps above, as callable tools.

  • Find the right dataset
  • Check its real shape
  • Query it, read-only
  • Do the arithmetic

Grid objects

Typed lookups for things on the grid — not market values.

  • Zones, plants, nodes, substations, lines
  • Notices, watches, and outages
  • A published profile for one entity
  • First-pass context around a point

Public record

Public sources and public-entity display — only web search returns citable evidence.

  • Current public sources, each with a citation
  • A display card for a known company

The surface

How an answer moves the product it was asked from.

  • Draw a chart from retrieved data
  • Move the map to a place
  • Select plants or zones
  • Turn map layers on and off
  • Move the time scrubber

These are the agent's own tools, called inside a turn — they are not an API. The MCP server is a separate surface with its own names: search_data, describe_data, query_data, plus grid-asset, live-status, and asset-profile tools, for pointing your own client at the same catalog. See the MCP surface.

What travels with the number.

Attribution is not a formatting habit at the end of the answer. It is attached to the result before the model reads it, and the model is held to it.

Dataset contract
Each SQL result names the dataset behind it, its grain, its evidence class — observed, forecast, cleared day-ahead, reference, or mixed — and how far its causal evidence goes: none, component, constraint, or attribution.
Two clocks
Timestamp columns return as raw UTC and as an answer-ready market-local label. The dataset's own event-time column also carries its interval convention — interval beginning at, interval ending at, and where the interval length is registered, the local time it ends.
Revision vintage
A dataset that republishes is collapsed to one canonical row before anything is aggregated, because a naive average across vintages double-counts. A historical forecast comparison may use only vintages published no later than the target.
Sign and direction
Each column-minus-column difference the query aliases comes back with its meaning stated. For actual minus forecast, negative means the actual came in below the forecast and the forecast overpredicted.
Rows ahead of the clock
Several tables legitimately carry rows past the current hour. A result whose timestamps run into the future is flagged, so a forecast row is never handed back as a current reading.
What zero rows mean
An empty result is evidence about that exact filter and window. Only a dataset whose contract declares an empty result authoritative can be read as none reported.
Outside evidence stays outside
A web search is public evidence, not product data. Every result exposes a citation URL, and a supporting URL is copied into the answer that used it.

Watch it work.

Two real turns against live ERCOT data — nothing staged, nothing mocked. The step counts shown are the agent's own.

Ask the Grid agent panel with its tool-call trace expanded, mid-answer against the live ERCOT map
Working, with the tool trace openAsk the Grid
Ask the Grid agent answer comparing current and morning ERCOT system-wide load, with figures and a tool-call trace
A sourced, worked answerAsk the Grid