Skip to content

Replace the indices with the real buildout scoreboard#2

Open
aurph wants to merge 4 commits into
fix/m0-m1-truth-securityfrom
feat/real-metrics
Open

Replace the indices with the real buildout scoreboard#2
aurph wants to merge 4 commits into
fix/m0-m1-truth-securityfrom
feat/real-metrics

Conversation

@aurph

@aurph aurph commented Jun 10, 2026

Copy link
Copy Markdown
Owner

The three market-sentiment indices (AI Demand, Grid Stress, NPI) are retired and replaced with real, sourced units. Stacked on PR #1. For review — a push is not a ship; redeploy on Replit after merge.

What replaced them (/api/metrics)

  • Nuclear-for-AI: 6.5 GW signed across 6 executed deals (TMI/Crane, Palisades, Talen-AWS ×2, Clinton-Meta, Vistra-Meta), via a new curated firmness field. Announced/optioned (6.0 GW) is a separate bucket; Oklo's 2.1 GW LOI aggregate is footnote-only. The classification table is in the spec for your veto.
  • DC pipeline: 9.4 / 15.6 / 5.1 GW (operational / construction / announced) across 58 tracked sites, plus $340B FY2025 disclosed capex.
  • Queue: 2,290 GW, 55-month median wait, 77% withdrawal (LBNL + ISO filings).
  • Grid pulse: live US48 demand (EIA, keyed) + FRED output YoY. Degrades honestly without the key (verified).
  • One market line: equal-weight percent move across the stack, stale tickers excluded. A percent, never a level. No baselines, clamps, or jan-2024=100 anywhere.
  • Daily snapshots append at /api/metrics/history; the buildout-history chart starts from zero, no backfill.

Social: event-driven

The cron now diffs the scoreboard vs the last-posted snapshot: new signed deal > pipeline move > backlog update > capex revision, else Friday digest, else {skipped, reason}. Verified end to end: flipping a project to signed composed the deal tweet in dry-run; identical state skips; dedupe guards the last 20 posts; first run initializes without tweeting the backlog. Old gauge/NPI templates deleted; movers/queue/catalysts remain manual-only.

Also killed (same disease)

The Stack page's Math.random CCJ/CEG "correlation" scatter and its server generators. No honest daily uranium series exists to draw it for real, so it is gone rather than faked.

Archived, not erased

/api/kpis → 410 with pointer (one release). /api/index-history serves the frozen series marked discontinued. indices.ts + backtest + tests stay green as the public autopsy. README "Index methodology" → "The scoreboard" + "What happened to the indices".

Verification

check clean · 50/50 tests · build clean · all endpoints smoke-tested live, including the 410, the discontinued banner, correlation-free /api/stack, cron init/skip, and the simulated new-deal event.

Next (owner-gated)

The cutover announcement (blog post + tweet: "we backtested our own indices, they failed, we replaced them") is drafted-on-request — your copy approval before anything publishes. UI screenshots worth a look on the dev server: /overview scoreboard strip + buildout-history empty state, / hero line, /stack without the scatter.

🤖 Generated with Claude Code

aurph added 4 commits June 10, 2026 13:46
Headlines become physical units (signed nuclear GW, DC pipeline GW, queue
backlog, live grid pulse) plus one equal-weight market line. Social posts
become event-driven with a Friday digest. Synthetic correlation scatter
dies as a rider. Old series archived as the public autopsy.
The market-sentiment gauges (AI Demand, Grid Stress, NPI) are retired.
Our own backtest (docs/INDEX_VALIDATION.md) showed no physical signal
and NPI at r=0.95 with VST alone. Headlines are now real units summed
from the curated datasets: no baselines, no clamps, no jan-2024=100.

Scoreboard (/api/metrics, pure math in server/metrics.ts, unit-tested):
- Nuclear-for-AI: 6.5 GW signed across 6 executed deals (new curated
  firmness field; options/proposals 6.0 GW separate; LOI aggregates
  footnoted only, never headlined)
- DC pipeline: 9.4 GW operational / 15.6 construction / 5.1 announced
  across 58 tracked sites + USD 340B FY2025 disclosed capex
- Interconnection queue: 2,290 GW / 55 mo median wait / 77% withdrawal
  (LBNL + ISO filings, as-of dates in the data)
- Grid pulse: live US48 demand (EIA, keyed) + FRED output YoY
- One market line: equal-weight percent move, never a level
- Daily snapshots at /api/metrics/history (server/metrics-history.ts)

Social: day-of-week rotation is gone. The cron now diffs the scoreboard
against the last-posted snapshot and posts at most one event (new signed
deal > pipeline move > backlog update > capex revision), or the Friday
digest, or honest silence with the reason. Dedupe guard against the last
20 posts; first run initializes state without tweeting the backlog.
Verified end to end: flipping a project to signed composes the deal
tweet in dry-run; identical state skips.

Also removed (same disease): the Math.random CCJ/CEG correlation scatter
on The Stack and its server generators. No fabricated data survives.

Archived, not erased: /api/kpis returns 410 with a pointer for one
release; /api/index-history serves the frozen gauge series marked
discontinued; indices.ts, the backtest, and its tests stay green as the
public autopsy. README methodology section rewritten accordingly.

check clean, 50/50 tests, build clean.
The public receipt for the 2026-06-10 index retirement: what was wrong,
what the backtest showed, what the scoreboard replaces it with, and
where the archive lives. Ships with the scoreboard cutover so the
announcement and the change deploy together.
…1 GW

Swept public sources (2026-06-10) against the curated registry and found
three missing deals:

- Duane Arnold restart (NextEra-Google): 601 MW, SIGNED. Executed 25-yr
  PPA (Oct 2025), Google funds the >$1.6B restart, target Q1 2029.
- Meta-TerraPower Natrium: 690 MW, optioned (development funding +
  offtake rights to 2.1 GW more; not an executed PPA).
- AWS-X-energy Cascade (Energy Northwest): 960 MW, proposed
  (investment + development agreement).

Checked and excluded: Meta-Entergy (5.2 GW of GAS for Hyperion plus a
nuclear MOU with no firm MW), AWS-Dominion North Anna (exploratory,
no MW), Equinix-Radiant and Aalo (sub-50 MW, pre-NRC).

Signed headline: 6.5 -> 7.1 GW across 7 deals. Announced: 7.6 GW.
Headline tracked stats updated on the curated basis (63 projects,
41.0 GW), NOT via the add-endpoint recompute formula, which disagrees
with the curated basis (would jump to 71 GW by double-counting PPAs
over existing plants). That mismatch is flagged for a follow-up fix.

Blog announcement updated to match (7.1 GW across 7 executed deals,
Duane Arnold added to the list). All sources cited per-project in the
dataset. 50/50 tests.
aurph added a commit that referenced this pull request Jun 20, 2026
main fast-forwarded to the feature and pushed (Jack's call). Notes the Replit
redeploy still needed, that PRs #1/#2 now rebase onto the new main, and that
live render is unverified from here (harness blocks running the dev server).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant