{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "manifest_version": "1.5.0",
  "project": "diffgw",
  "frontends": [
    "torchwave",
    "jaxwave"
  ],
  "description": "Gravitational waveform implementations for PyTorch (torchwave) and JAX (jaxwave), with per-model reference evidence, native NR calibration components and documented provenance limitations.",
  "acceptance_gates": {
    "direct_cpu_fp64": {
      "complex_relative_l2": 1e-06,
      "relative_norm_error": 1e-06,
      "flat_mismatch": 1e-08,
      "psd_mismatch": 1e-08
    },
    "precessing_and_hm_tolerance": {
      "optimized_match": 0.995,
      "role": "diagnostic reference only; does not replace direct complex, norm, or mismatch gates"
    }
  },
  "global_conventions": {
    "units": {
      "mass": "Solar masses (M_sun, 1 M_sun = 4.925491025543576e-6 s)",
      "distance": "Megaparsecs (Mpc, 1 Mpc = 3.085677581491367e22 m)",
      "frequency": "Hertz (Hz)",
      "time": "Seconds (s)",
      "spin": "Dimensionless [-1, 1]",
      "spin_induced_quadrupole": "Dimensionless C_Q; Kerr value 1; independent octupoles remain at Kerr values",
      "tidal_deformability": "Dimensionless Lambda >= 0",
      "eccentricity": "Dimensionless e0 in [0, 0.4)"
    },
    "polarizations": "Complex Fourier strain h_plus(f) and h_cross(f) in physical geometric units (G/c^2 / distance)",
    "time_translation": "Model-specific. Explicit Fourier time shifts generally use exp(-2*pi*i*f*tc); the default legacy NSBH gauge retains a positive time slope anchored at f_ref. See each model and the independent audit.",
    "reference_phasing": "Model-specific reference phases are tested only for the declared configurations; unresolved frame and phase conventions are documented in the independent audit."
  },
  "models": {
    "TaylorF2": {
      "name": "TaylorF2",
      "aliases": [
        "taylorf2"
      ],
      "lal_approximant": "TaylorF2",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "pn_orders": {
        "spin_order": "Historical term groups: default 7 includes spin-orbit through 3.5PN and spin-spin, including non-Kerr spin-induced quadrupoles, through 3PN; 8 adds 3.5PN spin-spin tails and cubic spin. Negative values match 7. See docs/math/taylorf2-aligned-spin.md and docs/math/taylorf2-spin-quadrupole.md.",
        "tidal_order": "Adiabatic electric quadrupolar phase: default 12 includes 5PN/6PN; 13 or negative values also include the 6.5PN tail. Both lambda1 and lambda2 must be supplied, with explicit zero for a black-hole companion. See docs/math/taylorf2-tidal.md."
      },
      "parameters": {
        "required": [
          "mass1",
          "mass2"
        ],
        "optional": [
          "chi1",
          "chi2",
          "spin1z",
          "spin2z",
          "distance",
          "inclination",
          "phic",
          "tc",
          "f_ref",
          "lambda1",
          "lambda2",
          "quad_monopole1",
          "quad_monopole2",
          "spin_order",
          "tidal_order"
        ]
      },
      "status": "verified_declared_cases",
      "notes": "The declared frozen catalog and available holdout cases passed the CPU FP64 gates for polarizations and detector projections. The separate spin-induced quadrupole mathematical reference verifies the declared non-Kerr phase slice but does not establish complete neutron-star physics or full-domain accuracy. Results are historical and configuration-specific. See the pinned validation artifacts and docs/provenance_ledger.md.",
      "primary_references": [
        {
          "citation": "Buonanno, Iyer, Ochsner, Pan, Sathyaprakash (2009), Phys. Rev. D 80, 084043",
          "doi": "10.1103/PhysRevD.80.084043"
        },
        {
          "citation": "Mishra, Kela, Arun, Faye (2016), Phys. Rev. D 93, 084054",
          "doi": "10.1103/PhysRevD.93.084054"
        },
        {
          "citation": "Nagar et al. (2019), Phys. Rev. D 99, 044007; spin-induced quadrupole phase",
          "doi": "10.1103/PhysRevD.99.044007"
        },
        {
          "citation": "Dietrich et al. (2019), Phys. Rev. D 100, 044003; cubic-spin quadrupole phase",
          "doi": "10.1103/PhysRevD.100.044003"
        },
        {
          "citation": "Vines, Flanagan, Hinderer (2011), Phys. Rev. D 83, 084051",
          "doi": "10.1103/PhysRevD.83.084051"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "TF2_point_particle_bns",
            "TF2_unequal_spinning",
            "TF2_tidal_6PN",
            "TF2_tidal_6.5PN"
          ],
          "cases_passed": 4,
          "cases_total": 4,
          "max_polarization_complex_relative_l2": 1.6394511672528196e-12,
          "max_projection_complex_relative_l2": 2.962178587343778e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [],
          "cases_passed": 0,
          "cases_total": 0,
          "max_polarization_complex_relative_l2": null,
          "max_projection_complex_relative_l2": null,
          "verification_scopes": []
        }
      }
    },
    "TaylorF2_HM": {
      "name": "TaylorF2_HM",
      "aliases": [
        "taylorf2hm",
        "taylorf2_hm"
      ],
      "lal_approximant": "TaylorF2 (higher mode expansion)",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)",
        "(2,1)",
        "(3,1)",
        "(3,2)",
        "(3,3)",
        "(4,2)",
        "(4,3)",
        "(4,4)"
      ],
      "status": "scoped_math_reference",
      "notes": "The versioned independent scalar reference checks the leading-amplitude eight-mode carrier, negative-m polarization projection, inherited aligned-spin phase, and Schwarzschild hard-cutoff thresholds against Torch and JAX. A checksum-pinned author Mathematica supplement checks all eight leading amplitude ratios and signed nonspinning complex modes; composition with a separately published polarization map checks per-mode and summed complex polarizations at two orientations in the unwindowed f_ref=None slice. Paper-level output identities separately check the published native negative-m storage, polarization projection, 2f/m phase map, SPA offset, and phase/time signs. Public LAL spin-weighted harmonics independently check the angular basis only. The supplement is symbolic input, not an independently published numerical generator for the complete native complex-waveform contract; the historical external TaylorF2 waveform case checks only (2,2). Exact external all-eight-mode same-model complex-waveform parity and physical validation remain unavailable. Higher-PN and spin-amplitude completeness remains unresolved. See docs/math/taylorf2-hm.md.",
      "primary_references": [
        {
          "citation": "Kidder (2008), Phys. Rev. D 77, 044016",
          "arxiv": "0710.0614"
        },
        {
          "citation": "Arun, Buonanno, Faye and Ochsner (2009), Phys. Rev. D 79, 104023",
          "arxiv": "0810.5336"
        },
        {
          "citation": "Henry (2023), Class. Quantum Grav. 40, 145007",
          "arxiv": "2210.15602v2"
        },
        {
          "citation": "Garc\u00eda-Quir\u00f3s et al. (2020), Phys. Rev. D 102, 064002",
          "doi": "10.1103/PhysRevD.102.064002",
          "equations": "Eqs. (2)-(9), (29), and (34)"
        },
        {
          "citation": "Mezzasoma and Yunes (2022), Phys. Rev. D 106, 024026",
          "arxiv": "2203.15934",
          "equations": "Eqs. (20)-(21i) and (23)-(30)"
        },
        {
          "citation": "Mishra et al. (2016), Phys. Rev. D 93, 084054",
          "arxiv": "1601.05588",
          "equations": "Eqs. (9)-(12h) and arXiv v1 supplement supl-mkaf16.m; opposite Fourier convention"
        }
      ],
      "math_reference": {
        "version": "taylorf2-hm-leading-carrier/v1",
        "scope": "eight leading-amplitude modes; unwindowed complex polarizations and selected derivatives; Schwarzschild hard-cutoff thresholds",
        "evidence": "tests/test_taylorf2_hm_author_supplement_math_reference.py (all-eight leading amplitude ratios, nonspinning complex modes, and composed polarizations); tests/test_taylorf2_hm_math_reference.py; tests/test_taylorf2_hm_paper_math_reference.py; tests/test_taylorf2_hm_external_api.py (public angular basis and API boundary only)",
        "external_eight_mode_oracle": "unavailable"
      },
      "validation": {
        "catalog": {
          "case_ids": [
            "TaylorF2_HM_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 1.6385724532630683e-12,
          "max_projection_complex_relative_l2": 2.962178587379361e-07,
          "verification_scopes": [
            "dominant_mode_only"
          ]
        },
        "holdout": {
          "case_ids": [],
          "cases_passed": 0,
          "cases_total": 0,
          "max_polarization_complex_relative_l2": null,
          "max_projection_complex_relative_l2": null,
          "verification_scopes": []
        }
      }
    },
    "TaylorF2_Eccentric": {
      "name": "TaylorF2_Eccentric",
      "aliases": [
        "taylorf2eccentric",
        "taylorf2_eccentric",
        "eccentrictaylorf2"
      ],
      "lal_approximant": "TaylorF2Ecc",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "eccentricity_range": "[0, 0.4)",
      "pn_orders": {
        "ecc_order": "Up to 6 (3PN eccentric phase expansion)"
      },
      "status": "verified_declared_cases",
      "notes": "The historical catalog includes a circular case and a spinning eccentric case. A separate versioned slice now covers only nonspinning, comparable-mass, nonzero low-eccentricity inspiral with explicit f0_ecc/f_ref and optional amplitude correction off; two new frozen holdouts passed Torch and JAX CPU FP64 direct LAL gates. The native API accepts wider inputs than the qualified slice. Historical aggregate counts below remain tied to their pinned artifacts.",
      "scoped_qualification": {
        "reference_version": "taylorf2-eccentric-nonspinning-e2-3pn/v1",
        "specification": "docs/math/taylorf2-eccentric.md",
        "receipt": "docs/validation/taylorf2_eccentric_nonspinning_holdout_20260927.json",
        "test": "tests/test_taylorf2_eccentric_holdout.py",
        "scope": "nonspinning q<=2, 0<e0<=0.1, positive-frequency band below Schwarzschild ISCO, 3PN O(e0^2), explicit f0_ecc/f_ref, reference-frequency gauge, amplitude correction off",
        "holdout_case_ids": [
          "TF2Ecc_nonspin_offcatalog_20260927",
          "TF2Ecc_nonspin_offcatalog_second_20260927"
        ],
        "backends": ["torch", "jax"],
        "status": "sampled_pass"
      },
      "primary_references": [
        {
          "citation": "Moore, Favata, Arun, Mishra (2016), Phys. Rev. D 93, 124061",
          "doi": "10.1103/PhysRevD.93.124061",
          "equations": "Eq. (6.26), eccentric phase only; optional amplitude factor is a project option with source pending"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "TF2Ecc_circular_limit",
            "TF2Ecc_eccentric_spinning"
          ],
          "cases_passed": 2,
          "cases_total": 2,
          "max_polarization_complex_relative_l2": 1.6385727303663531e-12,
          "max_projection_complex_relative_l2": 2.9626893965504786e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [],
          "cases_passed": 0,
          "cases_total": 0,
          "max_polarization_complex_relative_l2": null,
          "max_projection_complex_relative_l2": null,
          "verification_scopes": []
        }
      }
    },
    "IMRPhenomD": {
      "name": "IMRPhenomD",
      "aliases": [
        "imrphenomd"
      ],
      "lal_approximant": "IMRPhenomD",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "status": "verified_declared_cases",
      "notes": "The declared frozen catalog and available holdout cases passed the CPU FP64 gates for polarizations and detector projections. Results are historical and configuration-specific; they do not establish full-domain accuracy. See the pinned validation artifacts and docs/provenance_ledger.md.",
      "primary_references": [
        {
          "citation": "Husa et al. (2016), Phys. Rev. D 93, 044006",
          "doi": "10.1103/PhysRevD.93.044006"
        },
        {
          "citation": "Khan et al. (2016), Phys. Rev. D 93, 044007",
          "doi": "10.1103/PhysRevD.93.044007",
          "tables": "Table V",
          "equations": "Eqs. (24), (28)-(32)"
        },
        {
          "citation": "Berti, Cardoso, Will (2006), Phys. Rev. D 73, 064030",
          "doi": "10.1103/PhysRevD.73.064030",
          "tables": "Table VIII"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomD_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 6.257283038536445e-14,
          "max_projection_complex_relative_l2": 2.987382611498888e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomD_holdout_0",
            "IMRPhenomD_holdout_1",
            "IMRPhenomD_holdout_2"
          ],
          "cases_passed": 3,
          "cases_total": 3,
          "max_polarization_complex_relative_l2": 2.2224059659344118e-07,
          "max_projection_complex_relative_l2": 4.125275274345382e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      }
    },
    "IMRPhenomPv2": {
      "name": "IMRPhenomPv2",
      "aliases": [
        "imrphenomp",
        "imrphenompv2"
      ],
      "lal_approximant": "IMRPhenomPv2",
      "domain": "frequency_domain",
      "spins": "precessing",
      "modes": [
        "(2,2) coprecessing"
      ],
      "frame_convention": "P-frame precession angle twisting via single effective precession parameter chi_p",
      "status": "verified_declared_cases",
      "notes": "The declared frozen catalog and available holdout cases passed the CPU FP64 gates for polarizations and detector projections. Results are historical and configuration-specific; they do not establish full-domain accuracy. See the pinned validation artifacts and docs/provenance_ledger.md.",
      "primary_references": [
        {
          "citation": "Hannam et al. (2014), Phys. Rev. Lett. 113, 151101",
          "doi": "10.1103/PhysRevLett.113.151101"
        },
        {
          "citation": "Schmidt et al. (2015), Phys. Rev. D 91, 024043",
          "doi": "10.1103/PhysRevD.91.024043"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomPv2_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 4.504968769541274e-14,
          "max_projection_complex_relative_l2": 3.0151009670979543e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomPv2_holdout"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 6.304078185056227e-14,
          "max_projection_complex_relative_l2": 3.3393657251624037e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      }
    },
    "IMRPhenomXP": {
      "name": "IMRPhenomXP",
      "aliases": [
        "imrphenomxp"
      ],
      "lal_approximant": "IMRPhenomXP",
      "domain": "frequency_domain",
      "spins": "precessing",
      "modes": [
        "(2,2) coprecessing"
      ],
      "frame_convention": "Default MSA version 223, convention 1, final_spin_mod=3; supported convention-0/1/6 requests use the clean MSA route when its roots are valid. One-spin-aligned rows use the continuous physical opening, including nonzero phi0. Generic equal-mass or invalid-root rows use NNLO angles; explicit final_spin_mod=3 raises for an invalid nonaligned MSA remnant root, while mode 0 is available. Valid unequal-mass generic two-spin nonzero-phi0 rows use the same clean source chart; unsupported guard rows use explicit fallback. Convention 6 applies its quadrupole output phase to clean convention-1 strain.",
      "status": "verified_declared_cases",
      "notes": "Frozen checkpoint-3 public catalog and holdout generic rows pass for convention 1 (maximum polarization complex relative L2 7.36e-14 catalog and 3.52e-14 holdout; detector projection errors are 3.02e-7 and 3.40e-7). The production default is MSA version 223 with convention=1 and final_spin_mod=3; convention 6 applies the sourced quadrupole output phase after projection. The physical zero-nutation opening is a later scoped change: explicit v223 diagnostics preserve the strict LAL gate, while the public aligned convention-6 fixture differs by 1e-5 to 5e-5 complex relative L2. An independent arbitrary-precision generic-boundary diagnostic resolves the published cubic and chart singularity, but does not supply a sourced float64 small-misalignment continuation. The later paper-prescribed NNLO angle fallback makes the two former near-aligned expected-failure tests pass the unchanged internal gate; invalid nonaligned MSA remnant roots still reject explicit final_spin_mod=3. The declared nonzero-phi0 generic full-waveform fixture passes the mapped public-binary strict gate; equal-mass and near-aligned v223 boundary comparisons still fail. Historical tiny-spin and exact-aligned measurements in earlier artifacts describe their recorded implementation, not a newly qualified parameter domain. Unsupported guard rows use explicit fallback. The nonzero-phi0 map is derived from the published source frames, not quoted as a paper equation.",
      "primary_references": [
        {
          "citation": "Pratten et al. (2021), Phys. Rev. D 103, 104056",
          "doi": "10.1103/PhysRevD.103.104056",
          "equations": "Appendix B, Eq. (63); Appendix C, Eqs. (67)-(68), (76)-(85); Appendix E, Eqs. (110)-(113); Appendix F, Table IV"
        },
        {
          "citation": "Chatziioannou et al. (2017), Phys. Rev. D 95, 104004",
          "doi": "10.1103/PhysRevD.95.104004",
          "equations": "Eqs. (21)-(25), Eq. (51), and Appendices B and E"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomXP_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 7.356762654765714e-14,
          "max_projection_complex_relative_l2": 3.012702316959011e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomXP_holdout"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 3.5157188941902363e-14,
          "max_projection_complex_relative_l2": 3.40055256066621e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      },
      "precession_domain": "The clean MSA v223 helper supports declared convention-0/1 requests with final_spin_mod=3; its explicit binary-compatibility opening remains available. Public Torch and JAX XP select the physical zero-nutation opening for one-spin-aligned rows, including nonzero phi0; the JAX branch is checked against Torch composition for selected rows, zero bins, JIT, batching and a gradient. Valid unequal-mass generic two-spin rows select the distinct-root route at zero or nonzero phi0. Invalid-root rows use NNLO angles, and explicit final_spin_mod=3 rejects invalid nonaligned MSA remnant roots; mode 0 retains the tested continuous boundary. Other unsupported routes retain inherited behavior. The declared generic nonzero-phi0 full-waveform fixture passes the strict mapped-binary gate. The XP convention-6 quadrupole output uses a phase adapter to clean convention 1 on the same tuple. Passing frozen rows and selected cross-frontend cases do not certify the full precession parameter domain or physical accuracy.",
      "convention_evidence": "docs/provenance_ledger.md (Sections 2.4 and 2.4a)"
    },
    "IMRPhenomHM": {
      "name": "IMRPhenomHM",
      "aliases": [
        "imrphenomhm"
      ],
      "lal_approximant": "IMRPhenomHM",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)",
        "(2,1)",
        "(3,3)",
        "(3,2)",
        "(4,4)",
        "(4,3)"
      ],
      "frame_convention": "London frequency mapping and spin-weighted spherical-harmonic projection; target phase compatibility remains unresolved.",
      "status": "verified_declared_cases",
      "notes": "The declared frozen catalog and available holdout cases passed the CPU FP64 gates for polarizations and detector projections. Results are historical and configuration-specific; they do not establish full-domain accuracy. See the pinned validation artifacts and docs/provenance_ledger.md.",
      "primary_references": [
        {
          "citation": "London et al. (2018), Phys. Rev. Lett. 120, 161102",
          "doi": "10.1103/PhysRevLett.120.161102"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomHM_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 1.0669255243492147e-07,
          "max_projection_complex_relative_l2": 3.2428376703675953e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomHM_holdout_5"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 5.574546976198813e-07,
          "max_projection_complex_relative_l2": 6.517566040480203e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      }
    },
    "IMRPhenomXHM": {
      "name": "IMRPhenomXHM",
      "aliases": [
        "imrphenomxhm"
      ],
      "lal_approximant": "IMRPhenomXHM",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)",
        "(2,1)",
        "(3,3)",
        "(3,2)",
        "(4,4)"
      ],
      "frame_convention": "Garc\u00eda-Quir\u00f3s et al. (2020) spherical harmonic decomposition and collocation reconstruction",
      "status": "sovereign_nr_calibrated",
      "notes": "Native SXS NR fits supply ringdown amplitude and phase components for (2,1), (3,3), (4,4) and (3,2). The paper's analytic inspiral carrier-rescaling slice has an independent scalar reference and Torch/JAX checks; all phase corrections and attachment terms remain conditional. Mode/regime diagnostics localize the largest frozen-case residuals to higher-mode intermediate amplitude and phase, but do not fit calibration data. Restricted ringdown and affine phase checks do not validate a complete multimode waveform. The frozen catalog and holdout full-waveform LAL comparisons did not pass the strict gates.",
      "primary_references": [
        {
          "citation": "Garc\u00eda-Quir\u00f3s et al. (2020), Phys. Rev. D 102, 064002",
          "doi": "10.1103/PhysRevD.102.064002",
          "equations": "Eq. (3)"
        },
        {
          "citation": "Pratten et al. (2020), Phys. Rev. D 102, 064001",
          "doi": "10.1103/PhysRevD.102.064001"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomXHM_diagnostic"
          ],
          "cases_passed": 0,
          "cases_total": 1,
          "status": "sovereign_nr_calibrated",
          "max_polarization_complex_relative_l2": 0.462925096634756,
          "max_projection_complex_relative_l2": 0.4611447604291805,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomXHM_holdout_6"
          ],
          "cases_passed": 0,
          "cases_total": 1,
          "status": "sovereign_nr_calibrated",
          "max_polarization_complex_relative_l2": 0.8104661208152623,
          "max_projection_complex_relative_l2": 0.8068059685183065,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      }
    },
    "IMRPhenomXPHM": {
      "name": "IMRPhenomXPHM",
      "aliases": [
        "imrphenomxphm",
        "xphm"
      ],
      "lal_approximant": "IMRPhenomXPHM",
      "domain": "frequency_domain",
      "spins": "precessing",
      "modes": [
        "(2,2)",
        "(2,1)",
        "(3,3)",
        "(3,2)",
        "(4,4) coprecessing"
      ],
      "frame_convention": "XPHM precession dynamics evaluated cleanly in native PyTorch with batch broadcasting.",
      "status": "sovereign_nr_calibrated",
      "notes": "Precessing multimode waveform incorporating native SXS NR ringdown fits for (2,1), (3,3), (4,4) and (3,2). Torch and JAX default to MSA version 223, convention 1, and final-spin option 3. Independent scalar checks cover the rotation layer only. The historical frozen metrics below remain tied to their pinned artifacts and failed gates; the current-default rerun is recorded separately in the XPHM closure ledger.",
      "primary_references": [
        {
          "citation": "Pratten et al. (2021), Phys. Rev. D 103, 104056",
          "doi": "10.1103/PhysRevD.103.104056"
        },
        {
          "citation": "Garc\u00eda-Quir\u00f3s et al. (2020), Phys. Rev. D 102, 064002",
          "doi": "10.1103/PhysRevD.102.064002"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomXPHM_diagnostic"
          ],
          "cases_passed": 0,
          "cases_total": 1,
          "status": "sovereign_nr_calibrated",
          "max_polarization_complex_relative_l2": 0.16191598466557902,
          "max_projection_complex_relative_l2": 0.16212324149908955,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomXPHM_holdout"
          ],
          "cases_passed": 0,
          "cases_total": 1,
          "status": "sovereign_nr_calibrated",
          "max_polarization_complex_relative_l2": 1.1872610419452823,
          "max_projection_complex_relative_l2": 1.278031386341689,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      },
      "precession_domain": "Tensor precession and multimode evaluation; gradient and batching support must be checked for the selected path. Passing component tests does not establish complete precession-domain accuracy.",
      "convention_evidence": "docs/waveforms/research/xphm-precession-reference-closure.md"
    },
    "IMRPhenomXPHM-SpinTaylor": {
      "name": "IMRPhenomXPHM-SpinTaylor",
      "aliases": [
        "imrphenomxphmspintaylor",
        "phenomxphmspintaylor",
        "xphmspintaylor"
      ],
      "lal_approximant": "IMRPhenomXPHM",
      "domain": "frequency_domain",
      "spins": "precessing",
      "modes": [
        "(2,2)",
        "(2,1)",
        "(3,3)",
        "(3,2)",
        "(4,4) coprecessing"
      ],
      "status": "optional_reference_tests",
      "notes": "Fixed-grid velocity-space RK4 SpinTaylor integration. tests/test_imrphenom_xphm_spintaylor.py defines three optional LAL IMRPhenomXPHM comparisons (prec_version=320, final_spin_mod=2), requiring time/phase-optimized plus-polarization match >= 0.98 over 20-300 Hz. This is a test threshold, not an observed full-domain bound; this model is outside the frozen catalog.",
      "primary_references": [
        {
          "citation": "Pratten et al. (2021), Phys. Rev. D 103, 104056",
          "doi": "10.1103/PhysRevD.103.104056"
        },
        {
          "citation": "Racine (2008), Phys. Rev. D 78, 044021",
          "doi": "10.1103/PhysRevD.78.044021"
        }
      ]
    },
    "IMRPhenomXPNR": {
      "name": "IMRPhenomXPNR",
      "aliases": [
        "imrphenomxpnr",
        "phenomxpnr",
        "xpnr",
        "imrphenomxnpr",
        "phenomxnpr",
        "xnpr",
        "pnr"
      ],
      "lal_approximant": "IMRPhenomXPNR",
      "domain": "frequency_domain",
      "spins": "precessing",
      "modes": [
        "(2,2)",
        "(2,1)",
        "(3,3)",
        "(3,2)",
        "(4,4) native symmetric coprecessing carrier"
      ],
      "status": "provisional_component_evidence",
      "notes": "The printed transition-spin map, angle-fit polynomial and transforms, merger-ringdown angle ansatzes, and higher-mode frequency map have independent scalar/Torch/JAX component evidence. The public route still maps reference-frequency spins, lacks the published attachment/continuation and XHM-CP carrier deformation/effective-ringdown/asymmetry pieces, and its inherited numeric fit tensors have unresolved independent provenance and terms. The native composition is not a qualified full PhenomXPNR waveform and inherits XHM's failed strict catalog and holdout gates. Four optional black-box LAL comparisons retain a time/phase-optimized plus-polarization match threshold >= 0.99 over 20-400 Hz; a threshold is not an observed result or domain bound. See docs/waveforms/research/imrphenomxpnr.md.",
      "primary_references": [
        {
          "citation": "Hamilton et al. (2025), PhenomXPNR: An improved gravitational wave model linking precessing inspirals and NR-calibrated merger-ringdown",
          "arxiv": "2507.02604v1"
        },
        {
          "citation": "Thompson et al. (2024), Phys. Rev. D 109, 063012",
          "doi": "10.1103/PhysRevD.109.063012"
        }
      ]
    },
    "IMRPhenomXAS": {
      "name": "IMRPhenomXAS",
      "aliases": [
        "imrphenomxas",
        "phenomxas",
        "xas"
      ],
      "lal_approximant": "IMRPhenomXAS",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "status": "verified_declared_cases",
      "notes": "The declared frozen catalog and available holdout cases passed the CPU FP64 gates for polarizations and detector projections. Results are historical and configuration-specific; they do not establish full-domain accuracy. See the pinned validation artifacts and docs/provenance_ledger.md.",
      "primary_references": [
        {
          "citation": "Pratten et al. (2020), Phys. Rev. D 102, 064001",
          "doi": "10.1103/PhysRevD.102.064001"
        },
        {
          "citation": "Mathematica public release candidate: IMRPhenomXAS_Parameter_Space_Fits_Public_Release_Candidate.m",
          "url": "https://journals.aps.org/prd/supplemental/10.1103/PhysRevD.102.064001/IMRPhenomXAS_Parameter_Space_Fits_Public_Release_Candidate.m"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomXAS_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 4.2127909339648705e-14,
          "max_projection_complex_relative_l2": 2.9931889837287913e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomXAS_holdout_3",
            "IMRPhenomXAS_holdout_4"
          ],
          "cases_passed": 2,
          "cases_total": 2,
          "max_polarization_complex_relative_l2": 9.49094186919911e-09,
          "max_projection_complex_relative_l2": 4.128527303991575e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      }
    },
    "IMRPhenomD_NRTidal": {
      "name": "IMRPhenomD_NRTidal",
      "aliases": [
        "imrphenomdnrtidal",
        "nrtidal"
      ],
      "lal_approximant": "IMRPhenomD_NRTidal",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "status": "verified_declared_cases",
      "notes": "The declared frozen catalog and available holdout cases passed the CPU FP64 gates for polarizations and detector projections. Results are historical and configuration-specific; they do not establish full-domain accuracy. See the pinned validation artifacts and docs/provenance_ledger.md.",
      "primary_references": [
        {
          "citation": "Dietrich et al. (2017), Phys. Rev. D 96, 121501",
          "doi": "10.1103/PhysRevD.96.121501"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomD_NRTidal_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 4.5988144588132875e-12,
          "max_projection_complex_relative_l2": 2.95936507305982e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomD_NRTidal_holdout"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 2.442766585457142e-12,
          "max_projection_complex_relative_l2": 3.0949543089970273e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      }
    },
    "IMRPhenomD_NRTidalv2": {
      "name": "IMRPhenomD_NRTidalv2",
      "aliases": [
        "imrphenomdnrtidalv2",
        "nrtidalv2"
      ],
      "lal_approximant": "IMRPhenomD_NRTidalv2",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "status": "verified_declared_cases",
      "notes": "The default binary_compatible variant preserves the historical native M^2/(2D) tidal-amplitude normalization and passes the frozen pinned-LAL catalog/holdout gates. The 1/2 normalization has unresolved paper provenance; binary verification does not qualify it as the published Dietrich et al. (2019) D model. The explicit paper_2019 option omits tidal amplitude as Table II specifies, passes its independent phase-only composition checks, and is unqualified against the pinned LAL D binary at nonzero tide. The separate Eq. (24) amplitude component passes scalar Torch/JAX/SymPy checks and is not part of either D variant. The metrics below apply only to the default binary_compatible variant. See docs/math/nrtidalv2-amplitude-taper.md and docs/validation/nrtidalv2_amplitude_20260926.md.",
      "primary_references": [
        {
          "citation": "Dietrich et al. (2019), Phys. Rev. D 100, 044003",
          "doi": "10.1103/PhysRevD.100.044003",
          "equations": "Eqs. (15)-(21)"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomD_NRTidalv2_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 3.3468488598450916e-09,
          "max_projection_complex_relative_l2": 2.9618706997352865e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomD_NRTidalv2_holdout"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 5.672618836592692e-09,
          "max_projection_complex_relative_l2": 3.0914191781563814e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      }
    },
    "IMRPhenomNSBH": {
      "name": "IMRPhenomNSBH",
      "aliases": [
        "imrphenomnsbh",
        "nsbh"
      ],
      "lal_approximant": "IMRPhenomNSBH",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "status": "verified_declared_cases",
      "notes": "The frozen catalog, holdout, and 22 expanded strict waveform regressions pass after clean phase-mass, remnant-spin and amplitude-branch corrections. The public-compatible tidal-frequency sign, small-tide boundary polynomial, ringdown window sign and mildly disruptive PN-window composition are documented in implementation-status.md. The underlying inherited PhenomD and remnant calibration provenance remains under review; these tests do not certify the full parameter domain.",
      "primary_references": [
        {
          "citation": "Pannarale et al. (2015), Phys. Rev. D 92, 084050",
          "doi": "10.1103/PhysRevD.92.084050"
        },
        {
          "citation": "Thompson et al. (2020), Phys. Rev. D 101, 124059",
          "doi": "10.1103/PhysRevD.101.124059"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "IMRPhenomNSBH_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 1.535346357935249e-09,
          "max_projection_complex_relative_l2": 2.9566883494199773e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [
            "IMRPhenomNSBH_holdout"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 8.828745918348348e-08,
          "max_projection_complex_relative_l2": 3.4314378684535435e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        }
      },
      "phase_conventions": "Default legacy affine gauge and positive reference-anchored time slope are preserved for compatibility. Explicit coalescence/reference-frequency conventions use the shared intrinsic PhenomD phase and negative Fourier time shift."
    },
    "KerrRingdown": {
      "name": "KerrRingdown",
      "aliases": [
        "kerrringdown",
        "ringdown"
      ],
      "lal_approximant": "Kerr ringdown QNM",
      "domain": "time_domain and frequency_domain",
      "spins": "aligned Kerr remnant",
      "modes": [
        "(2,2)",
        "(2,1)",
        "(3,3)",
        "(3,2)",
        "(4,4)"
      ],
      "status": "verified_declared_cases",
      "notes": "The canonical (2,2), n=0 physical-energy waveform passes the frozen catalog and four expanded public TD-to-FD comparisons at the original 1e-6 tolerance. The historical holdout artifact contains no Kerr case. A separate maintained off-canonical dispatcher holdout has no persisted execution receipt and does not change the historical counts. Its independent public reference uses SimBlackHoleRingdown and composite-Simpson Fourier integration. A conditional scalar paper-form reference separately checks energy normalization and the causal time/Fourier carrier on supplied QNM and angular inputs in Torch and JAX. The angular series stopping rule and adaptive integration tolerance are inferred numerical compatibility conventions, not fitted calibration. Other listed modes and overtones do not inherit this full-waveform result.",
      "primary_references": [
        {
          "citation": "Cook and Zalutskiy (2014), Phys. Rev. D 90, 124021",
          "arxiv": "1410.7698v2"
        },
        {
          "citation": "Gregory Cook, High Accuracy Data for the Gravitational Quasinormal Modes of Kerr Black Holes, v4",
          "doi": "10.5281/zenodo.16801267",
          "license": "ODC-By-1.0"
        },
        {
          "citation": "Berti, Cardoso, Will (2006), Phys. Rev. D 73, 064030",
          "doi": "10.1103/PhysRevD.73.064030",
          "tables": "VIII-X; optional legacy fit backend"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "KerrRingdown_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 9.783568314832475e-08,
          "max_projection_complex_relative_l2": 3.488785485315891e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [],
          "cases_passed": 0,
          "cases_total": 0,
          "max_polarization_complex_relative_l2": null,
          "max_projection_complex_relative_l2": null,
          "verification_scopes": []
        }
      },
      "scoped_qualification": {
        "test": "tests/test_kerr_ringdown_public_clean.py::test_fixed_off_axis_energy_onset_holdout",
        "holdout_case_ids": [
          "KerrRingdown_holdout_off_axis_energy_onset"
        ],
        "scope": "Torch public dispatcher, physical-energy (2,2), n=0, one off-axis case with nonzero onset; strict LAL TD-to-FD polarizations and six detector projections",
        "backends": ["torch"],
        "precision": "float64",
        "device": "cpu",
        "receipt": null,
        "status": "maintained_test_without_receipt",
        "limitations": "No persisted strict execution receipt; the complete gate requires LALSimulation and PyCBC. This check does not change the pinned historical aggregate counts or qualify the direct-class or opt-in public-clean routes."
      },
      "overtones": [
        0,
        1,
        2
      ],
      "qnm_backends": {
        "default": "independent",
        "optional": "berti",
        "legacy_alias": "author (uses independent data)",
        "independent_evidence": "src/torchwave/qnm/solver.py",
        "independent_spin_domain": [
          0.0,
          0.99999
        ],
        "working_dtype": {
          "cpu": "float64",
          "cuda": "float64",
          "mps": "float32"
        },
        "strict_accuracy_dtype": "float64"
      },
      "angular_bases": {
        "default": "spherical",
        "optional": "spheroidal"
      },
      "component_evidence": "src/torchwave/approximants/kerr_qnm_generated.py",
      "energy_amplitude_api": {
        "function": "torchwave.approximants.kerr_ringdown_energy.ringdown_amplitude_from_energy_fraction",
        "conventions": [
          "native_pair (default)",
          "single_mode",
          "pair_member"
        ],
        "units": "Final mass in solar masses, distance in Mpc, omega in rad/s and tau in seconds; energy fraction of remnant rest energy.",
        "evidence": "src/torchwave/approximants/kerr_ringdown_energy.py",
        "complete_lal_waveform_conventions_resolved": false,
        "waveform_diagnostic": "tests/test_kerr_ringdown_public_clean.py"
      }
    },
    "SEOBNR_ROM": {
      "name": "SEOBNR_ROM",
      "aliases": [
        "seobnrrom",
        "seobnrv4rom",
        "officialseobnrv4rom"
      ],
      "lal_approximant": "SEOBNRv4_ROM",
      "domain": "frequency_domain",
      "spins": "aligned",
      "modes": [
        "(2,2)"
      ],
      "asset": {
        "file": "SEOBNRv4ROM_v3.0.hdf5",
        "sha256": "4ff5317967d757fcad9323a74b75f4f63894ed87f4b1852d46cbe47cde488b9c",
        "source": "https://doi.org/10.5281/zenodo.14999310",
        "bundled": false,
        "required_for": "canonical SEOBNR_ROM / SEOBNRv4ROM official-data wrapper",
        "license": "Upstream data terms; redistribution review unresolved"
      },
      "status": "verified_declared_cases_external_data",
      "notes": "The official-data wrapper passed the frozen catalog case with maximum polarization relative L2 approximately 1.20e-11. Tensor B-splines reconstruct the external official HDF5 calibration data. The data are required and not bundled; redistribution terms remain unresolved. The unvalidated bundled native surrogate and seobnrv5rom alias have been removed. Public SEOBNR_ROM classes select this official evaluator.",
      "primary_references": [
        {
          "citation": "P\u00fcrrer (2014), Class. Quantum Grav. 31, 195010",
          "doi": "10.1088/0264-9381/31/19/195010"
        },
        {
          "citation": "P\u00fcrrer (2016), Phys. Rev. D 93, 064041",
          "doi": "10.1103/PhysRevD.93.064041"
        }
      ],
      "validation": {
        "catalog": {
          "case_ids": [
            "SEOBNR_ROM_diagnostic"
          ],
          "cases_passed": 1,
          "cases_total": 1,
          "max_polarization_complex_relative_l2": 1.203823245233543e-11,
          "max_projection_complex_relative_l2": 2.988495218951695e-07,
          "verification_scopes": [
            "full_polarizations"
          ]
        },
        "holdout": {
          "case_ids": [],
          "cases_passed": 0,
          "cases_total": 0,
          "max_polarization_complex_relative_l2": null,
          "max_projection_complex_relative_l2": null,
          "verification_scopes": []
        }
      }
    }
  },
  "verification": {
    "date": "2026-09-14",
    "catalog_passed": false,
    "catalog_cases_passed": 17,
    "catalog_cases_total": 21,
    "holdout_passed": false,
    "holdout_cases_passed": 11,
    "holdout_cases_total": 13,
    "scope": "Historical frozen 17-model reference suite, not the full current model inventory or a parameter-domain certificate. Both strict suites failed overall. The 17 passing catalog cases include a TaylorF2_HM dominant-mode-only check. Native NR ringdown and continuous EOB attachment tests have separate component scope and do not change the reference-suite results.",
    "evidence": {
      "catalog": "https://github.com/xangma/diffgw/blob/0be15a5b80dd5383da054165f6834461798d70dc/docs/reviews/2026-09-13-parity-review/verification/reference-contracts-checkpoint3/catalog.json",
      "holdout": "https://github.com/xangma/diffgw/blob/0be15a5b80dd5383da054165f6834461798d70dc/docs/reviews/2026-09-13-parity-review/verification/reference-contracts-checkpoint3/holdout.json",
      "source_record": "https://github.com/xangma/diffgw/blob/0be15a5b80dd5383da054165f6834461798d70dc/docs/reviews/2026-09-13-parity-review/verification/reference-contracts-checkpoint3/source-record.json"
    },
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Original software is MIT licensed; third-party data and adaptations retain their identified terms. Some inherited calibration provenance and external author-data redistribution terms remain unresolved. See THIRD_PARTY_NOTICES.md.",
    "catalog_taxonomy": {
      "reference_agreement_declared_cases": [
        "TaylorF2",
        "TaylorF2_Eccentric",
        "IMRPhenomD",
        "IMRPhenomPv2",
        "IMRPhenomXP",
        "IMRPhenomHM",
        "IMRPhenomXAS",
        "IMRPhenomD_NRTidal",
        "IMRPhenomD_NRTidalv2",
        "IMRPhenomNSBH",
        "KerrRingdown",
        "SEOBNR_ROM"
      ],
      "native_nr_ringdown_components": [
        "IMRPhenomXHM",
        "IMRPhenomXPHM"
      ],
      "experimental_eob_components": [
        "SEOBNR_ODE",
        "TEOBResumS"
      ],
      "higher_mode_reference_unresolved": [
        "TaylorF2_HM"
      ]
    }
  },
  "verification/pass-3": {
    "date": "2026-09-12",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-3/",
    "provenance": "Fresh-context implementers used papers and author mathematical data; inherited coefficient provenance is not certified."
  },
  "verification/pass-5": {
    "date": "2026-09-12",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-5/",
    "unit_tests_passed": 745,
    "unit_tests_skipped": 1,
    "unit_test_skip_reason": "CUDA unavailable on verification host",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Fresh-context implementers used papers and author mathematical data; inherited coefficient provenance is not certified."
  },
  "verification/pass-6": {
    "date": "2026-09-12",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-6/",
    "unit_tests_passed": 884,
    "unit_tests_skipped": 5,
    "unit_test_skip_reason": "CUDA unavailable on verification host",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Fresh-context implementers used papers and author mathematical data; inherited coefficient provenance is not certified."
  },
  "verification/pass-7": {
    "date": "2026-09-12",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-7/",
    "unit_tests_passed": 1050,
    "unit_tests_skipped": 8,
    "unit_test_skip_reason": "Six CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete."
  },
  "verification/pass-9": {
    "date": "2026-09-13",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-9/",
    "unit_tests_passed": 1063,
    "unit_tests_skipped": 8,
    "unit_test_skip_reason": "Six CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete."
  },
  "verification/pass-10": {
    "date": "2026-09-13",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-10/",
    "unit_tests_passed": 1075,
    "unit_tests_skipped": 8,
    "unit_test_skip_reason": "Six CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete."
  },
  "verification/pass-11": {
    "date": "2026-09-13",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-11/",
    "unit_tests_passed": 1087,
    "unit_tests_skipped": 8,
    "unit_test_skip_reason": "Six CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete.",
    "unit_tests_seconds": 72.63,
    "supplemental_explicit_components": {
      "cases_passed": 3,
      "cases_total": 34,
      "mode_sum_controls_passed": 4,
      "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-11/comparison.json",
      "scope": "Separate NNLO102/FinalSpin0 and MSA223/FinalSpin3 plus HM/XHM selected-mode diagnostics. XHM selects both signed modes and disables multibanding. Overlapping controls do not add frozen passing cases."
    }
  },
  "verification/pass-12": {
    "date": "2026-09-13",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-12/",
    "unit_tests_passed": 1112,
    "unit_tests_skipped": 8,
    "unit_test_skip_reason": "Six CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete.",
    "unit_tests_seconds": 76.14,
    "supplemental_explicit_components": {
      "cases_passed": 3,
      "cases_total": 34,
      "mode_sum_controls_passed": 4,
      "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-12/comparison.json",
      "scope": "Separate NNLO102/FinalSpin0 and MSA223/FinalSpin3 plus HM/XHM selected-mode diagnostics. XHM selects both signed modes and disables multibanding. Overlapping controls do not add frozen passing cases."
    }
  },
  "verification/pass-13": {
    "date": "2026-09-13",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-13/",
    "unit_tests_passed": 1120,
    "unit_tests_skipped": 8,
    "unit_test_skip_reason": "Six CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete.",
    "unit_tests_seconds": 76.18,
    "supplemental_explicit_components": {
      "cases_passed": 3,
      "cases_total": 34,
      "mode_sum_controls_passed": 4,
      "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-13/comparison.json",
      "scope": "Separate NNLO102/FinalSpin0 and MSA223/FinalSpin3 plus HM/XHM selected-mode diagnostics. XHM selects both signed modes and disables multibanding. Overlapping controls do not add frozen passing cases."
    }
  },
  "verification/pass-14": {
    "date": "2026-09-13",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-14/",
    "unit_tests_passed": 1126,
    "unit_tests_skipped": 8,
    "unit_test_skip_reason": "Six CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete.",
    "unit_tests_seconds": 75.37,
    "supplemental_explicit_components": {
      "cases_passed": 3,
      "cases_total": 34,
      "mode_sum_controls_passed": 4,
      "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-14/comparison.json",
      "scope": "Separate NNLO102/FinalSpin0 and MSA223/FinalSpin3 plus HM/XHM selected-mode diagnostics. XHM selects both signed modes and disables multibanding. Overlapping controls do not add frozen passing cases."
    }
  },
  "verification/pass-15": {
    "date": "2026-09-13",
    "catalog_passed": false,
    "catalog_cases_passed": 11,
    "catalog_cases_total": 21,
    "holdout_cases_passed": 4,
    "holdout_cases_total": 13,
    "scope": "Frozen cases only, not a parameter-domain certificate. Dominant-mode-only checks and native self-comparisons do not certify complete models.",
    "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-15/",
    "unit_tests_passed": 1140,
    "unit_tests_skipped": 9,
    "unit_test_skip_reason": "Seven CUDA unavailable; two generation-only gmpy2 unavailable in the Torch test environment. MPS passed.",
    "source_and_test_inputs_changed_during_runs": false,
    "provenance": "Independent Kerr equation solves supply QNM runtime data; external numerical data and binaries are verification-only. Other inherited waveform/remnant/matter calibration provenance remains incomplete.",
    "unit_tests_seconds": 81.76,
    "supplemental_explicit_components": {
      "cases_passed": 3,
      "cases_total": 34,
      "mode_sum_controls_passed": 4,
      "evidence": "archive/clean-room-reviews:docs/reviews/2026-09-12-clean-room/verification/pass-15/comparison.json",
      "scope": "Separate NNLO102/FinalSpin0 and MSA223/FinalSpin3 plus HM/XHM selected-mode diagnostics. XHM selects both signed modes and disables multibanding. Overlapping controls do not add frozen passing cases."
    }
  },
  "validation_artifacts": {
    "catalog": "https://github.com/xangma/diffgw/blob/0be15a5b80dd5383da054165f6834461798d70dc/docs/reviews/2026-09-13-parity-review/verification/reference-contracts-checkpoint3/catalog.json",
    "holdout": "https://github.com/xangma/diffgw/blob/0be15a5b80dd5383da054165f6834461798d70dc/docs/reviews/2026-09-13-parity-review/verification/reference-contracts-checkpoint3/holdout.json",
    "source_record": "https://github.com/xangma/diffgw/blob/0be15a5b80dd5383da054165f6834461798d70dc/docs/reviews/2026-09-13-parity-review/verification/reference-contracts-checkpoint3/source-record.json"
  }
}
