Repository navigation
pvstackr 0.2.0
The first hardening release. It makes stored objects portable across R
versions and machines, opens the bundled brms adapter as a public three-function
interface, and tightens what a fit is allowed to retain when it is blocked.
Portability (changes hash values)
- Content hashes and validation stamps no longer depend on the R version that
wrote them. Both hashed the whole serialization stream, whose fourteen-byte
header records the writing R version. Content hashes computed by earlier
releases will not match the ones this release derives, so a stored
design_hashfrom 0.1.x is expected to differ. - A saved fit no longer refuses its own accessors after an R upgrade.
pv_revalidate_brr_target()no longer requires a legacy target's weighted
least-squares estimates to match bit-for-bit. Those last bits differ between
BLAS implementations, so a target built on one machine could not be
revalidated on another. Structure, declared inputs, and the input-derived
design hash are still compared exactly; the estimates go through the
package's numeric policy (absolute 1e-12, relative 1e-10). A difference
large enough to matter still fails closed.
Backend
- The bundled brms adapter is public:
pv_backend_brms_fit_function(),
pv_backend_brms_draws_function(), andpv_backend_brms_sampler_diagnostics().
Injecting all three runs the same code the bundled backend runs; any one can
be replaced to attach a different engine. The routes differ in recorded
provenance, and a reportable injected fit needs all three. pv_fit(method = "stack_direct")withpv_control(backend = "brms")now runs
without an injected adapter pair.- A population-level prior (
class = "b"with nocoef) is expanded onto the
individual slope coefficients instead of being refused.
Fail-closed behaviour
- Final fits carry an exact validation record with a deep tier and a cheap
rehash tier. - Blocked fits use a generic retention firewall: heavy payloads are absent, and
only canonical evidence is retained. stack_psisseparates weight input route, Pareto-k source, and smoothing
provenance; supplied weights enter the reportable route only when the caller
declares an external producer and version.pv_migrate_legacy_psis_fit()gives historical PSIS results an
inspection-only migration path.
See NEWS.md for the
full list, and the package website for
documentation.