tulpa 0.0.130
Correctness
-
Outer hyperparameter grids auto-recenter on a collapsed boundary instead of railing silently (#289, #290). Every nested-Laplace family built its outer grid from a fixed default axis in original coordinates (e.g. bym2/icar/car_proper's
sigma_grid = exp(seq(log(0.1), log(3), length.out = 5))). A fit whose field-SD posterior mode sat above the top node collapsed every outer weight onto that boundary node, silently -- on Michael Glaser's 78 real EVAoccu_coverfits, 10 railed the 5.0 sigma ceiling.The fixed grid is now a starting axis, not a ceiling: a fit that collapses onto a boundary re-centers via the mode-Hessian its own outer Pareto-k diagnostic already computes (
R/nested_laplace_auto_grid.R) and refits, reusing that curvature rather than running a second optimizer. An explicitsigma_grid/tau_gridalways wins. Wired through:- the joint driver's single-block backends (bym2/icar/car_proper) and multi-block copy blocks, with a second attempt composing a light default PC(U=3, alpha=0.01) prior on sigma for a genuinely unidentified (near-separation) mode that geometry alone cannot settle;
- the standalone
.NL_REGISTRYpath (icar'stau_grid, bym2'ssigma_grid), one recenter attempt, reusing the joint path's generic axis-tagging and FD-Hessian machinery; fit_spde()'s explicitmethod = "grid"path, which now attaches the samepareto_k_regimediagnostic (visibility only --fit_spde()'s defaultcontrol$methodis already"ccd", the mode-Hessian path, so"grid"is a deliberate opt-in the fix respects rather than overrides).
Byte-stable when the mode already sits inside the old default axis (a no-op branch, regression-tested). car_proper (unguessable
rhoaxis) and MCAR (log-Cholesky axis geometry) are out of scope;fit_st_nested()'s spatiotemporal grid got the diagnostic only, since it has no existing mode-find machinery to reuse -- tracked as #291.
Full Changelog: v0.0.129...v0.0.130