Where is everybody? · Working papers
Revised after a second, separate analysis run for this project tried to break it. Neither analysis is an outside expert.
Underluminous stars: a limit on grey Dyson swarms from spectroscopic versus parallax luminosities
Revised after refereeing. Every number comes from the final code. Changes are listed under "Response to referee" at the end.
Result. A swarm of large ("grey") collectors that blocks a fraction f of a star's light makes the star fainter than its temperature, colour, metallicity and parallax allow, whatever happens to the absorbed energy. I searched for such stars among 790,783 FGK stars within 1 kpc (950,640 under the looser astrometric cuts I declared first). No star is consistent with 90% dimming. The 95% upper limits on the fraction of stars dimmed by f are:
| f | 95% upper limit | Stars it applies to |
|---|---|---|
| 0.25 | 5.3×10⁻⁴ to 1.9×10⁻³ | K and G dwarfs |
| 0.5 | 1.1×10⁻⁴ to 2.1×10⁻⁴ | FGK main-sequence stars (log g ≥ 4.1) |
| 0.75 | below 3.6×10⁻⁵ (3.0–4.1×10⁻⁵ over selection-model variants) | FGK dwarfs; subgiants alone 1.8×10⁻⁴ |
| 0.9 | below 3.9×10⁻⁵ (3.0–4.8×10⁻⁵) | FGK dwarfs; subgiants alone 2.2×10⁻⁴ |
The ranges at f ≤ 0.5 span two sets of astrometric cuts. The low end needs cuts that I tightened after seeing the faint tail, so the high end is the safe number. The main caveats are:
All inputs are public and are fetched by
code/download_data.py.
| Cut, applied in this order | APOGEE | LAMOST | GSP-Spec |
|---|---|---|---|
| Unique stars downloaded | 218,091 | 2,383,826 | 1,886,542 |
| Survey quality (a) | 184,018 | 2,327,343 | 868,552 |
| FGK box: 4000–6500 K, log g ≥ 3.5, −1 ≤ [Fe/H] ≤ 0.6 | 172,109 | 2,046,442 | 742,451 |
| Gaia 5/6-parameter solution, G/BP/RP present, not duplicated | 165,672 | 2,000,639 | 711,153 |
| Parallax > 1 mas and parallax/error ≥ 50 [≥ 20] | 138,725 [151,624] | 990,961 [1,212,051] | 665,039 [702,114] |
| E(B−V)_SFD < 0.1 | 108,972 [118,836] | 678,700 [835,694] | 381,038 [402,365] |
| RUWE < 1.2 [< 1.4] | 83,812 [94,374] | 578,792 [723,855] | 280,073 [315,630] |
| Clean image and photometry (b) | 79,995 [89,506] | 552,376 [686,400] | 271,170 [304,795] |
| 2MASS Ks quality A/B, unique match, error < 0.1 mag | 79,873 [89,373] | 548,841 [682,106] | 268,587 [301,862] |
| Populated parameter space (c) | 79,071 [88,525] | 548,373 [681,641] | 267,629 [300,931] |
| Colours consistent with Teff (d): clean sample | 77,544 [86,681] | 535,484 [664,791] | 265,047 [298,098] |
Square brackets give the pre-declared cut set. (a) APOGEE: S/N ≥ 50, no bad STARFLAG/ASPCAPFLAG bits, one CCF component. LAMOST: g-band S/N ≥ 30, no fibre offset, σ(Teff) < 150 K, σ(log g) < 0.25. GSP-Spec: quality-flag characters 1–7 ≤ 1 and 8–13 = 0. (b) ipd_frac_multi_peak ≤ 2, ipd_gof_harmonic_amplitude < 0.1, corrected BP/RP excess within 5σ. These remove blends. (c) 50th nearest neighbour within 2.5 scaled units, so that a local calibration exists. (d) BP−RP and G−Ks within 4 local σ of the value predicted from the spectroscopic parameters. A grey absorber leaves colours unchanged, so a star that fails has a wrong Teff or a wrong match.
Two astrometric cut sets. The pre-declared set (RUWE < 1.4, parallax/error ≥ 20) was fixed before any deficit was computed. The tightened set (RUWE < 1.2, parallax/error ≥ 50) was chosen after I saw that the faint tail tracked astrometric quality. The whole pipeline now runs under both.
Extinction. Only sightlines with E(B−V)_SFD < 0.1 are used, and each star is dereddened by SFD × (1 − exp(−|z|/100 pc)). Residual dust dims G seven times more than Ks and reddens the star, so it cannot pass as grey. The parallax zero point is +0.017 mas.
Combined sample (tightened cuts). 790,783 unique stars; 74% have log g ≥ 4.1; K/G/F = 21/57/22%; distances 152–882 pc (5–95%, median 467 pc); 95% lie at |b| > 17°; G = 10.4–14.8.
Core and tail (Fig. 1). The robust scatter of D is 0.036 dex (APOGEE), 0.039 dex (LAMOST) and 0.117 dex (GSP-Spec). Stars with D < −0.301 number 19, 248 and 8,254; most have log g < 4.1 yet sit on the main sequence.
Combined limits under both cut sets (Fig. 4). Bold marks the weaker value at each f, which is the one I quote.
| f | Cut set | Sensitive stars | R | C | ε | Flagged / unresolved | 95% UL, stars as observed | 95% UL, population (ε variants) |
|---|---|---|---|---|---|---|---|---|
| 0.25 | tightened | 133,335 | 0.62 | 0.97 | 0.79 | 23 / 23 | 4.2×10⁻⁴ | 5.3×10⁻⁴ (5.2–5.4) |
| 0.25 | pre-declared | 129,176 | 0.60 | 0.97 | 0.80 | 96 / 92 | 1.5×10⁻³ | 1.9×10⁻³ (1.8–2.0) |
| 0.5 | tightened | 512,730 | 0.71 | 1.00 | 0.60 | 16 / 15 | 6.5×10⁻⁵ | 1.09×10⁻⁴ (1.00–1.16) |
| 0.5 | pre-declared | 626,809 | 0.72 | 1.00 | 0.64 | 51 / 45 | 1.3×10⁻⁴ | 2.1×10⁻⁴ (1.9–2.2) |
| 0.75 | tightened | 687,212 | 0.81 | 0.99 | 0.32 | 2 / 2 | 1.2×10⁻⁵ | 3.6×10⁻⁵ (3.0–4.1) |
| 0.75 | pre-declared | 832,294 | 0.81 | 0.99 | 0.36 | 2 / 1 | 7.3×10⁻⁶ | 2.0×10⁻⁵ (1.7–2.3) |
| 0.9 | tightened | 751,740 | 0.86 | 0.99 | 0.12 | 0 / 0 | 4.8×10⁻⁶ | 3.9×10⁻⁵ (3.0–4.8) |
| 0.9 | pre-declared | 907,630 | 0.85 | 0.99 | 0.14 | 0 / 0 | 4.0×10⁻⁶ | 2.9×10⁻⁵ (2.2–3.6) |
V = 0.97 throughout. The pre-declared cuts give limits 3.6 and 1.9 times weaker at f = 0.25 and 0.5. At f = 0.75 and 0.9 they give somewhat stronger limits, because the sample is larger and the candidate count does not grow.
Who is constrained (tightened cuts; share of the exposure Σ N_sens·R·C·ε·V).
| f | K dwarfs | G dwarfs | F dwarfs | Subgiants (log g < 4.1) | Limit from subgiants alone |
|---|---|---|---|---|---|
| 0.25 | 65.5% | 32.4% | 2.1% | 0.01% | none |
| 0.5 | 28.5% | 53.6% | 17.5% | 0.4% | 3.7×10⁻³ |
| 0.75 | 16.7% | 48.6% | 25.0% | 9.7% | 1.8×10⁻⁴ |
| 0.9 | 12.7% | 44.0% | 25.5% | 17.8% | 2.2×10⁻⁴ |
At f = 0.25 only 17% of the stars are sensitive. LAMOST carries 79–88% of the exposure at every f.
Per-survey population limits (unresolved candidates in brackets; tightened / pre-declared).
| f | APOGEE | LAMOST | GSP-Spec |
|---|---|---|---|
| 0.25 | 4.7×10⁻⁴ (2) / 7.5×10⁻⁴ (5) | 6.0×10⁻⁴ (21) / 2.3×10⁻³ (87) | 2.4×10⁻² (0) / 1.6×10⁻² (0) |
| 0.5 | 1.6×10⁻⁴ (0) / 2.3×10⁻⁴ (1) | 1.0×10⁻⁴ (12) / 2.0×10⁻⁴ (39) | 7.1×10⁻⁴ (3) / 9.0×10⁻⁴ (5) |
| 0.75 | 2.6×10⁻⁴ (0) / 2.3×10⁻⁴ (0) | 2.0×10⁻⁵ (0) / 1.4×10⁻⁵ (0) | 3.3×10⁻⁴ (2) / 2.3×10⁻⁴ (1) |
| 0.9 | 7.4×10⁻⁴ (0) / 6.8×10⁻⁴ (0) | 4.5×10⁻⁵ (0) / 3.2×10⁻⁵ (0) | 3.1×10⁻⁴ (0) / 3.0×10⁻⁴ (0) |
Colour-magnitude test without Teff or log g
(code/cmd_check.py). Stars lying more than a given
amount below the main-sequence ridge in both G and Ks:
| Sample | Stars | > 0.75 mag | > 1.0 mag | > 1.25 mag | > 2.0 mag |
|---|---|---|---|---|---|
| LAMOST clean, ridge at fixed colour and [Fe/H] | 515,055 | 23 | 2 | 0 | 0 |
| LAMOST clean, ridge at fixed colour only | 515,055 | 51 | 6 | 0 | 0 |
| Gaia parent sample, same cuts, no spectroscopy | 66,617 | 179 | 43 | 1 | 0 |
The zero count at f ≥ 0.75 therefore does not depend on Teff or log g. Without spectroscopy the region 0.75–1.25 mag below the ridge fills with halo subdwarfs (median tangential velocity 221 km/s against 40 km/s), which the [Fe/H] ≥ −1 cut removes. Before the colour-consistency cut, 17 LAMOST stars lie more than 1.5 mag below the ridge; all have BP−RP of 1.8–3.1, the colour of M dwarfs, with catalogued Teff in the FGK range. A grey screen cannot produce that mismatch.
Vetting (tightened cuts). Two stars flagged at f = 0.5 were resolved, one by a repeat LAMOST spectrum and one by a second survey. Nothing was resolved at f = 0.25. For the 39 distinct unresolved stars (32 LAMOST, 5 GSP-Spec, 2 APOGEE):
code/cutouts.py only fetches the images).Under the pre-declared cuts 136 distinct stars stay unresolved, 124 of them from LAMOST. Their DR2/DR3 parallax ratios span 0.80–1.26 and 72% have parallax/error below 70. IRSA was unavailable for most of them during the revision (28 have IRSA rows); the CDS AllWISE copy shows no excess among the 118 with usable photometry.
GALAH DR3 log g is computed from the parallax luminosity, so the disappearance of the deficit with GALAH parameters is circular and is not used.
Best unresolved candidates (full lists:
data/candidates_unresolved.csv,
data/origcuts/candidates_unresolved.csv).
| Gaia DR3 source | Survey, level | G, distance | Teff / log g / [Fe/H] | Deficit G / Ks | Remarks |
|---|---|---|---|---|---|
| 1072261129731168256 | GSP-Spec, 0.75 | 12.2, 258 pc | 6442 / 4.36 / +0.39 | 70% / 64% | colours 2.9–3.7σ too red for its Teff |
| 6811936642489247872 | GSP-Spec, 0.75 | 12.6, 316 pc | 6195 / 4.24 / +0.15 | 68% / 62% | colours 1.3–1.8σ too red |
| 3945396269943001216 | LAMOST, 0.5 | 14.5, 735 pc | 5812 / 4.16 / −0.02 | 64% / 65% | parallax/error 53, RUWE 1.16: at the edge of both cuts |
| 3966264313442458112 | LAMOST, 0.5 | 13.8, 287 pc | 5336 / 4.49 / −0.11 | 63% / 65% | 0.3 dex below both floors; colours 2.4σ bluer than Teff |
| 6658793364439792000 (TYC 8384-108-1) | GSP-Spec, 0.5 | 11.3, 218 pc | 6442 / 4.23 / −0.17 | 62% / 56% | RAVE DR6: 5320 K / 3.99 / −0.98, with which there is no deficit |
| 817780125554614912 (TYC 2990-957-1) | LAMOST, 0.5 | 11.2, 146 pc | 5874 / 4.47 / −0.18 | 46% / 46% | spectrum S/N 230; parallax/error 366; SIMBAD type Em*, G4 |
| 1459674395375158400 | LAMOST, 0.5 | 14.7, 274 pc | 4509 / 4.72 / −0.44 | 44% / 49% | same deficit in 3 more LAMOST spectra; colours 3.9σ bluer than Teff |
| 4819203273209176576 (TYC 7588-1810-1) | APOGEE, 0.25 | 11.8, 94 pc | 4724 / 4.60 / +0.14 | 30% / 33% | reproduced with GSP-Spec parameters; parallax/error 1133 |
The two GSP-Spec stars at the 0.75 level have deficits of 62–70%. GSP-Spec scatter of about 0.1 dex puts the 2σ threshold at D < −0.40, so 75% dimming cannot be excluded for them at 2σ. The first looks like a Teff overestimate from its colours; for the second the colour evidence is weak.
Follow-up that would settle them: one spectrum at R ≳ 20,000 per star; Gaia DR4 astrometry; for survivors, a density test (a grey screen makes the radius from L and Teff too small by √(1−f) while the asteroseismic density stays normal); far-infrared photometry; TESS light curves to test starspots.
LAMOST dominates, so its values are shown (unresolved candidates in
brackets; tightened cuts unless stated). All variants are in
data/robustness.csv.
| Variant | f = 0.25 | f = 0.5 | f = 0.75 | f = 0.9 |
|---|---|---|---|---|
| Baseline | 6.0×10⁻⁴ (21) | 1.0×10⁻⁴ (12) | 2.0×10⁻⁵ (0) | 4.5×10⁻⁵ (0) |
| Flag threshold 1σ / 3σ | 6.2 / 8.9×10⁻⁴ | 0.9 / 1.2×10⁻⁴ | 2.3 / 1.9×10⁻⁵ | 5.2 / 4.3×10⁻⁵ |
| Ks only / G only | 6.2 / 6.8×10⁻⁴ | 1.1 / 0.9×10⁻⁴ | 1.9 / 1.9×10⁻⁵ | 4.4 / 4.4×10⁻⁵ |
| 25 / 100 neighbours | 6.9 / 5.8×10⁻⁴ | 1.2 / 0.9×10⁻⁴ | 2.0 / 1.9×10⁻⁵ | 4.5 / 4.4×10⁻⁵ |
| Floor multiplier 1.0 / 2.5 | 5.7 / 7.3×10⁻⁴ | 1.0 / 0.9×10⁻⁴ | 1.9 / 2.0×10⁻⁵ | 4.5 / 4.5×10⁻⁵ |
| Parallax/error ≥ 100 | 4.0×10⁻⁴ (7) | 8.3×10⁻⁵ (4) | 3.6×10⁻⁵ (0) | 8.5×10⁻⁵ (0) |
| E(B−V)_SFD < 0.05 | 6.4×10⁻⁴ (14) | 1.3×10⁻⁴ (10) | 3.0×10⁻⁵ (0) | 6.9×10⁻⁵ (0) |
| Brighter half / fainter half | 3.0 (1) / 8.5 (20) ×10⁻⁴ | 0.6 (1) / 1.6 (11) ×10⁻⁴ | 3.8 / 4.1×10⁻⁵ | 0.8 / 1.0×10⁻⁴ |
| Pre-declared cuts | 2.3×10⁻³ (87) | 2.0×10⁻⁴ (39) | 1.4×10⁻⁵ (0) | 3.2×10⁻⁵ (0) |
| Pre-declared, plus parallax/error ≥ 50 only | 1.1×10⁻³ (31) | 1.3×10⁻⁴ (17) | 1.8×10⁻⁵ (0) | 4.2×10⁻⁵ (0) |
| Pre-declared, plus RUWE < 1.2 only | 1.8×10⁻³ (65) | 1.5×10⁻⁴ (26) | 1.5×10⁻⁵ (0) | 3.3×10⁻⁵ (0) |
| No colour-consistency cut | 8.7×10⁻⁴ (33) | 2.1×10⁻⁴ (30) | 1.4×10⁻⁴ (14) | 1.7×10⁻⁴ (6) |
| Spectroscopic criterion only | 2.8×10⁻³ (177) | 1.3×10⁻³ (271) | 2.5×10⁻⁴ (31) | 9.2×10⁻⁵ (2) |
The idea is from Zackrisson, Korn, Wehrhahn and Reiter 2018 (ApJ 862, 21; arXiv:1804.08351). They compared Gaia DR1 parallaxes with RAVE DR5 spectrophotometric distances for 8,441 stars, listed a few outliers with covering fraction above 0.7, followed up one (TYC 6111-1162-1) and derived no population limit. My arXiv searches found no later study of this type.
New here: (1) a sample about 90 times larger, with DR3 parallaxes and three sets of spectra; (2) quantitative upper limits with injection-recovery, a selection model for dimmed stars and a vetting efficiency; (3) the three-way criterion; (4) the finding that the part of the faint tail removed by tighter astrometric cuts tracks astrometric quality. Not new: the idea, and the emptiness of the region more than 1.5 mag below the main sequence for disc stars of near-solar metallicity, which is what the f ≥ 0.75 result amounts to.
Relation to the infrared limits. Suazo et al. 2022 (MNRAS 512, 2988) limit 300 K, 90%-complete spheres to below about 2×10⁻⁵ of stars within 100 pc and 8×10⁻⁴ within 5 kpc; their limits reach covering fractions down to about 10%. Suazo et al. 2024 (MNRAS 531, 695) reported 7 candidates, all M dwarfs, among about 5 million stars, and Contardo and Hogg 2024 (arXiv:2403.18941) 53 mid-infrared excess sources. Follow-up points largely to background contamination. Archival diagnostics find it in candidates B and C, with suggestive or marginal evidence in five more (Ren, Garrett and Siemion 2024, arXiv:2405.14921; Ren et al. 2026, arXiv:2607.03619). JWST/MIRI shows that candidates D and E are background galaxies (Zackrisson et al. 2026, arXiv:2607.09460). Korn et al. 2026 (arXiv:2607.25701) find normal stellar parameters and no clear explanation from the stars themselves. Blain 2024 (arXiv:2409.11447) makes the galaxy-confusion argument and notes that a Dyson structure could instead make its star anomalously faint in a stellar catalogue, which is the signature tested here.
My limits need no infrared detection, so background galaxies cannot create candidates, but the method has its own unresolved confusion in the unexplained stars. My f = 0.9 limit (3.9×10⁻⁵) is weaker than the infrared one within 100 pc and about 20 times stronger than the one within 5 kpc. It applies at any waste-heat temperature below about 400–600 K.
Among FGK main-sequence stars within 1 kpc, fewer than 1 in about 5,000 can be hidden behind a grey swarm covering half of the star (1 in 9,000 with the tightened cuts). Fewer than 1 in about 25,000 can be behind one covering 75–90%. At 25% covering the limit is only 5×10⁻⁴ to 2×10⁻³, for K and G dwarfs. The data are consistent with none.
This narrows, and does not close, the "cold or non-radiating swarm" loophole in the infrared null results. It narrows it for grey swarms covering half or more of an FGK main-sequence star, at the 10⁻⁴ level. Extrapolated to roughly 10¹⁰ Galactic FGK stars, which assumes the local high-latitude sample is representative, the limits still allow from a few times 10⁵ systems (f ≥ 0.75) to about 2×10⁶ (f = 0.5), so this constrains frequency and not existence. It says nothing about civilisations using under a quarter of their star's light, dust-like or optically re-emitting swarms, nearly complete spheres, M-dwarf hosts or stars beyond 1 kpc.
python3 code/run_all.py downloads the data (about 2 h,
cached under raw/) and runs both cut sets;
--no-download takes about 1 h. Outputs for the tightened
cuts are in data/, for the pre-declared cuts in
data/origcuts/. Every number quoted here is printed to
data/report_numbers.txt. Figures:
fig1_deficit_distributions.png,
fig2_hr_flagged.png,
fig3_selection_efficiency.png,
fig4_limits.png,
fig5_tail_vs_astrometry.png.
For this revision the stages were run one at a time, in dependency
order, by a shell loop that calls the same scripts with the same
environment as run_all.py; run_all.py itself
was run from make_figures onward. A second run of the
vetting and limits stages reproduced the candidate tables and limits
exactly.
data/astrometry_diagnostic_final.csv), the
faint-half and parallax-S/N concentration is reported instead, novelty
item 4 is restricted, and Fig. 5 is replaced.selection.py
and matches the referee's values within about 0.01.vet_candidates.py. The image
inspection remains manual and is marked so.Does the headline survive? At f ≥ 0.75, yes. At f ≤ 0.5 only as a conservative range; the single values of the first pass (5.2×10⁻⁴ and 1.1×10⁻⁴) are withdrawn.
| Quantity | Value | Uncertainty | Note |
|---|---|---|---|
| Clean sample, unique stars (combined) | 790,783 (tightened cuts); 950,640 (pre-declared cuts) | Tightened: APOGEE 77,544, LAMOST 535,484, GSP-Spec 265,047 before removing overlaps; 74% log g >= 4.1; distances 152-882 pc (5-95%), median 467 pc; 95% at |b| > 17 deg | |
| 95% upper limit on fraction of stars with grey dimming f = 0.25 | 5.3e-4 to 1.9e-3 | range spans the two astrometric cut sets; selection-model variants add 5.2-5.4e-4 and 1.8-2.0e-3 within each | K and G dwarfs only (98% of exposure). Tightened cuts: 23 unresolved, 133,335 sensitive stars; pre-declared cuts: 92 unresolved, 129,176 sensitive. The upper end is the safe number |
| 95% upper limit, f = 0.5 | 1.1e-4 to 2.1e-4 | range spans the two cut sets; selection-model variants 1.00-1.16e-4 and 1.9-2.2e-4 | Main-sequence stars only (log g >= 4.1; 99.6% of exposure). Tightened: 15 unresolved, 512,730 sensitive; pre-declared: 45 unresolved, 626,809 sensitive |
| 95% upper limit, f = 0.75 | < 3.6e-5 | 3.0e-5 to 4.1e-5 from selection-model variants | Tightened cuts, 2 unresolved (both GSP-Spec, deficits 62-70%), 687,212 sensitive. Pre-declared cuts give 2.0e-5 (1 unresolved). Subgiants alone: 1.8e-4 |
| 95% upper limit, f = 0.9 | < 3.9e-5 | 3.0e-5 to 4.8e-5 from selection-model variants | Zero candidates under both cut sets; 751,740 sensitive stars. Pre-declared cuts give 2.9e-5. Subgiants alone: 2.2e-4. Weaker than the infrared limit for 300 K swarms within 100 pc (2e-5) |
| 95% upper limits as a fraction of the stars actually observed (no selection model), f = 0.25/0.5/0.75/0.9 | 4.2e-4, 6.5e-5, 1.2e-5, 4.8e-6 (tightened); 1.5e-3, 1.3e-4, 7.3e-6, 4.0e-6 (pre-declared) | Do not depend on the modelled selection efficiency | |
| Three-way flagged / unresolved stars, combined sample, f = 0.25/0.5/0.75/0.9 | 23/23, 16/15, 2/2, 0/0 (tightened); 96/92, 51/45, 2/1, 0/0 (pre-declared) | 39 distinct unresolved stars under the tightened cuts (32 LAMOST, 5 GSP-Spec, 2 APOGEE); 136 under the pre-declared cuts (124 LAMOST) | |
| Core scatter of D = log10(L_parallax/L_spectroscopic) | 0.036 dex (APOGEE), 0.039 dex (LAMOST), 0.117 dex (GSP-Spec) | robust sigma of the clean samples; APOGEE K dwarfs 0.022 dex | |
| Injection recovery R (combined, three-way) and end-to-end correction C | R = 0.62, 0.71, 0.81, 0.86; C = 0.969, 0.997, 0.994, 0.994 | C at f = 0.25: LAMOST 0.96 +/- 0.02 (146 of 152), APOGEE 1.00 (149 of 149) | C measured with 0.2% of stars dimmed at once; it falls to 0.86-0.95 at 0.8% and 0.88 at 2% injected, and is exactly 1 for a single star |
| Selection efficiency eps of a dimmed star (combined mean), modelled versus model-free twin estimate | modelled 0.79, 0.60, 0.32, 0.12; twin 0.82, 0.63, 0.35, 0.14 | LAMOST twin range over seven disc models: 0.85-0.88, 0.65-0.71, 0.37-0.45, 0.16-0.22 | Twin estimate for LAMOST and APOGEE only; model is 3-22% lower (conservative). With twin values the limits would be 5.2e-4, 1.04e-4, 3.3e-5, 3.3e-5 |
| Vetting survival probability V | 0.97 | second-survey rule falsely dismisses 3.9-6.1% on overlaps of 22,412-46,861 stars | |
| Share of exposure by class at f = 0.25 / 0.5 / 0.75 / 0.9 (tightened cuts) | subgiants (log g < 4.1): 0.01% / 0.4% / 9.7% / 17.8%; at f = 0.25: K dwarfs 65.5%, G dwarfs 32.4%, F dwarfs 2.1% | LAMOST subgiant recovery 0.000, 0.006, 0.42, 0.79; LAMOST carries 79-88% of the exposure | |
| Colour-magnitude test without Teff or log g: stars more than 0.75 / 1.0 / 1.25 / 2.0 mag below the main-sequence ridge | LAMOST clean with [Fe/H]: 23 / 2 / 0 / 0 of 515,055; colour only: 51 / 6 / 0 / 0; Gaia parent sample without spectroscopy: 179 / 43 / 1 / 0 of 66,617 | Parent-sample stars 0.75-1.25 mag below are halo subdwarfs (median v_tan 221 km/s). Before the colour-consistency cut 17 LAMOST stars lie more than 1.5 mag below; all have M-dwarf colours | |
| LAMOST f = 0.25 flagged rate versus astrometric quality, pre-declared cuts | 8.7e-3 at parallax/error 20-30 falling to 1.8-2.9e-4 above 100; 6-7e-4 at RUWE < 1.2 against 4.3-5.2e-3 at RUWE 1.2-1.4 | Each effect is about a factor of ten with the other held fixed. Inside the tightened cuts there is no significant RUWE trend (f = 0.5: 4/195,804 at RUWE < 1.0 against 1/48,533 at 1.1-1.2) | |
| Concentration of remaining LAMOST candidates in the fainter half (tightened cuts) | 20 of 21 flagged at f = 0.25; 11 of 13 at f = 0.5 | f = 0.25 rate 2.6e-4 (fainter half) against 2.9e-5 (brighter half); 3.9e-4 at parallax/error 50-70 against 1.0e-4 above 100 | |
| Unresolved candidates with AllWISE W3/W4 excess | 0 of 39 (tightened); 0 of 136 (pre-declared) | 35 and 118 have photometry good enough to test; no W4 detection above S/N 3 in IRSA rows (39 of 39 and 28 of 136 retrieved; IRSA TAP was down during the revision). GALEX: 0 far-UV detections among 29 covered (tightened) | |
| Limits from the spectroscopic criterion alone (combined, tightened), f = 0.25/0.5/0.75/0.9 | 2.7e-3, 1.5e-3, 1.2e-3, 3.2e-3 | 236 / 408 / 203 / 223 flagged, mostly dwarfs with underestimated log g; the three-way criterion is necessary | |
| Warmest waste heat for which the Ks band stays grey (Sun-like star) | about 600 K (f = 0.25), 520 K (0.5), 470 K (0.75), 420 K (0.9) | blackbody estimate, Ks brightening of 0.1 mag |





