Replace the indices with the real buildout scoreboard#2
Open
aurph wants to merge 4 commits into
Open
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)firmnessfield. 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./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-historyserves 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
checkclean · 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:
/overviewscoreboard strip + buildout-history empty state,/hero line,/stackwithout the scatter.🤖 Generated with Claude Code