CASE 01 / 07ADITYANET
NULL RESULTDEPLOYEDRESEARCHA research platform where no number is typed by a person.
Astro 7 · TypeScript (strictest) · React 19 islands · Python · uPlot · GitHub Actions · 2026
THE PROBLEM
India's Aditya-L1 mission publishes solar X-ray data from its SoLEXS and HEL1OS instruments, but the archive is hard to use and results built on it are hard to check. The usual failure is quieter than fraud: a figure in prose drifts from the artifact it came from, and nobody notices because re-deriving it is harder than trusting it.
THE INVARIANT
Every rendered figure resolves at build time from a committed artifact — and CI fails the build if a single value drifts from its source.
THE APPROACH
A frozen, digest-addressed dataset derived from both instruments, published alongside its full provenance record and validation history. The site reads every number from committed JSON at build time; a byte-budget and value-drift gate re-reads those artifacts from disk in CI. Evidence routes ship essentially no JavaScript, and a hash-based CSP means the page loads nothing from any external origin.
ML vs. THRESHOLD DETECTOR
THRESHOLD ROC-AUC — 95% CI [0.940, 0.966]
HELD-OUT TEST MINUTES
JAVASCRIPT ON EVIDENCE ROUTES
DECISION RECORDS
ADR-001Why a build-time gate instead of careful proofreading?
CONTEXT — A research site's credibility rests on the match between its prose and its artifacts. Humans re-checking that by eye is a control that silently degrades the moment the dataset is regenerated.
- Review figures manually before publishing— drift is invisible until someone re-derives it; the control fails quietly
- Render every figure from a committed artifact, and gate it in CI
DECISION — No number is typed by a person. Each figure is resolved from a committed JSON artifact by a code path, and `pnpm budget` re-reads those artifacts from disk in CI — a drifted value fails the build.
ACCEPTED COST — Changing a headline number means changing the data and re-running the pipeline. Slower to edit, which is the point: the site cannot claim something its artifacts do not say.
ADR-002Publishing the result that does not flatter the method.
CONTEXT — The evaluated models did not beat a single threshold on the count rate. A positive-result incentive buries that finding.
- Report the best model's higher point estimate as an improvement— the confidence intervals overlap — that framing would be a claim the data does not support
- Publish the null at full weight, with intervals shown
DECISION — The verdict is 'no gain', not a ranking. The site plots every model against the simple detector with its 95% interval so a sceptic can see the overlap rather than take the prose on trust.
ACCEPTED COST — A less exciting headline. A platform whose central claim is 'our evidence is checkable' only earns it by publishing this kind of result.
⚠ LIMITATION — The null applies to the evaluated nowcast tasks and this feature set — it is not a general claim about machine learning on solar data. Persistence, a trivial baseline, scores highest of all (0.982), which says the task is dominated by short-timescale autocorrelation rather than by anything a model learns.