Hard Tech Hackathon, Salt Lake City ยท Torus bounty

Clearlane

A day planner for simulated Torus-style stations on Utah's grid. It reads tomorrow's power prices, fills Pulse, the battery, when power is cheap at midday, sells in the evening rush, and keeps Spin, the flywheel, ready for calls from Rocky Mountain Power.

Presented by Craig Cossairt

Open the presentationThe eight screens shown on stage, running live in your browser. Click Next or press the right arrow. Watch the presentation2:44, the eight screens narrated, with music and captions. Fact sheetOne page, every number with its source. Slides (PDF)The eight presentation screens, for reading at your own pace. For Rocky Mountain PowerOne page for the utility. For a host buildingOne page for the building that hosts a station. The envelope formatTwo pages: the fields and a worked example. Code and datagithub.com/craigcossairt/clearlane

The result in three numbers

2.9xderived

what filling up at midday is worth against an off-peak charging rule, on Oct 27

91%derived

of 179derived backtest days, May 1 to Oct 27, where Clearlane beats the off-peak rule

1%simulated

of Rocky Mountain Power's calls missed in the backtest, against 23%simulated for the off-peak rule

How it works

Public data

CAISO day-ahead prices and forecasts for PacifiCorp East, and EIA hourly grid data. Python fetches them, checks them and saves a snapshot.

Plan the day

A TypeScript optimizer fills Pulse in the midday clear lane, sells into the evening jam and keeps Spin ready, inside the host building's meter limit and a wear budget.

Re-plan on a call

When Rocky Mountain Power calls, Spin answers at once and the planner re-plans the rest of the day around it.

Publish

The envelope: one row per hour for the next day, with System Critical Hours. Every number the presentation shows comes from one numbers file.

The stations, the host building's power use and the calls are simulated Torus-style, built from Torus's published specs. The backtest runs the same planner on real prices from May 1 to Oct 27.

What is real and what is simulated

LabelWhat it covers
realCAISO day-ahead prices and forecasts for PacifiCorp East, six months of price history, EIA hourly CO2
derivedClear lanes and jams, the race, the backtest, the hourly envelope: computed from the real data by code in the repo
simulatedThe station, the host building's power use, and Rocky Mountain Power's calls
torus publishedSpin and Pulse specs and Torus's 2025 event record for Rocky Mountain Power, from Torus's own public pages
assumptionThe reference battery (1 MW, 2 MWh, 88% round trip) and the call length
measuredRe-plan times, timed live on the presenting laptop

Questions judges ask

Is this working software or a concept?

Working software. A Python pipeline pulls real public CAISO prices and forecasts. A TypeScript engine plans the battery's day under the host building's meter limit, Spin's reserve and a wear budget, re-plans after a call, and backtests 179derived real days. The presentation above runs that engine live in your browser. What it cannot do without Torus is drive a live station: that is the pilot we are asking for.

Why does charging at midday matter?

Utah's solar pushes the day-ahead price down at midday and the evening ramp pushes it up. On Oct 27 the price jumped 2.6xderived from the midday low to the 6pm peak. Same battery, same evening sale: charging at midday is worth $58.41derived per MW-day against $20.06derived on an off-peak rule. The off-peak rule is our baseline, not Torus practice.

What happens when Rocky Mountain Power calls?

Spin, the flywheel, answers. Clearlane always keeps Spin's power ready, so a call never has to wait for a price decision. A plan that chases price alone keeps nothing back. In the backtest Clearlane misses 1%simulated of calls, the off-peak rule 23%simulated and a price-only plan 40%simulated. Our call traces are simulated; Torus's own 2025 record shows 359torus published events for Rocky Mountain Power.

A battery that only chases price earns more. Why not do that?

On paper it does: $65.79derived per MW-day on Oct 27. But it wears the battery out at 625derived cycles a year against a budget of 300derived, breaks the host building's meter limit, and misses 40%simulated of Rocky Mountain Power's calls. Clearlane is the plan a host and the utility would allow.

What is the hourly envelope?

One row per hour for the next day: what the station plans to charge or sell, the power Spin keeps ready for calls, and the System Critical Hours, the grid's tightest hours (6derived on Oct 27). It is a format Clearlane proposes, not a filing, and the System Critical Hours rule is our proposal.

The race charges at 1pm to 3pm, but the envelope allows little charging then. Why?

The race shows value at day-ahead prices before any host building's meter limit. The engine's own plan respects the meter and is worth $48.89derived per MW-day, still 2.4xderived the off-peak rule.

Where does AI come in?

AI shows up as the load. Data centers are a big reason Utah's grid is getting tighter, and Clearlane makes the stations that serve that load fit the grid's day. The close of the presentation shows a simulated AI campus moving 75simulated MWh of compute into the midday clear lane: compute should follow the sun in time, not in space. The planner itself is a deterministic optimizer on purpose. Day-ahead prices are known the evening before, and a utility has to be able to audit why a station did what it did. Machine learning belongs in forecasting the host building's load and the calls, which is a next step.

Is this a Torus product?

No. The stations are simulated Torus-style stations built from Torus's published specs. The value we show is to Rocky Mountain Power's system, not Torus revenue.

What would a pilot look like?

Run the day-ahead envelope at a few sites in Rocky Mountain Power's Wattsmart program this winter, and compare the published plan with what each station actually did.

Check it yourself

> git clone https://github.com/craigcossairt/clearlane
> cd clearlane
> npm ci
> npm run reproduce
  • Every number re-derives offline with that one command: it checks every input file against its recorded fingerprint, re-runs the planner and compares every published number.
  • No keys and no network: the data snapshot is in the repo.
  • Tests pin every number that reaches the stage, and CI runs the same checks on every change.

Built, next, then

Built

  • Day-ahead planner and the re-plan after a call
  • Hourly envelope with System Critical Hours
  • Backtest on six months of real prices
  • Open code and data that run offline

Next: this winter

  • Pilot the envelope at a few sites in Rocky Mountain Power's Wattsmart program
  • Publish it each evening and compare the plan with what each station did
  • First learn from Torus how Spin refills, how call delivery is measured and whether sites export

Then

  • Forecast the host building's load and the calls: where machine learning fits
  • Connect to the station's and Rocky Mountain Power's own systems once their interfaces are known
  • More stations on the same envelope

Built solo by Craig Cossairt, with six AI agent lanes: integration, engine, data, UI, pitch and science.