NEWS


gdpar 2026-06-27

First public release of gdpar. It implements the General Dynamic Parameter framework, in which each unit's parameter is decomposed as theta_i = theta_ref + Delta(x_i, theta_ref) around a population reference, with Delta following the canonical Additive--Multiplicative--Modulated (AMM) form a(x) + b(x) * theta + W(theta) x. Estimation is via Path 1 (hierarchical Bayesian inference through 'Stan' / 'cmdstanr'); Paths 2 (varying-coefficient) and 3 (hypernetwork) are specified at reference grade and queued for future versions.

Packaging note (pre-CRAN correction): the fitting entry points now run all input validation before the optional cmdstanr dependency is required, which is checked only immediately before it is used. The package and its full test suite therefore work on machines where the Suggests package cmdstanr is not installed. This is a packaging-only change with no effect on results when cmdstanr is available.

This release consolidates the development cycles documented in detail below (Sessions 8.3--8.6, the Block 8.4 audit, and the Block 9 re-validation):

Validation. Block 9 closed adversarial internal re-validation, a synthetic recovery benchmark against mgcv / brms / INLA / rstanarm with known ground truth (3200 cells), and an organic eBird benchmark (80 cells). gdpar leads on the distributional structure it models (heavy-tail quantiles, zero-inflated count means, heteroscedastic scale), is statistically indistinguishable from the strongest competitor (mgcv) on generic predictive accuracy, is robust where it makes no modelling claim (e.g. autocorrelation), and is the most computationally expensive method in the roster. Reports under inst/benchmarks/results/.

Detailed per-session development notes follow.

Axis 2 — full-Bayes dependence-robust inference (Session B9.39, 2026-06-26; D102)

Axis 2 — data-driven block length (Session B9.38, 2026-06-26; D101)

Axis 2 — spatial dependence-robust inference (Session B9.37, 2026-06-26; D100)

Bloque RG — RG.7 (step 4): the automated Laplace fallback (Session B9.35, 2026-06-25; D99)

Bloque RG — RG.6 (part ii): integration of the geometry-adaptive orchestrator + the pedagogical vignette (Session B9.31, 2026-06-03)

Bloque RG — RG.6 (part 1): Option A folded in — sigma_a_k compaction (Session B9.30, 2026-06-03)

Bloque RG — RG.5: geometry-adaptive sampling orchestrator (Session B9.29, 2026-06-03)

Bloque RG — RG.4 (cont.): Finsler / relativistic geometry, the heavy-tail remedy (Session B9.28, 2026-06-03)

Bloque RG — RG.4: sub-Riemannian geometry, the quasi-deterministic remedy (Session B9.27, 2026-06-03)

Bloque RG — RG.3 Capa 2 completed: simulation-based Fisher + active learning (Session B9.26, 2026-06-03)

Bloque RG — RG.3 Capa 2: learned expected-Fisher metric (Session B9.25, 2026-06-02)

Bloque RG — RG.3 Riemannian metric + implicit generalised leapfrog (Session B9.24, 2026-06-02)

Bloque RG — RG.1.c calibration + RG.2 R-native geometric engine (Session B9.23, 2026-06-02)

Bloque RG — Sub-phase RG.1: posterior-geometry diagnostic + synthetic suite (Session B9.22, 2026-06-02)

Bloque 9 — Sub-bloque 9.1 closed: Stan-bound adversarial re-validation (Session B9.9, 2026-05-29)

Bloque 9 — Sub-bloque 9.1 dependence-robust inference (Axis 2) + D74 fix (Session B9.8, 2026-05-28)

Bloque 9 — Sub-bloque 9.1 internal adversarial re-validation, layers 1-3 + drift smoke (Session B9.7, 2026-05-28)

Bloque 9 — Sub-bloque 9.3.d D69 substantive closure: FB KxP fit harness + Tier 1 goldens (Session B9.6, 2026-05-27)

Bloque 9 — Sub-bloque 9.3.a colateral L.iv.A.2: 6 EB-side templates cascade to canonical pieces (Session B9.6, 2026-05-27)

Bloque 9 — Sub-bloque 9.3.a colateral L.iv.A: amm_distrib_K cascade to canonical pieces (Session B9.5, 2026-05-27)

Bloque 9 — Sub-bloque 9.3.c: gdpar_ksd_joint() helper for joint KSD between EB and FB posteriors (Session B9.4, 2026-05-27)

Bloque 9 — Sub-bloque 9.3.a colateral: deuda f closed via dedicated canonical helpers piece (Session B9.4, 2026-05-27)

Bloque 9 — Sub-bloque 9.3.a: unification of K=1 FB Stan templates via canonical R-side codegen dispatcher (Session B9.3, 2026-05-27)

Bloque 9 — Sub-bloque 9.3.b: O5*-EBFB Hessian anti-fragility (Session B9.2, 2026-05-27)

Sub-phase 8.6.E — EB-vs-FB comparator + operational vignette + aggregated 8.6 closure (2026-05-26)

This closure aggregates Sub-fase 8.6 entera (A theoretical extension

Sub-phase 8.6.D — Empirical Bayes full multivariate Path C ($K > 1 \wedge p > 1$) (2026-05-26)

Sub-phase 8.6.C — Empirical Bayes multivariate partial paths (2026-05-25)

Sub-phase 8.6.B — Empirical Bayes orchestrator base regime (2026-05-25)

Sub-phase 8.5.B — External meta-learner comparator (2026-05-24)

Sub-phase 8.5.A — T-learner causal bridge, AMM-side (2026-05-24)

Sub-phase 8.3.10 — release-gate of Session 8.3 (2026-05-22)

Sub-phase 8.3.9 — residual diagnostics G1 / G2 / G3 and golden bootstrap (2026-05-22)

Sub-phase 8.3.8 — B-spline W bases (2026-05-22)

Sub-phase 8.3.7 — heterogeneous families per slot (2026-05-21)

Sub-phase 8.3.6 — mixture likelihoods (2026-05-21)

Sub-phase 8.3.5 — K = 3 likelihoods (2026-05-21)

Sub-phase 8.3.4 — bi-parametric K = 2 likelihoods (2026-05-21)

Sub-phase 8.3.3 — brms-style formula API for K > 1 (2026-05-20)

Breaking change in the AMM canonical implementation (2026-05-18)

API change (2026-05-19)

Block 6 — synthetic adversarial validation TOP4 with coord-wise factorization (in progress, 2026-05-18 / 2026-05-19)

New features

DESCRIPTION