An autonomous agent that hunts for new exoplanets in TESS data, 24/7, for pennies.
Dashboard: https://orb-exoplanet-hunter.vercel.app API: https://080767ba.orbcloud.dev
This repo runs a continuous pipeline on Orb Cloud: ingest → detrend → transit-search → vet-chain → recurrence → publish. The agent sleeps to NVMe between TESS sector drops (~27 days) and wakes to process the fresh sector plus chase candidates seen in earlier sectors. Dashboard shows a live candidate list, pipeline-health panel, and a one-click hunt endpoint.
Not a replacement for peer review. An industrial-scale, continuously-running candidate surfacer — the same thing Planet Hunters and amateur astronomers do, at machine scale and open to anyone.
curl -X POST "https://080767ba.orbcloud.dev/hunt/target?tic=22529346"That processes WASP-121 (TIC 22529346) end-to-end against real TESS data: fetch from MAST, detrend, transit-search, vet, score, write candidate JSON. ~30 seconds.
GET /— dashboard (HTML, auto-refresh)GET /health— liveness + halt flagGET /candidates— all candidates, filterable by?tier=and?min_score=GET /candidates/{tic}— full candidate record including per-gate audit trailGET /pipeline-health— last health-check reportPOST /hunt/target?tic=— trigger synchronous hunt for one TIC
M-dwarf habitable-zone candidates. The big pipelines (SPOC, QLP) are tuned for brighter targets and shorter periods; faint M-dwarfs in TESS Full-Frame Images are under-searched, and M-dwarf HZ planets are the most accessible "potentially habitable" regime (short orbital periods, favorable transit geometry, lots of data).
TESS via the MAST archive. Open, free, no auth. Accessed with the community-standard lightkurve Python library. Supplemented with Gaia DR3 (astrometry + stellar params) and the NASA Exoplanet Archive (known TOI cross-match).
- Ingest — M-dwarf FFI cutouts per sector via
lightkurve.TessTargetPixelFile - Detrend —
wotanbiweight (or Gaussian Process for noisy stars) - Search — Transit Least Squares (
transitleastsquares) with SDE ≥ 8 shortlist - Vet — 9-gate chain (odd/even depth, secondary, centroid, ephemeris, Gaia RUWE, …)
- Validate — TRICERATOPS False Positive Probability (FPP < 0.1)
- Recur — single-sector =
candidate; 2+ sectors agreeing on ephemeris =confirmed - Publish — JSON + downloadable vetting report PDF on the dashboard
Two concentric loops (runs in parallel to the hunt):
- Per-candidate: 10 hard gates; one fails = candidate dropped.
- Pipeline-health (nightly): known-planet recovery, injection-recovery sweep, null-data FP rate, ephemeris consistency, depth distribution sanity, weekly Claude red-team review. Any hard check fails → pipeline goes read-only and an alert fires.
See verification/README.md once batch 4 ships.
Pre-alpha; being built in batches of 5 commits with a push at 5. See learnings.txt for the running build log.
MIT. All code open, all data public, all findings freely reproducible.