Methods and validation
How the candidates are found and checked, in plain language. This follows the repository's README; where a step needs detail, it links to the source rather than restating it.
These are candidates, not confirmed planets. Each passes automated and pixel-level vetting, but TESS alone cannot rule out every false-positive scenario. The remaining blind spot is a companion closer than about 1–2″, which only high-resolution imaging can rule out.
The idea
The approach follows Pavel Rabtsevich's search that found TIC 4206066 (write-up): detect a signal in recent TESS data and confirm it in archival sectors. A shallow transit that is 5–8σ in a single sector can stay below every single-sector threshold while reaching 10–20σ when all sectors are combined. SPOC's latest multi-sector search covers Sectors 1–96, and stars observed only in full-frame images never get a SPOC multi-sector search at all.
figures/candidates_grid.png, 7 October 2026).Pipeline in brief
- Targets. Nearby K and M dwarfs, the hosts of TESS Objects of Interest, fainter M dwarfs, and a full-sky set of FGKM dwarfs with T ≤ 13.5, all selected from the TESS Input Catalog (TIC 8.2).
- Light curves. One product per star and sector, preferring SPOC 2-minute, then TESS-SPOC full-frame-image, then QLP light curves. In QLP Sectors 94–104 the first day and the last half day of each orbit are dropped, because the flux there ramps in a way that mimics transits (qlp_orbit_edges.md).
- Search. Per-sector detrending, then box least squares and a stack-slide search that combines seasons coherently. For TOI hosts, every known TOI is masked first so that only additional signals remain. A second pass searched again the full-sky stars with QLP light curves that the first pass had missed; it adds signals and does not replace any.
- Known-signal matching and literature check. Signals are compared with ExoFOP TOIs and CTOIs, the NASA Exoplanet Archive, SPOC threshold-crossing events, other candidate lists, and papers on arXiv and NASA ADS, by period (including simple harmonics) and, for entries listed with a single transit or another period, by transit epoch. A match counts as already reported.
- Vetting. The LEO-Vetter false-alarm and false-positive tests, per-sector depth consistency, and a comparison of older and newer sectors.
- Pixel and field checks. Difference-image centroids (transit-diffImage) tested against the target and against nearby stars bright enough to produce the dip, in every sector with transits, and a search for such stars in the TIC.
- Characterisation. Transit fits (batman and emcee, with a stellar-density prior) and TRICERATOPS false-positive probabilities, later rerun with Gaia DR3 limits on companions.
- Reliability tiers. Candidates are placed in tiers by the checks above; A, B, N and L1 are counted. See the tier legend and the README section on reliability tiers.
The full list of steps, with the scripts that implement them, is in the README's Method section. The list of checks on the abstract page gives the key numbers for each one.
How the checks were validated
The README's Validation section reports blind recovery of both signals of TIC 4206066, recovery of known planets such as TOI-700 b and c and L 98-59 b, c and d, injection–recovery tests, and searches of inverted light curves, in which any dip is a false alarm, to measure false-alarm rates. The pixel tests were calibrated on known planets and on signals known to come from neighbouring stars. Numbers change as the analysis is updated, so they are not repeated here.
Validation notes in the repository
validation/centroid_sectors.md: centroids measured in every sector with transits, and the test of whether the offsets point away from the target.validation/false_alarm_classifier.md: the classifier trained to separate real signals from inverted-light-curve false alarms; it decides tier L1.validation/gaia_companion_limits.md: TRICERATOPS reruns with Gaia DR3 limits on bound companions (MOLUSC) and Gaia radial velocities.validation/tic_artifacts.md: TIC entries that are artifacts or duplicates, which are now ignored by the neighbour checks.validation/findability.md: when the counted candidates could first have been found, and why TESS pipelines did not report them.validation/qlp_missing_errors.md: QLP light curves that an earlier version of the reader discarded because of an empty uncertainty column.validation/qlp_orbit_edges.md: the flux ramps at the edges of each orbit in QLP Sectors 94–104, the mask that removes them, and the second pass of the search.validation/ctoi_matches.md: matching known signals by transit epoch, and the community TOIs it found.validation/gaia_proper_motion.md: matching TIC positions to Gaia DR3 at the Gaia epoch in the binary check.results_public/novelty_check.md: the check, for the first release, that the signals were not already reported.
All validation tables and notes are in the validation/ directory, and the columns of every table are defined in the data dictionary. The numbers on this site are computed from these tables when it is built (pipeline/site_data.py). The large per-signal tables (.csv.gz files in results_public/ and validation/) are not copied to this site; download them from the repository.
Reproducing and credits
The README lists the commands to rerun each stage and the credits for the data and software used (TESS, MAST, Gaia, ExoFOP, the NASA Exoplanet Archive, LEO-Vetter, TRICERATOPS, MOLUSC and others). Code is MIT; results, tables and figures are CC BY 4.0.