--- title: "Ecosystem update — September 2026" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Ecosystem update — September 2026} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ## Related hierarchical modelling addition The related Python package **gpbiometricspy** now includes a fully exact-main-certified crossed participant–item Gaussian hierarchical location–scale model with **one location random slope for each crossed factor**. This is a complementary modelling path rather than an addition to `gp3ml`. `gp3ml` remains focused on governed predictive modelling and its own frozen API/release evidence. The gpbiometricspy method instead targets repeated continuous outcomes with crossed participant/item heterogeneity in both location and residual scale, plus factor-specific location slopes. Certified gpbiometricspy PR #129 is pinned to merge SHA `d078e0366ace49c3ebeb2f6800bad6394d70631e`: 14/14 exact-main push workflow families, 12/12 OS/Python matrix lanes, 782/782 tests, 14,015/14,015 statements, and 6,757/6,776 raw branches (99.7196%). The frozen `gpbiometrics 2.0.0` parity surface remains 406/406 and is not altered by the new Python-native method. - [Crossed participant–item random-slope guide](https://stefanosbalaskas.github.io/gpbiometricspy/methods/crossed-random-slopes-location-scale/) - [gpbiometricspy PR #129](https://github.com/stefanosbalaskas/gpbiometricspy/pull/129) The two packages therefore remain methodologically distinct: use `gp3ml` when the scientific claim is predictive and its validation/generalization contract is primary; use the gpbiometricspy location–scale family when the target is explicitly modelled conditional distributional heterogeneity under the stated assumptions.