01 · Bid intelligence
Dispatch Queue
Every recommendation arrives with its full reasoning: LMP spike probability, live degradation cost, and a complete audit of the constraints that shaped it. Approve or decline in a single keystroke — or let the low-risk bids auto-approve.
DISPATCH QUEUE
Agent cycle 847 · 14:33 CT
3 recommendations pending
2 auto-approvable
Meridian Warehouse · Battery
ERCOT Real-Time · 15:00–17:00 CT
EXPECTED REVENUE
$1,870/event
AGENT RATIONALE
LMP spike probability 78% at 16:00 based on ERCOT wind ramp-down signal. Battery 7 excluded — degradation cost ($4.20/cycle) exceeds spread below $85. Ancillary RegUp rejected — commitment conflicts with 4h backup reserve on Site 3.
CONSTRAINTS APPLIED
ALTERNATIVES REJECTED
RegUp ancillary — backup conflict
·
Day-ahead — $14/MWh below RT forecast
Riverside DC · Battery + Solar
ERCOT Real-Time · 17:00–18:00 CT
AUTO-APPROVE IN 0:42
LOW RISK
1.2 MW · $640 /event
▾
How a recommendation is built
Forecast, optimize, explain — every cycle.
The queue is the surface of a closed loop that runs continuously against live ISO telemetry. Each card is the explainable output of one solve.
01 — FORECAST
Price & risk signals
Quantile LMP forecasts and ancillary-regime probabilities feed the spike estimate. The 78% figure is the modeled probability of an RT price spike at the dispatch interval.
02 — OPTIMIZE
Constrained MILP solve
Market revenue, live battery degradation cost, and your operating constraints are co-optimized in one solve. Bids that violate a floor or reserve never reach the queue.
03 — EXPLAIN
Rationale & counterfactuals
Dual variables become the dollar cost of each constraint; rejected alternatives are surfaced with the reason they lost. Nothing is approved without a stated why.
Reading the card
What each field means.
Risk badge
Med / Low reflects forecast confidence and exposure. Low-risk bids inside your auto-approve thresholds clear on a countdown; medium and high always wait for a human.
$/MWh floor
The breakeven price below which the bid is withheld — set by live degradation cost so a cycle is never spent for less than it costs.
Constraints applied
The exact operating limits that bound this solve — SOC floors, backup reserve, cycle caps, dispatch exclusions. These are your rules, enforced before any revenue is chased.
Alternatives rejected
Strategies the optimizer evaluated and discarded, each with the binding reason — a conflicting reserve, an unfavorable spread — so the decision is auditable end to end.