SetuHQ: TOI-270

A transit search where a panel of independent reviewers marks dips in blind-coded light curves, consensus is skill-weighted, and every candidate keeps its provenance. Built to follow the Planet Hunters CHEOPS workflow.

Probes only; Sentinels not run on this example. Sentinels run on Claude (Anthropic) by default; other providers are supported and labelled. Probes are deterministic matched-filter detectors.

1light curves
2blind-coded subjects
6independent reviews
7consensus dips
7passed vetting

How a run works

1 · IngestTESS SPOC from MAST or CHEOPS FITS, time system kept as delivered
→
2 · Clean & detrendSpike clip, masked local-quadratic baseline, 10-min bins
→
3 · Blind subjects13-day segments with opaque IDs. The target name never reaches a reviewer
→
4 · Review panelEach subject marked and labelled by every reviewer, independently
→
5 · ConsensusClustered marks, skill-weighted score, panel must say "potential planet"
→
6 · VetSNR, duration, edges, odd/even depth, secondary eclipse, ephemeris fit

Thresholds, weights and every input are written to manifest.json, so a result can be rerun exactly.

Candidates

Passed candidates are the catalogue. Rejected and flagged events are kept on purpose, so a reader can see what the vetting decided and why.

tess-4b369d3c6f09-000

passed vetting Blind-coded subject plot for tess-4b369d3c6f09-000
Mid-time
1457.424 BTJD
Duration
0.97 h
Depth
3909 ppm
SNR
15.7
Panel agreement
100% of skill-weighted reviewers, 3 marked it
Says planet
100% of panel
Reviewers
volunteer-cautious;volunteer-sensitive;volunteer-typical
Periodic hint
5.656 d

tess-f28323a4aef6-001

passed vetting Blind-coded subject plot for tess-f28323a4aef6-001
Mid-time
1446.102 BTJD
Duration
0.93 h
Depth
3444 ppm
SNR
12.7
Panel agreement
100% of skill-weighted reviewers, 3 marked it
Says planet
100% of panel
Reviewers
volunteer-cautious;volunteer-sensitive;volunteer-typical
Periodic hint
5.669 d

tess-f28323a4aef6-002

passed vetting Blind-coded subject plot for tess-f28323a4aef6-002
Mid-time
1440.444 BTJD
Duration
0.77 h
Depth
4023 ppm
SNR
14.8
Panel agreement
100% of skill-weighted reviewers, 3 marked it
Says planet
100% of panel
Reviewers
volunteer-cautious;volunteer-sensitive;volunteer-typical
Periodic hint
5.669 d

tess-4b369d3c6f09-003

passed vetting Blind-coded subject plot for tess-4b369d3c6f09-003
Mid-time
1463.082 BTJD
Duration
0.73 h
Depth
3091 ppm
SNR
10.1
Panel agreement
100% of skill-weighted reviewers, 3 marked it
Says planet
100% of panel
Reviewers
volunteer-cautious;volunteer-sensitive;volunteer-typical
Periodic hint
5.656 d

tess-4b369d3c6f09-004

passed vetting Blind-coded subject plot for tess-4b369d3c6f09-004
Mid-time
1451.770 BTJD
Duration
0.69 h
Depth
3439 ppm
SNR
11.2
Panel agreement
100% of skill-weighted reviewers, 3 marked it
Says planet
100% of panel
Reviewers
volunteer-cautious;volunteer-sensitive;volunteer-typical
Periodic hint
5.656 d

tess-4b369d3c6f09-005

passed vettingoff_ephemeris Blind-coded subject plot for tess-4b369d3c6f09-005
Mid-time
1457.946 BTJD
Duration
1.91 h
Depth
1995 ppm
SNR
11.3
Panel agreement
62% of skill-weighted reviewers, 2 marked it
Says planet
100% of panel
Reviewers
volunteer-cautious;volunteer-sensitive
Periodic hint
n/a

tess-f28323a4aef6-006

passed vettingoff_ephemeris Blind-coded subject plot for tess-f28323a4aef6-006
Mid-time
1446.573 BTJD
Duration
1.79 h
Depth
2807 ppm
SNR
15.3
Panel agreement
62% of skill-weighted reviewers, 2 marked it
Says planet
100% of panel
Reviewers
volunteer-cautious;volunteer-sensitive
Periodic hint
n/a