Every number above is produced by these scripts from public data. The data tables themselves are not hosted here; the scripts download them.
analysis.py build_samples.py cmd_check.py common.py cutouts.py dimlib.py download_data.py injection.py limits.py make_figures.py report_numbers.py robustness.py run_all.py selection.py vet_candidates.py
A second, separate analysis re-ran the code, recomputed the main numbers by its own route and tried to break the result. Like the first, it was run by Claude for this project; it is not an outside expert. In its report “the analyst” is the first analysis, which wrote the paper, and file names that are not linked on this page are its own working files. The paper above is the version revised in response.
Verdict: sound with fixes. Results reproduced: yes.
I did not redo the 2-hour download or build_samples.py; I started from the analyst's built per-star tables and spot-checked those against the archives.
| f | my flagged | my R | my 95% UL (stars as observed) | analyst LAMOST (as observed) |
|---|---|---|---|---|
| 0.9 | 0 | 0.887 | 6.5e-6 | 6.7e-6 |
| 0.75 | 1 | 0.851 | 1.07e-5 | 7.1e-6 |
| 0.5 | 28 (11 of the analyst's 13) | 0.711 | 1.04e-4 | 6.3e-5 |
The one f = 0.75 star (3363973456023915776, log g 3.98, D = -0.59) sits on the main sequence; the analyst's log-g-free floor rejects it. My crude criterion is not usable at f = 0.25 (722 flagged), so that level is confirmed only by the rerun, not independently.
Once the three-way criterion is applied, the test is no longer 'spectroscopic versus parallax luminosity'. It is 'does the star lie below the lower edge of the main sequence at its Teff, colour and [Fe/H]'. Spectroscopic log g contributes nothing: stars with log g < 4.1 have zero recovery at f <= 0.5. An expert would then say two things.
The f = 0.25 and 0.5 'limits' measure the catalogue-error floor, not Dyson swarms. They are set by about 35 unexplained stars lying 0.3-1.1 mag below the main sequence. Their number changes by factors of 2-4 with astrometric cuts chosen after looking at the data, and nobody has established what they are. From the analyst's tables, they are not halo subdwarfs: the median tangential velocity is 29 km/s. My own checks found no excess of LAMOST-versus-Gaia radial-velocity discrepancies among the 23 with Gaia velocities (2 beyond 2 sigma, in line with the control rate), and the two deepest (TYC 2990-957-1 and Gaia DR3 3966264313442458112) are isolated point sources in Legacy Survey images. They concentrate at faint magnitudes and low parallax S/N, which points to measurement error, but that is not shown star by star.
The f >= 0.75 limits rest on a selection efficiency of 0.12-0.32 that is modelled, not measured.
Does the conclusion survive? At f >= 0.75, yes, robustly. A colour-magnitude check that uses no Teff or log g finds no LAMOST star among 520,000 more than 1.5 mag below the main-sequence ridge, and an independent selection-efficiency estimate that does not use the Gaia parent sample agrees within 15% (0.17 against 0.15 at f = 0.9). The limits of 2-4e-5 stand. At f <= 0.5 the conclusion survives only as a conservative order-of-magnitude statement, because every unexplained star is counted: about 1e-4 to 2.4e-4 at f = 0.5 and 5e-4 to 2e-3 at f = 0.25, for main-sequence stars. These must be quoted as ranges, not as 1.1e-4 and 5.2e-4.
Novel: partly. The method is Zackrisson et al. 2018, as the analyst says. They used 8,441 Gaia DR1 + RAVE DR5 stars and explicitly declined to derive a population limit. I found no later paper that turns spectroscopic-versus-parallax luminosities into a limit on the fraction of dimmed stars. arXiv API searches (Dyson with spectrophotometric, parallax + spectroscopic, underluminous, subluminous, LAMOST, Gaia DR3, dimming, upper limit, Hephaistos) return only infrared work up to August 2026. So the quantitative limits, with injection-recovery and a selection model, appear to be new. Two qualifications. First, at f >= 0.75 the result is in substance the long-known emptiness of the region 1.5-2.5 mag below the main sequence for near-solar-metallicity disc stars; my colour-magnitude check reproduces the zero count without using Teff or log g, so spectroscopy contributes mainly the metallicity. Second, the claimed finding that the remaining tail tracks astrometric quality holds only for the tail removed by the tightened cuts. The f = 0.9 limit (3.9e-5) is weaker than the published infrared limit for 300 K swarms within 100 pc (2e-5); what is new is that it does not depend on waste-heat temperature.