# DFD vs ΛCDM sky-map discriminator — results note

**The test.** DFD's late-time optical screen predicts that supernovae behind foreground overdensities look
slightly *farther* (Hubble residual δμ ∝ **+**κ_fg), whereas ordinary ΛCDM lensing magnifies them → *closer*
(δμ ∝ **−**κ_fg). Opposite sign = a structural prediction ΛCDM cannot fake. Frozen DFD screen amplitude
A = 2√α·R/(1+R) = 0.0667, no refit. Honesty-guard both ways; measured slopes only, never forecasts.

## What was done (all real data)
- **Pantheon+** SN Hubble residuals (frozen-screen model, M marginalized) × foreground convergence at each
  SN sightline. Multivariate GLS (host-mass control), full Pantheon+ covariance, jackknife / rotation-null errors.
- **Three real foreground tracers:**
  1. **Planck 2018 CMB lensing** (`skymap_discriminator.py`): coordinate-corrected (Galactic→Equatorial).
     Slope +0.1σ — **null** (CMB lensing source z~1100 is too deep: mostly mass *behind* the SNe).
  2. **2MRS** galaxy density (`foreground_galaxy_test.py`): too shallow (z<0.08); sign-flips across z-cuts =
     noise; low-z is peculiar-velocity-contaminated. **Inconclusive.**
  3. **SDSS spectroscopic** redshift-truncated foreground (`sdss_foreground_test.py`, 2.1M galaxies, 12 z-bins):
     each SN counts only mass *in front of it*, lensing-kernel weighted. 711 velocity-clean SNe.
     Slope ≈ **−1σ** (robust across 7 variants, `sdss_robustness.py`) — the standard-lensing (ΛCDM) sign.

## Validation (honesty-guard)
- **Injection test:** the regression recovers planted slopes (+2→+1.99, −2→−2.01, 0→0).
- **External sign check** (`sign_check.py`): the SDSS κ-proxy correlates **positively** (r=+0.032) with Planck's
  independent κ — the known galaxy×CMB-lensing signal — so the proxy traces real mass and a negative SN-residual
  slope genuinely means the ΛCDM sign. (r=+0.032 is weak → the proxy is *noisy*, not a calibrated convergence.)
- **A real bug was caught and fixed:** Planck maps are Galactic; sampling them at Equatorial SN positions gave
  wrong pixels (invalidated the first Planck result). Fixed.

## Honest verdict
The SDSS test is a **better galaxy-density proxy, not a calibrated convergence reconstruction** (it lacks proper
random catalogs δ_g=(N_d−αN_r)/αN_r, galaxy bias b(z), and mock calibration). At 711 SNe, ~1σ means **no DFD
signal and a weak ordinary-lensing-sign lean — not a falsification**, but the first place the data did not break
DFD's way. The DFD positive prediction is **unconfirmed, not falsified, mildly adverse so far**. A decisive verdict
needs a calibrated foreground convergence (or a real weak-lensing mass map) × a larger SN sample (LSST/Roman).

## Calibrated overall status (this campaign)
**DFD is now a serious ΛCDM competitor, not a proven replacement.** It PASSED "can it compete globally?" — the
joint real-data fit (CMB plik-lite cobaya-validated + BAO + Pantheon+ + lensing, 2206 pts) reaches ΛCDM quality
with fewer derived inputs, BIC-favored, screen amplitude derived (trace-coupling/baryon gate) to ~1σ of the
data-required value. It has NOT yet passed "can it make a unique CONFIRMED prediction?" — that is exactly this
sky-map sign test, the next real battlefield.

## Reproduce
`bash skymap_data/FETCH_SKYMAP_DATA.sh` (pulls SDSS z-bins, Planck lensing, 2MRS), then from `DFD_CLASS_verification/`:
`PYTHONPATH=$PWD python3 sdss_foreground_test.py` (and `sdss_robustness.py`, `sign_check.py`, `skymap_discriminator.py`).
Needs healpy + the same env as the cosmology campaign.