Panel decisions

Every reviewer's answer for every blind-coded subject. Disagreement is kept visible, because it is where the consensus is earned.

tess-4b369d3c6f09

reviewerlabelmarks (BTJD)rationale
volunteer-sensitivepotential planet1451.755–1451.784, 1457.402–1457.440, 1457.906–1457.986, 1463.067–1463.096simulated detector
volunteer-typicalpotential planet1451.759–1451.787, 1457.412–1457.444, 1463.062–1463.101simulated detector
volunteer-cautiouspotential planet1451.750–1451.783, 1457.403–1457.447, 1457.906–1457.985, 1463.070–1463.098simulated detector

tess-f28323a4aef6

reviewerlabelmarks (BTJD)rationale
volunteer-sensitivepotential planet1440.428–1440.460, 1440.465–1440.498, 1444.188–1444.227, 1446.084–1446.121, 1446.533–1446.613, 1447.554–1447.586simulated detector
volunteer-typicalpotential planet1440.415–1440.460, 1446.079–1446.115simulated detector
volunteer-cautiouspotential planet1440.428–1440.456, 1446.082–1446.121, 1446.538–1446.607simulated detector

Validation against known planets

*Multi-planet system.* An M dwarf with three known transiting planets at 3.4, 5.7 and 11.4 days: several periods in one star.

Run runs/tess-toi-270-s5 (TESS SPOC 2-minute, sector 5; config configs/showcase/tess-toi-270-s5.toml, sha256 e60af3c4e98d4a76…; code v0.1.0-3-g0c029a2). Light curves: public TESS data from MAST tess2018319095959-s0005-0000000259377017-0125-s_lc.fits (sha256 739250df0d1ccda4…).

**Probes only; Sentinels not run on this example.** 7 dips (5 candidates, 2 flagged).

One light curve, three periods. It shows what the search does when a star has more than one planet, and which of them a 13-day subject can hold.

