Object 1 — the ContinuationPath: one object that couples the three
annealing schedules that today live separately and uncoupled, so a K≥2 SAE
joint fit always arrives via a regime where the inner problem is a
contraction — never solved cold.
Inference-tier numerics that are genuine gam-solve criterion math
(descended #1521): leaf evidence/diagnostic computations whose dependencies
are all at or below the gam-solve tier (estimate, pirls, sensitivity,
mixture_link, gam-linalg, gam-problem). The monolith crate root
re-exports this subtree as gam::inference::*, so existing callers
(gam::inference::alo, …) resolve unchanged.
Re-exported for the Python bindings (gam-pyffi), which build their
analytic-penalty registry through the single shared descriptor parser that
also serves the in-process workflow pipeline. Exposed here so PyFFI can name
it without the (crate-private) workflow module being publicly reachable.
The penalized iteratively-reweighted-least-squares (P-IRLS) inner solver,
split by concern into real submodules. Each concern module pulls the shared
crate-level import surface and every sibling’s items through a single
use super::*;, backed by the pub(crate) use <mod>::*; re-exports below —
reproducing the flat namespace the module historically shared, without any
line-cut include! fragments.
Multiresolution residual cascade for scattered 2-3D smooths at huge n
(compute-first primitive #3, #1032; siblings: the 1-D scan in
crate::spline_scan, the 2-D grid in
gam_terms::grid_spline_2d).
#976 — evidence-guarded dictionary structure search: atom birth / death /
fission / fusion as anytime-valid hypothesis tests, with a deterministic,
serializable SearchLedger as the honesty surface.
Cross-fit warm-start artifact: a descriptor-indexed, function-space
snapshot of a converged fit, designed so a related later fit (a
leave-one-subject-out fold, a re-fit on a different row population, a
different reduced width) can warm-start from it even though the exact
response-keyed inner cache (persistent_warm_start.rs) misses.
Process-wide counter of smoothing-corrections that took the sigma-cubature
(second-order) branch in
estimate::reml::eval::RemlState::compute_smoothing_correction_auto.
Re-exported so integration tests can snapshot it before/after a fit and
prove the cubature path (rather than the first-order linearization) was
actually exercised — see the #582 response-scale-equivariance regression.
Process-wide count of cubature upgrades that succeeded inside
[RemlState::compute_smoothing_correction_auto]. Paired with
[SMOOTHING_CORRECTION_NUMERICAL_FAILURE_COUNT] for visibility.