Let the CosmoSIS inference chain consume the sp_validation SACC file natively through an sp_validation-owned subclass of the upstream SaccClLikelihood, so the fiducial (IA-only, ξ±) pipeline no longer depends on the 2pt-FITS converter.
Desired end state
- An sp_validation-owned CosmoSIS module,
SaccLikeUnions(SaccClLikelihood), reads a {version}.sacc file and produces a ξ± likelihood numerically identical to the existing 2pt-FITS + 2pt_like path. It overrides only what two hazards in the upstream class require: the upstream ξ± path evaluates a radian-θ theory spline at arcmin data tags (theory ≈ 0, χ² silently wrong), and it assumes a theory↔data ordering it never enforces. The subclass evaluates theory on radian θ while keeping self.sacc_data in arcmin, applies scale cuts in arcmin, and adds a loud ordering guard that raises on a misordered file. A third upstream defect (an undefined-name bug in the unused keep_tracers path) is deliberately left untouched.
- The inference-prep step emits, from one assembled
{version}.sacc, two CosmoSIS ini files: the legacy 2pt-FITS + 2pt_like path and a native sacc_like_unions path pointing directly at the SACC file. n(z) is read directly from the SACC NZ tracers — no 2pt-FITS is required on the native path.
- The shim is self-retiring: a tripwire test fails the day upstream fixes the unit bug, signaling the subclass can be deleted.
Out of scope (dormant, unchanged): the PSF / xi_sys pipeline variant and the glass-mock rules stay on the existing FITS-assembly path.
Acceptance
- A test suite asserts χ² / theory-vector / post-cut-count equality between the two paths to machine precision, and asserts the ordering guard raises on a misordered file. The suite skips cleanly where CosmoSIS is unavailable.
— Fable on behalf of Cail.
Let the CosmoSIS inference chain consume the sp_validation SACC file natively through an sp_validation-owned subclass of the upstream
SaccClLikelihood, so the fiducial (IA-only, ξ±) pipeline no longer depends on the 2pt-FITS converter.Desired end state
SaccLikeUnions(SaccClLikelihood), reads a{version}.saccfile and produces a ξ± likelihood numerically identical to the existing 2pt-FITS +2pt_likepath. It overrides only what two hazards in the upstream class require: the upstream ξ± path evaluates a radian-θ theory spline at arcmin data tags (theory ≈ 0, χ² silently wrong), and it assumes a theory↔data ordering it never enforces. The subclass evaluates theory on radian θ while keepingself.sacc_datain arcmin, applies scale cuts in arcmin, and adds a loud ordering guard that raises on a misordered file. A third upstream defect (an undefined-name bug in the unusedkeep_tracerspath) is deliberately left untouched.{version}.sacc, two CosmoSIS ini files: the legacy 2pt-FITS +2pt_likepath and a nativesacc_like_unionspath pointing directly at the SACC file. n(z) is read directly from the SACC NZ tracers — no 2pt-FITS is required on the native path.Out of scope (dormant, unchanged): the PSF / xi_sys pipeline variant and the glass-mock rules stay on the existing FITS-assembly path.
Acceptance
— Fable on behalf of Cail.