Published values: NASA Exoplanet Archive, table ps (every row for each planet), fetched 2026-10-22 (docs/results/showcase_reference.json). Each planet's transits are predicted from the archive row named below; SetuHQ's values are the medians over the dips on that ephemeris that were not rejected (the limb-darkened fit's Rp/R★, T14 and mid-transit depth, and the BLS period). Depth definitions differ between papers and this fit, so compare Rp/R★ and T14 first. A blank published value is one the archive does not hold for that paper; it is not compared.

Ephemeris from Kaye et al. 2022; compared with Günther et al. 2019 (https://ui.adsabs.harvard.edu/abs/2019NatAs...3.1099G/abstract).

quantitySetuHQGünther et al. 2019ratioarchive default (Kaye et al. 2022)ratio
P (d)n/a3.360083.35992
Rp/R★n/a0.03000.0307
T14 (h)n/a1.391.29
depth (ppm)n/a901

The panel marked no dip on this planet's transits in this run, so nothing is compared.

Transits predicted in the stored light curve: 6; with a dip on them: 0 (0 dips; none).

Ephemeris from Kaye et al. 2022; compared with Günther et al. 2019 (https://ui.adsabs.harvard.edu/abs/2019NatAs...3.1099G/abstract).

quantitySetuHQGünther et al. 2019ratioarchive default (Kaye et al. 2022)ratio
P (d)5.656105.660170.9995.660510.999
Rp/R★0.06590.05831.1320.05601.177
T14 (h)1.851.661.1171.681.101
depth (ppm)4,0903,3941.205

Transits predicted in the stored light curve: 5; with a dip on them: 5 (5 dips; 5 passed; mean offset +6.6 min).

Ephemeris from Kaye et al. 2022; compared with Günther et al. 2019 (https://ui.adsabs.harvard.edu/abs/2019NatAs...3.1099G/abstract).

quantitySetuHQGünther et al. 2019ratioarchive default (Kaye et al. 2022)ratio
P (d)n/a11.3801411.38194
Rp/R★0.05980.05141.1630.04911.218
T14 (h)2.502.151.1622.121.180
depth (ppm)3,2542,6451.230

Each 13-day subject holds only one of its transits, so the search found no period for these dips; vetting flags each off_ephemeris (open, not a candidate). The period is not compared.

Transits predicted in the stored light curve: 2; with a dip on them: 2 (2 dips; 2 flagged; mean offset -8.8 min).

A known planet found again is a check of the pipeline, not a discovery. TOI-270 b: none of 6 transits; TOI-270 c: 5 of 5 transits (5 candidates); TOI-270 d: 2 of 2 transits (2 flagged; no period).

Injection recovery

Panel: volunteer-sensitive, volunteer-typical, volunteer-cautious

Weights: volunteer-cautious=0.633, volunteer-sensitive=0.667, volunteer-typical=0.667

Completeness is the fraction of injected transits recovered as a vetted candidate, with the consensus centred within half a transit duration of the injection.

depth (ppm)duration (h)subjectsrecoveredcompleteness
3001.02000.00
3002.02000.00
3004.02000.00
10001.02030.15
10002.020160.80
10004.020201.00
30001.020201.00
30002.020190.95
30004.020201.00

False positives: 0.000 vetted candidates per empty subject (40 empty subjects).

Provenance

Reviewer panel

idkindweight
volunteer-sensitivesimulated0.600
volunteer-typicalsimulated0.600
volunteer-cautioussimulated0.400

Skipped (unavailable here): none

Run

Config
tess-toi-270-s5
Config SHA-256
e60af3c4e98d4a76…
Created
2026-10-22T18:00:10+00:00
SetuHQ
0.1.0
Packages
numpy 2.5.4 · scipy 1.18.1 · astropy 8.0.2 · matplotlib 3.11.2 · lightkurve 2.6.0
Raw manifest
{
  "setuhq_version": "0.1.0",
  "created_at": "2026-10-22T18:00:10+00:00",
  "python": "3.13.16",
  "platform": "Linux-6.18.44-fc-v140-x86_64-with-glibc2.39",
  "packages": {
    "numpy": "2.5.4",
    "scipy": "1.18.1",
    "astropy": "8.0.2",
    "matplotlib": "3.11.2",
    "lightkurve": "2.6.0"
  },
  "config_name": "tess-toi-270-s5",
  "config_sha256": "e60af3c4e98d4a76c4f1c707f6fed65f8156a4b4a0b363a9ab22a0e683ab7cac",
  "subject_days": 13.0,
  "search_scope": "subject",
  "claude_prompt_version": "2026-10-16.1",
  "sentinel_prompt_version": "2026-10-16.1",
  "inputs": [
    {
      "source": "MAST",
      "author": "SPOC",
      "sector": 5,
      "exptime_s": 120,
      "flux_column": "pdcsap_flux",
      "time_unit": "BTJD",
      "lightkurve_version": "2.6.0",
      "file": "tess2018319095959-s0005-0000000259377017-0125-s_lc.fits",
      "file_sha256": "739250df0d1ccda4304e01213f1f0f53c24603e3e223ff646157b6721665a9d5",
      "crowdsap": 0.9739536,
      "flfrcsap": 0.92360622,
      "target": "TIC 259377017",
      "mission": "TESS"
    }
  ],
  "reviewers": [
    {
      "id": "volunteer-sensitive",
      "kind": "simulated",
      "weight": 0.6,
      "calibration": "calibrated",
      "calibration_note": "measured by injection"
    },
    {
      "id": "volunteer-typical",
      "kind": "simulated",
      "weight": 0.6,
      "calibration": "calibrated",
      "calibration_note": "measured by injection"
    },
    {
      "id": "volunteer-cautious",
      "kind": "simulated",
      "weight": 0.4,
      "calibration": "calibrated",
      "calibration_note": "measured by injection"
    }
  ],
  "skipped_reviewers": [],
  "skipped_reviewers_detail": [],
  "weights": {
    "volunteer-cautious": 0.4,
    "volunteer-sensitive": 0.6,
    "volunteer-typical": 0.6
  },
  "weights_source": "docs/results/reviewer_weights_full_panel.json (Probes only)",
  "panel": {
    "mode": "probes_only",
    "sentinels_configured": [],
    "note": "Probes only; Sentinels not run on this example"
  },
  "code": "v0.1.0-3-g0c029a2",
  "counts": {
    "light_curves": 1,
    "subjects": 2,
    "classifications": 6,
    "consensus_events": 7,
    "passed_vetting": 7
  }
}