The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Use this page before putting a fitted drmTMB model in a
manuscript. A successful fit is not, by itself, permission to report its
point estimate or interval; each route below answers those questions
separately and names an exact fallback.
mu is the location parameter: the
family-specific centre of the response. sigma is
scale: residual variability. nu is
shape: a feature beyond location and scale in families
such as Student-t. Coscale includes residual
correlation rho12, the association left between two
responses after their locations and scales are modelled.
sd(group) is among-group random-effect variation, not
residual sigma. phylo() and
spatial() specify phylogenetic and coordinate-structured
random effects. meta_V(V = V) supplies known sampling
covariance; meta_known_V(V = V) is its deprecated
compatibility alias. This page does not use tau, because it
is not a general drmTMB parameter name.
The canonical ledger was last updated 2026-08-17. These counts and permissions cover the model-surface axis only: association and missing-response evidence are separate and do not transfer here.
mu) with fixed effectsCan I fit it? Yes — this exact model route is implemented.
Can I report the point estimate? Yes — report only within the stated exact scope and caveat.
Named interval method / reporting permission. Yes — Wald mean-coefficient interval; report only within the stated exact scope and caveat.
Exact scope and caveat. An ML fixed-effect Beta location coefficient at tested sample sizes 50, 150, or 500. Wald mean-coefficient intervals have calibration evidence in those designs; random effects, other parameters, other sample sizes, and other families are not covered.
Concrete fallback. For a different structure, use a
fixed-effect beta() location model without
phylo() or random terms.
mu) random slopeCan I fit it? Yes — this exact model route is implemented.
Can I report the point estimate? Yes — report only within the stated exact scope and caveat.
Named interval method / reporting permission. Yes — profile-likelihood interval; report only within the stated exact scope and caveat.
Exact scope and caveat. Use the ML-Laplace profile
interval only for a comparable design: 32 or 64 groups, 12 observations
per group, 12 trials per observation, and a clean
check_drm() result with no profile boundary. In the
calibration study, the true slope SD was 0.6 and coverage was 94.9% and
95.3%, with more upper- than lower-tail misses. Other group counts,
replication, trial sizes, SD values, correlated or labelled slopes, and
REML are not covered; state this calibration limit when reporting.
Concrete fallback. Use a binomial model with a random intercept or fixed effect only when the tested random-slope design does not match the study.
mu) intercept and slopeCan I fit it? Yes — this exact model route is implemented.
Can I report the point estimate? Yes — recovery-backed point estimate only, within the stated scope.
Named interval method / reporting permission. No — no named interval-reporting permission.
Exact scope and caveat. An ML univariate
poisson() location model with a phylogenetic intercept and
slope; the two phylogenetic standard deviations and their
intercept-slope correlation are recovery-backed. Other structured
providers, scale structures, ordinary random effects, zero inflation,
and all interval claims are outside scope.
Concrete fallback. Use a Poisson fixed-effect model or an ordinary random-intercept model when the phylogenetic slope structure is not essential.
mu) phylogenetic intercept and slopeCan I fit it? Yes — this exact model route is implemented.
Can I report the point estimate? Yes — recovery-backed point estimate only, within the stated scope.
Named interval method / reporting permission. No — no named interval-reporting permission.
Exact scope and caveat. An ML univariate
nbinom2() location model with an intercept-only dispersion
formula (sigma ~ 1) and a phylogenetic intercept and slope;
the two phylogenetic standard deviations and their intercept-slope
correlation are recovery-backed. Other providers, scale structures,
ordinary random effects, zero inflation, and all interval claims are
outside scope.
Concrete fallback. Use an NB2 fixed-effect model or an ordinary random-intercept model when the phylogenetic slope structure is not essential.
mu) with a phylogenetic random effectCan I fit it? No — this exact request is not available.
Can I report the point estimate? No — no point-estimate reporting permission.
Named interval method / reporting permission. No — no named interval method or reporting permission.
Exact scope and caveat. A structured random effect on Tweedie location is rejected before covariance settings are evaluated; it is not a reportable drmTMB route.
Concrete fallback. Use a Tweedie fixed-effect model or an ordinary random-effect model without a phylogenetic covariance structure.
meta_V(V = V)Can I fit it? Yes — this exact model route is implemented.
Can I report the point estimate? Yes — recovery-backed point estimate only, within the stated scope.
Named interval method / reporting permission. No — profile-likelihood interval (withdrawn for reporting) is not reportable for this route.
Exact scope and caveat. An ML pooled effect with
known sampling covariance for 48 studies. Point estimates agree with
metafor, but one profile interval missed the known truth;
no drmTMB interval, coverage, or heterogeneity interval claim is
available.
Concrete fallback. Use
metafor::rma.uni() or metafor::rma.mv() for
the same known-covariance meta-analysis when an interval is
required.
rho12) under REMLCan I fit it? Yes — this exact model route is implemented.
Can I report the point estimate? Yes — report the point estimate with the stated caveat.
Named interval method / reporting permission. No — profile-likelihood interval is available, but there is no calibrated interval-reporting permission.
Exact scope and caveat. A REML bivariate-Gaussian residual-correlation interval at 150 observations is numerically well formed. Coverage and calibration have not been evaluated, so it is not a calibrated reporting claim.
Concrete fallback. If a calibrated correlation interval is essential, use a simpler independent-response analysis or a separately validated correlation tool.
location_checked; tiers claim interval SHAPE only —
docs/design/255): 164 passed, 20
unchecked, 3 failed, 0 not
applicable.Apply the page’s evidence boundary literally:
Before copying a result, run check_drm(fit). Check
convergence, the fixed- effect gradient, and Hessian diagnostics; then
inspect conf.status, profile.boundary, and any
failed bootstrap refits for the interval you plan to report. A printed
interval is not permission to ignore a boundary or failed refit
warning.
The sections below retain the technical evidence behind the reader summary. They use internal evidence tiers, fit labels, and campaign details only to state the exact boundary of a claim; they do not change a cell’s status.
The historical ledger uses the following labels. Reporting permission is not monotone in that legacy order; use the separate point and interval answers above.
drmTMB refuses to fit the request outright. Some of these
routes are planned for a later release; some are out of scope for the
package’s current design. Either way, fitting it anyway is not an option
– use the alternative named below each entry.The generated census preserves historical statuses while their rows
are audited against this ladder. Read the evidence and caveat columns
when a legacy supported label conflicts with an interval or
coverage note; the stricter meaning above is the forward definition.
This historical skim records the technical routes described below. It is not a current census: use the generated reader summary above for current counts and reporting boundaries.
Historical ledger order: supported > inference-ready with caveats > interval-feasible > point-fit recovery > diagnostic-only. This order is kept for provenance, not as reporting permission; the separate point and interval answers above are authoritative.
| Family / route | Main dpars | Ordinary RE (mu) |
Structured RE | Highest model-surface evidence |
|---|---|---|---|---|
gaussian |
mu, sigma |
intercept + independent slope | phylo / spatial / animal /
relmat (scoped) |
supported (exact ordinary-RE cells) |
biv_gaussian |
mu1, mu2, sigma1,
sigma2, rho12 |
matching labelled intercepts / slopes (scoped) | matching structured q2+ (scoped) | supported (exact ordinary-RE cells) |
student |
mu, sigma, nu |
mu intercept + slope |
limited spatial / phylo-nu gates |
interval-feasible |
lognormal |
mu, sigma |
mu + sigma intercept |
limited phylo / relmat on
mu |
inference-ready with caveats (sigma RE) |
gamma |
mu, sigma |
mu + sigma intercept |
limited phylo / relmat |
inference-ready with caveats (sigma RE) |
poisson / nbinom2 |
mu, sigma (NB2) |
mu intercept + slope; NB2 sigma
intercept |
q1 structured mu (scoped) |
inference-ready with caveats (unstructured) |
binomial |
mu |
mu intercept + slope |
not generally available | inference-ready with caveats under ML; REML diagnostic-only |
beta / beta_binomial /
zero_one_beta |
family-specific mu/sigma/(atoms) |
ordinary mu gates; atom gates scoped |
mostly unavailable / recovery exceptions | inference-ready with caveats (scoped) |
tweedie / skew_normal /
cumulative_logit |
family-specific | ordinary mu intercept + slope |
mostly unavailable | inference-ready with caveats (scoped) |
| zero-inflated / hurdle / truncated counts | mu, sigma,
zi/hu |
limited diagnostic or recovery gates | mostly unavailable | interval-feasible or recovery-only |
How to read the last column. “Highest evidence” is the best tier present for that route on the model surface, not a blanket family claim. Interval feasibility means a public interval method exists for some cells; it does not imply coverage. For current counts, open the Technical ledger snapshot above; the long caveat table stays on this page.
| Model / effect | Tier | What you can trust |
|---|---|---|
| Frozen-margin latent-normal association – all admitted pair classes, plus the Bernoulli x ordinary-NB2 fixed-effect association formula | Interval-feasible | Alpha-scale vcov() and Wald confint(),
plus derived eta standard errors and transformed pointwise intervals,
when fit-specific Godambe diagnostics pass; coverage is uncalibrated
outside the next row and the method warns accordingly |
| Frozen-margin literal-Bernoulli x ordinary-NB2 intercept association | Inference-ready with caveats | Alpha and derived eta uncertainty in the retained high-information
n = 480 or 960 domain; lower-information fits
warn and fail closed if covariance diagnostics do not pass |
Census-supported ordinary Gaussian mu random effects
and matching bivariate-Gaussian mu1/mu2
intercepts |
Point-trustworthy (census “supported”, coverage planned) | Point estimate for the exact supported rows; their intervals are not yet coverage-verified |
Gaussian mu q1 intercept – phylo(),
spatial(), relmat() |
Inference-ready | Point estimate and the default location-axis bias-corrected, small-sample-t Wald interval; coverage is mildly conservative in the tested campaigns |
Gaussian sigma q1 one-slope – phylo(),
animal(), relmat() |
Inference-ready | Point estimate and raw uncorrected log-SD Wald-z interval; profile
is diagnostic-only at g = 8 |
Bivariate Gaussian slope-only mu1:x/mu2:x
q2 mean-mean – phylo(), relmat() |
Inference-ready (default-corrected channel only) | Point estimate and interval from plain confint(fit);
intercept-only and explicitly uncorrected Wald intervals are not
promoted by this evidence |
binomial / Poisson / beta / nbinom2 unstructured
mu |
Inference-ready | Point estimate and Wald interval in the tested designs
(n = 50, 150, or 500); this is
not a universal sample-size threshold |
nbinom2 unstructured location-scale (mu and
sigma ~ x) |
Inference-ready | Point estimate and Wald interval on both formulas |
| beta unstructured location-scale, interior proportions | Inference-ready | Point estimate and Wald interval; exact 0 or 1 needs
zero_one_beta() instead |
Ordinary independent mu random slope
(0 + x \| id) – binomial, skew-normal, Tweedie,
zero-one-beta |
Inference-ready with caveats | Profile interval for the natural-scale slope SD under ML only, not
supported, with no Wald or point-bias claim. The tested
floor differs by family, so do not generalize one number: skew-normal /
Tweedie / zero-one-beta at M >= 16 (true SD 0.50,
ML-Laplace) and binomial at M >= 32 (true SD 0.6,
ML-Laplace). Zero-one-beta is generator-qualified (see the caveat
below) |
Binomial ordinary mu random intercept or independent
slope with REML = TRUE |
Diagnostic-only | The random-effect SD agrees with the overlapping
glmmTMB(REML = TRUE) route in deterministic Bernoulli and
grouped-binomial checks, and drmTMB’s uncertainty calculation is finite.
Use this only to compare estimator behaviour; it is not recovery- or
coverage-backed reporting permission. Fixed-only, multiple-term,
correlated, labelled, structured, and missing-response binomial REML
routes are unavailable |
Cumulative-logit ordinary mu random slope evaluated
with internal AGHQ plus a Cox-Reid adjustment |
Internal evidence only; no public fit/report route | The retained campaign is technical evidence about an internal
estimator. drmTMB() does not expose that estimator, so the
campaign does not authorize a cumulative-logit interval or scientific
report from a public fitted object. Use the public ML-Laplace route only
at its separately documented evidence tier |
Gamma sigma ordinary random intercept
(1 \| id) |
Inference-ready with caveats | ML-Laplace profile interval only for the exact iid, uncentred
coverage fixture (true SD 0.40, 12 observations/group,
M = 32 or 64); M = 16 is
borderline and M = 8 is excluded |
Poisson / nbinom2 structured mu q1 –
phylo(), spatial(), animal(),
relmat() |
Recovery-only | Point estimate only |
nbinom2 structured sigma – phylo(),
spatial(), animal(),
relmat() |
Recovery-only | Point estimate only; scale-targeting bug fixed in 0.4.0 |
Row-specific recovery slices: beta animal() on
mu/sigma, Student-t
mu ~ spatial(1 + x | ...), and Gamma
mu ~ relmat() |
Recovery-only | Point estimate only; no interval or coverage promotion |
Bivariate Gaussian spatial q2 location-intercept REML – matching
labelled spatial(1 | p | site, coords = coords) in
mu1 and mu2 |
Recovery-only | Point estimates for both structured SDs and their latent
correlation; requires intercept-only sigma1,
sigma2, and rho12, complete pairs, unit
weights, no known meta_V(), and no additional ordinary
random, direct-SD, or corpair() layer; no interval or
coverage promotion |
Bivariate Gaussian supplied-K relmat q2
location-intercept REML – matching labelled
relmat(1 | p | id, K = K) in mu1 and
mu2 |
Recovery-only (point_fit_recovery) |
Point estimates for both structured SDs and their latent relatedness
correlation; requires the same named K, group ordering, and
label in both formulas, intercept-only sigma1,
sigma2, and rho12, complete pairs, unit
weights, and no additional random-effect, scale-side,
meta_V(), direct-SD, or corpair() layer; no
interval or coverage promotion |
Row-specific single-smoke slices: ordinal mu ~ phylo(),
truncated-nbinom2 hu ~ relmat(), Student-t
nu ~ phylo(), Student-t intercept-only
mu ~ spatial(1 | ...), Poisson slope-only
mu ~ spatial(0 + x | ...), Poisson labelled-scalar
mu ~ spatial(), Poisson
mu ~ spatial(1 | ...) + (1 | id), Poisson
zi ~ spatial(), fixed-zi Poisson
mu ~ spatial(), and fixed-zi NB2
mu ~ spatial() |
Diagnostic-only | Use only to confirm fit/extractor feasibility; no recovery, interval, or coverage claim |
| Structured effects for lognormal, skew-normal, and Tweedie; zero-one-beta routes outside the exact q1 gates | Not generally available | Zero-one-beta has point-recovery q1 intercept gates on
mu and sigma for phylo(),
animal(), relmat(), spatial(),
and phylo_interaction(), plus selected q1 zoi
and coi gates. Its sigma-relmat()
and sigma-spatial() profile targets are
interval-feasible, not coverage-calibrated. For other families or
structures, use a named admitted route or fixed effects |
Gaussian pure-mu univariate REML –
spatial(), animal(),
relmat() |
Inference-ready with caveats | Unlabelled intercept or independent intercept plus one numeric
slope, with sigma ~ 1; report a direct structured-SD
profile interval only inside the tested discrete domains below |
REML outside the admitted Gaussian routes and ordinary binomial
mu intercept/slope diagnostic |
Not available (rejected by design) | Use REML = FALSE (maximum likelihood). In particular,
fixed-only and structured binomial REML are unavailable |
q4/q6/q8/q12
covariance interval promotion; derived-correlation intervals |
Not available (planned) | Use the fitted point estimate; try profile_targets()
for a direct target |
The rest of this page expands each row with the caveat that changes how you should read it.
Selected structured Gaussian-family random-effect routes are
inference-ready within their recorded scopes. The ML model-surface
anchors include univariate Gaussian mu or
sigma formulas at q1 and bivariate-Gaussian slope-only
mu1:x/mu2:x q2 mean-mean blocks. The same
evidence record also includes the Arc 1a REML estimator routes for
pure-mu univariate spatial(),
animal(), and relmat() routes:
phylo(),
spatial(), relmat() on univariate Gaussian
mu;phylo(),
animal(), relmat() on univariate Gaussian
sigma;phylo(0 + x | ...) and
relmat(0 + x | ...) on bivariate Gaussian
mu1/mu2, a joint cross-response covariance
block. The intercept-only bivariate q2 rows are not inference-ready. The
univariate Gaussian single-response q2 mean-slope route is
recovery-only, not inference-ready;spatial(), animal(),
and relmat() on univariate Gaussian mu,
restricted to an unlabelled intercept or an independent intercept plus
one numeric slope with sigma ~ 1. Each provider is one
ledger cell that covers both admitted shapes; the cell count is not a
count of formula shapes.The machine ledger records endpoint rows separately for bivariate provider blocks. That storage detail does not create additional scientific covariance blocks.
Each route has a caveat, and the caveat is different for each group.
The q1 mu intercept rows are backed by the default
location-axis bias-corrected, small-sample-t Wald channel, with coverage
of 0.9705-0.9832 in the retained-denominator campaigns. The q1
sigma one-slope rows are backed by raw, uncorrected log-SD
Wald-z intervals: intercept-SD coverage is 0.9388-0.9633 and slope-SD
coverage is 0.9895-0.9957 at g = 8, with material miss
asymmetry for some intercept targets. Profile intervals for these q1
sigma rows are diagnostic-only at g = 8
because their finite-interval rates do not clear the promotion gate.
These are the documented small-sample limitations; do not replace either
evidence channel with a general profile recommendation.
The Arc 1a REML cells are coverage-backed only over discrete campaign
domains. Here M is the number of structured levels (sites,
animals, or relatedness levels, and therefore the structured matrix
dimension), while n_each is the number of observations per
structured level. Spatial and relmat() use
n_each = 20 and exactly M = {8, 16, 32}, while
the animal(A = A) campaign uses n_each = 20
and one fixed M = 8 matrix. Coverage clears the
pre-specified small-sample floors but is not nominal-exact; upper-tail
miss asymmetry and zero-lower-bound slope profiles remain material. Do
not rewrite these as continuous M >= ... claims or treat
other pedigrees, matrices, or sample sizes as coverage-checked.
These are copy-paste forms of the three admitted independent one-slope REML cells (replace the object names with objects from your analysis):
fit_spatial_reml <- drmTMB(
bf(y ~ x + spatial(1 + x | site, coords = coords), sigma ~ 1),
family = gaussian(), data = dat, REML = TRUE
)
fit_animal_reml <- drmTMB(
bf(y ~ x + animal(1 + x | id, A = A), sigma ~ 1),
family = gaussian(), data = dat, REML = TRUE
)
fit_relmat_reml <- drmTMB(
bf(y ~ x + relmat(1 + x | id, K = K), sigma ~ 1),
family = gaussian(), data = dat, REML = TRUE
)The multi-seed campaigns used exactly the coordinate, A,
and K representations shown above. Pedigree and
Ainv animal inputs and relmat Q have
deterministic representation-parity evidence only; they do not inherit
the multi-seed campaign claim. Intercept-only versions replace
1 + x with 1; slope-only, labelled, and
multiple-slope shapes remain rejected.
For every admitted Arc 1a term, the fitted structured SD scale
s_j is the latent-field scale: the covariance is
s_j^2 K_h, and node i has marginal SD
s_j sqrt(K_h[ii]). The fitted s_j is therefore
equal to a node marginal SD only when the corresponding diagonal entry
of K_h is one.
The bivariate-Gaussian slope-only q2 mean-mean rows are
inference-ready only because confint()’s defaults already
correct for known small-sample bias on location-axis structured-SD
targets: bias_correct = "location" shifts the log-scale
point estimate to counter ML shrinkage, and
small_sample_df = "location" widens the interval with a
t(df = g - 1) reference instead of a normal quantile.
Calling plain confint(fit) gives you this corrected
interval automatically. If you explicitly turn the correction off
(bias_correct = "none",
small_sample_df = "none"), the resulting raw Wald interval
under-covers on these rows – do not do that for a bivariate
phylo()/relmat() q2 mean-mean report.
None of these structured cells carries the legacy
supported evidence tier the census reserves for the
package’s ordinary (unstructured) Gaussian and bivariate-Gaussian random
effects – and even those supported cells are point-trustworthy with
interval coverage still planned, not coverage-verified. Report these
structured intervals as inference-ready, not as a fully mature
fixed-effect-grade interval.
A group of cells deserves explicit mention even though its interval
does not yet meet the coverage bar for this tier. The census-supported
rows are the Gaussian mu random intercept, its independent
(0 + x | id) slope, and the matching bivariate-Gaussian
mu1/mu2 intercept block. They are the
package’s highest fit-maturity random-effect rows, so their point
estimates are the most trustworthy ordinary random-effect estimates
drmTMB produces. This does not extend to other bivariate
blocks or to an arbitrary intercept-plus-slope formula. Their interval
coverage is still planned rather than simulation-verified: until that
campaign lands, read any interval on these rows the way you would a
recovery-only row below, and report the point estimate with
confidence.
A retained multi-seed coverage campaign checked the fixed-effect mean
coefficients of binomial(), poisson(),
beta(), and nbinom2() across n in
{50, 150, 500}, 400 seeds per cell. Every cell cleared the
bar: finite rate at 1.00 and Wald coverage between 0.922 and 0.973, with
no worsening at the smallest sample size and no systematic
under-coverage. That holds even under stress – a rare-event binomial
design with an approximately 8% base rate, and a low-count Poisson
design with a mean near 1 – so a scarce or noisy field dataset is not,
by itself, a reason to distrust these intervals.
The same campaign extended to nbinom2() location-scale
models, where both the mean coefficients and the sigma ~ x
dispersion coefficients are calibrated (coverage 0.93-0.97 across
n), and to beta() location-scale models on
interior proportions, where mean and sigma ~ x coefficients
are also calibrated (coverage 0.93-0.95). The beta() result
carries one hard requirement: the family strictly needs responses in the
open interval (0, 1). An observation with an exact 0 or
exact 1 – a boundary proportion that arises naturally from rounding at
extreme covariate values – produces a non-finite result by design, not a
bug to route around. If your proportions can legitimately sit at the
boundary, fit zero_one_beta() instead of
beta().
The following non-Gaussian families carry an
inference-ready-with-caveats interval for the standard deviation of a
single ordinary independent mu random slope,
(0 + x | id): binomial, skew-normal, Tweedie, and
zero-one-beta. The claim is narrow and the same in shape across them – a
profile interval for the natural-scale slope SD, ML only, no
Wald-interval or point-bias claim – but the tested floor and design
differ by family and should not be generalized to a single number.
Skew-normal, Tweedie, and zero-one-beta are certified at
M >= 16 groups (true slope SD 0.50) with the standard
ML-Laplace profile. Binomial is certified at M >= 32
(true SD 0.6).
The retained cumulative-logit campaign used adaptive Gauss-Hermite
quadrature with a Cox-Reid adjustment, but that estimator is
package-private and cannot be requested through drmTMB().
The campaign remains useful technical evidence; it does not grant
reporting permission to the public ML-Laplace fit. Do not report a
cumulative-logit random-slope interval on the strength of that
campaign.
Zero-one-beta carries an extra caveat and is
generator-qualified. Its coverage campaign was designed
with a fixed 15% structural boundary mass and interior draws from a beta
density, but the interior draws leaked rare machine-exact ones – 50, 87,
and 193 of them across the M = 16, 32, and
64 replicate banks – because the sampler’s precision
parameter pushes the beta shape toward a boundary in the upper tail. The
reported coverage (0.929, 0.940, 0.952 at M = 16 / 32 / 64)
therefore describes the generator as executed, not an
exactly-15%-boundary design. The leak is not independent of the
estimand: affected replicates carry systematically larger slope-SD
estimates, so the effect of the defect under the intended generator is
unquantified and cannot be recovered from the retained campaign. One of
the three independent promotion reviewers withheld this cell on exactly
that ground; it promotes under the frozen two-withhold rule, and the
caveat travels with it. This is a principled boundary, not a temporary
one. At the beta shapes where the leak occurs, the intended distribution
genuinely places a large share of its mass within one machine-precision
step of the boundary, so no strictly-interior sampler can faithfully
reproduce the intended design; a rerun would answer a different,
convention-dependent question rather than certify the intended one. The
generator-qualified reading is therefore the correct terminal statement
for this cell.
sigma random intercept: narrow coverage-backed
intervalThe Gamma sigma ~ (1 | id) random-intercept standard
deviation has a separate, narrower result. Its ML-Laplace profile
interval was assessed only in an iid, uncentred fixture with true SD
0.40 and 12 observations per group. M = 32 and
64 groups met the retained coverage rule;
M = 16 is borderline and M = 8 is excluded
because boundary behaviour made that arm unsuitable for reporting. This
is not evidence for Gamma sigma slopes, labelled blocks,
joint mu and sigma random effects, REML, or
other sampling designs.
A larger set of non-Gaussian structured random-effect routes has verified point-estimate recovery but no coverage evidence at all. Trust the coefficient; do not report the interval as calibrated.
This covers Poisson and nbinom2 q1 structured mu
intercepts and one-slopes for phylo(),
spatial(), animal(), and
relmat(), and nbinom2 structured sigma for the
same four providers. The nbinom2 structured-sigma route
deserves a specific caution: through 0.3.x, a
sigma ~ phylo()/spatial()/animal()/relmat()
formula silently modified the mean predictor instead of the
scale predictor, so a fitted model reported a
sigma-labelled standard deviation that was actually
changing mu. That mis-targeting is fixed in 0.4.0, and the
route now correctly modifies scale with verified point-fit recovery –
but intervals and coverage remain out of scope, so this row stays
recovery-only even after the fix.
Zero-one-beta also has exact q1 structured-intercept gates.
Point-recovery evidence covers mu under
phylo(), animal(), relmat(),
spatial(), and phylo_interaction();
sigma has the same five point-fit gates. The
sigma-relmat() and
sigma-spatial() direct profile targets are
interval-feasible, not coverage-calibrated. Selected q1 zoi
and coi structured intercepts have point-recovery evidence,
but several provider combinations remain unavailable. These exact cells
do not extend to slopes, labels, q2 or larger covariance blocks,
simultaneous atom effects, REML, or a family-wide structured-effect
claim.
A further handful of row-specific slices sit at the same tier: beta
animal() structured effects on mu and on
sigma, Student-t mu ~ spatial(1 + x | ...),
and Gamma mu ~ relmat() (unlabelled intercept and
one-slope). Each of these fits and has point-recovery evidence; none has
a coverage study behind its interval. If your scientific question turns
on the width of a confidence/compatibility interval rather than the sign
and rough size of an effect, do not build the argument on one of these
rows yet.
Some exact structured routes currently have deterministic or
single-smoke fit/extractor evidence without a retained-denominator
recovery ladder: ordinal mu ~ phylo(), truncated-nbinom2
hu ~ relmat(), Poisson zi ~ spatial(),
fixed-zi Poisson mu ~ spatial(), Student-t
nu ~ phylo(1 | ...), Student-t intercept-only
mu ~ spatial(1 | ...), Poisson slope-only
mu ~ spatial(0 + x | ...), Poisson labelled-scalar
mu ~ spatial(), Poisson
mu ~ spatial(1 | ...) + (1 | id), and fixed-zi
NB2 mu ~ spatial(1 | ...). These routes establish that the
parser, likelihood target, and extractors connect. They do
not establish point-estimate recovery. Use them for
feasibility or debugging only, and do not report an interval or coverage
claim.
Structured random effects outside the narrow gates
above. drmTMB does not currently accept structured
phylo(), spatial(), animal(), or
relmat() random effects for lognormal, skew-normal, or
Tweedie families. Zero-one-beta accepts only the exact q1
structured-intercept cells described under Tier 2; it does not provide
blanket structured support. Gamma is another partial exception: it
accepts relmat() on mu (recovery-only, listed
under Tier 2 above) but rejects phylo(),
spatial(), and animal(). Try instead: model
the same structural dependence through a Gaussian route (for example a
log- or logit-transformed response under gaussian()), fall
back to the ordinary Poisson/nbinom2 structured routes described above
for count data, or drop to fixed effects for the family you need while
structured support catches up.
REML outside its admitted scope. REML is implemented
across a bounded Gaussian surface and a diagnostic-only ordinary
binomial slice. Inside Gaussian models it accepts a specific boundary
rather than every structured shape. It accepts univariate phylogenetic
mean-side, scale-side, and matched q2 mean-and-scale blocks, plus
univariate spatial, animal, and relmat() structured effects
on the scale side, bivariate phylogenetic structured effects in every
covariance layout, and heteroscedastic sigma ~ x formulas
together with ordinary (non-phylogenetic) sigma random
effects. Arc 1a additionally accepts a pure-mu, univariate
spatial(), animal(), or relmat()
term as an unlabelled intercept or an independent intercept plus one
numeric slope, but only with constant sigma ~ 1 and no
sigma random effect. Arc 1b-S1 accepts matching labelled
fixed-covariance spatial(1 | p | site, coords = coords)
intercepts in bivariate mu1 and mu2, with
intercept-only sigma1, sigma2, and
rho12, complete response pairs, unit weights, no known
meta_V() covariance, and no additional ordinary random,
direct-SD, or corpair() layer, at recovery-only grade. Arc
1b-S2R admits the analogous location-only supplied-relatedness cell only
when both formulas contain the same labelled
relmat(1 | p | id, K = K) intercept and the named
K, group ordering, and label match exactly. This relmat
route has point_fit_recovery evidence: report its two
structured SDs and latent relatedness correlation as point estimates,
not calibrated intervals.
The relmat REML exception does not admit Q = Q, slopes,
q4 or larger blocks, scale-side terms, extra random effects, incomplete
response pairs, non-unit weights, nonconstant residual formulas,
direct-SD models, meta_V(), or corpair().
Animal-model bivariate REML remains rejected.
For binomial responses, REML = TRUE accepts one ordinary
unlabelled mu random intercept or independent slope. That
O2 joint-Laplace route is diagnostic-only: deterministic comparator and
uncertainty checks show that it is wired correctly, but no recovery or
coverage campaign authorizes a scientific estimate. A fixed-only
binomial model has no random-effect variance component for REML to
target. Multiple-term, correlated, labelled, structured, and
missing-response binomial REML routes remain unavailable. Every other
non-Gaussian family remains outside the public REML surface. Try
instead: fit the same model with REML = FALSE (maximum
likelihood); ML is the route to use for any model REML rejects or for
reportable binomial inference.
Higher-order covariance promotion. q4,
q6, q8, and q12
covariance-interval promotion, plus derived-correlation intervals more
broadly for non-Gaussian structured covariance, remain planned rather
than implemented. Try instead: use the fitted point estimate for the
covariance or correlation summary you need, and check
profile_targets(fit) for any direct target that already has
an interval route before assuming none exists.
If you are deciding whether a specific drmTMB output
belongs in a manuscript, read this section next. It names four gaps
between what an extractor currently returns and what the underlying fit
actually supports, and what to do about each one.
Regression-parameterised coscale intervals are computable,
but not coverage-certified. If your rho12 formula
depends on a covariate (rho12 ~ x),
corpairs(fit, conf.int = TRUE) reports
conf.status = "derived_interval_unavailable" because its
one-row summary averages a fitted surface. Use
confint(fit, parm = "rho12", newdata = grid, method = "profile")
for row-specific profile intervals, or
predict_parameters(fit, newdata = grid, dpar = "rho12", conf.int = TRUE)
for the corresponding Wald intervals. The same evidence boundary applies
to the constant rho12 ~ 1 profile interval: it is
available, but the current ledger records no committed bivariate
fixed-effect CI-coverage simulation. Treat either result as an
interval-feasibility output, not a calibrated reporting guarantee.
Tracked as issue #802.
The certified Arc 4c mu-slope cells make no
point-bias or Wald claim. The skew-normal (mc-0464), Tweedie
(mc-0539), and zero-one-beta (mc-0575) cells described under “Ordinary
non-Gaussian random slopes” above come from a coverage campaign whose
reporting extractor had a disclosed defect: it recorded NA
for the point estimate (sd_hat) and every Wald column,
across the whole campaign. The defect is repaired going forward, but the
immutable campaign artifact was not backfilled, so these named cells
carry only the certified ML-Laplace profile interval described above –
not a point-bias number and not a Wald interval. What to try next: read
and report the profile interval for these cells, and treat any
point-bias or Wald claim about them as unavailable, not merely
uncertain.
Profile-interval endpoints no longer depend on your
iter.max budget (issue #710.5). A previously
reported numerical-stability issue – a tight
iter.max/eval.max on the profile-endpoint
refit could bias a profile CI inward – is fixed: the endpoint refit now
floors its own inner-iteration budget regardless of what you pass in, so
tightening your fit’s control settings no longer distorts a profile
interval. One related item stays open after 0.7.0, a
sigma-slope start-value correction (issue #710.2), but it
does not touch the certified profile-CI cells described above.
Julia cross-family fitting is deferred. Legacy
Julia-bridge objects may still be readable for compatibility, but they
are not a current analysis route and do not establish cross-family
inference. Their compatibility extractors return only u = 0
response-scale means and response residuals for mu1 /
mu2; vcov() and fixed-effect Wald intervals
explicitly report unavailable rather than returning an empty value. What
to try next: use the native TMB engine, drmTMB’s default,
for current supported models. For the bounded post-0.7 development
association route, see the frozen-margin article; it is a separate
staged interface and is not a Julia fit.
All admitted fixed-effect, complete-pair association classes are
interval-feasible for their association-link
coefficients alpha. vcov() returns the
relevant block of the two-stage Godambe covariance and
confint() returns alpha-scale Wald intervals whenever the
fit-specific calculation succeeds. This includes the admitted Bernoulli
x ordinary-NB2 association-slope formula. Routes without a coverage
campaign warn that the interval is experimental; they are not
withheld.
For an intercept-only association,
confint(object, type = "eta") transforms the alpha interval
to the bounded latent-association scale. For association regression,
predict(object, newdata = ..., type = "eta", se.fit = TRUE, interval = "confidence")
supplies pointwise delta-method eta standard errors and transformed
confidence limits. These derived results inherit the alpha route’s
evidence tier; they do not add a new coverage or simultaneous-band
claim.
Within that surface, literal-Bernoulli x ordinary-NB2 with
association = ~ 1 is inference-ready with
caveats. A 16-cell, 16,000-attempt high-information campaign
(n = 480 or 960) passed its predeclared bias,
availability, SE-calibration, and coverage gates. This positive scoped
evidence supports the stronger tier; it does not require unrestricted
calibration over every possible dataset.
The earlier lower-information campaign found five primary coverage failures driven by unavailable intervals. drmTMB therefore warns on lower-information fits and returns an interval only when the fit-specific covariance diagnostics pass. It does not manufacture bounds for an unstable or unresolved result. Simultaneous eta bands, profiles, random effects, missingness, weights, offsets, and REML remain outside this interval surface.
Missing-data support is a separate axis from the tiers above: it is
likelihood based (missing responses are marginalised, missing predictors
are modelled inside the same likelihood), not multiple imputation and
not a posterior. It is validated against two single-source-of-truth
inventories. A positive runtime test reconciles all currently fitted
response routes with the response ledger; predictor-family tests still
require every family outside
drm_missing_predictor_families() to reject. Route-specific
tests cover unsupported response neighbours, so an unsupported request
is a clear error, never a silent wrong likelihood. The full worked
walkthrough is in vignette("missing-data").
The response-missingness board below is generated from the response-route ledger as the capability surface. It distinguishes code admission from completed validation: a route receives a verified ✓ only at G3 recovery or above.
| Route | Runtime state | Evidence gate | Work state | Next gate |
|---|---|---|---|---|
gaussian |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
biv_gaussian |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
student |
implemented | G3 ✓ | verified | Under mr-g5-calibration-v2 (complete & precise & in-band & availability >= 0.99), 7/16 campaign cells fail – 6 on the availability floor (< 0.99), 1 on coverage; G3 stands until both are fixed and the route re-passes exhaustively. |
lognormal |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
gamma |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
poisson |
implemented | G3 ✓ | verified | Under mr-g5-calibration-v2 (complete & precise & in-band & availability >= 0.99), 1/9 campaign cells fail – coverage only (fixef:mu:(Intercept), 0.5x rung, 0.9217, just below the [0.925, 0.975] band); no availability blocker remains under v2. G3 stands until the coverage miss is resolved and the route re-passes exhaustively. |
nbinom2 |
implemented | G3 ✓ | verified | Under mr-g5-calibration-v2 (complete & precise & in-band & availability >= 0.99), 3/15 campaign cells fail on the availability floor (< 0.99); G3 stands until availability is fixed and the route re-passes exhaustively. |
zi_poisson |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
zi_nbinom2 |
implemented | G3 ✓ | verified | Under mr-g5-calibration-v2 (complete & precise & in-band & availability >= 0.99), 1/24 campaign cells fail on the availability floor (< 0.99); G3 stands until availability is fixed and the route re-passes exhaustively. |
beta |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
truncated_nbinom2 |
implemented | G3 ✓ | verified | Under mr-g5-calibration-v2 (complete & precise & in-band & availability >= 0.99), 5/11 campaign cells fail on the availability floor (< 0.99); G3 stands until availability is fixed and the route re-passes exhaustively. |
hurdle_nbinom2 |
implemented | G3 ✓ | verified | Under mr-g5-calibration-v2 (complete & precise & in-band & availability >= 0.99), 1/24 campaign cells fail on the availability floor (< 0.99); G3 stands until availability is fixed and the route re-passes exhaustively. |
cumulative_logit (fixef:mu:x only) |
implemented | G5 ✓ | verified | The ordinal cutpoint targets remain outside this key and require separate interval-capability work; do not widen this target claim to all fitted dpars, other fixed effects, random effects, another missingness mechanism, or another estimator. |
beta_binomial |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
zero_one_beta |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
tweedie |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
skew_normal |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
binomial |
implemented | G5 ✓ | verified | G5 is the ceiling of this axis’s ladder (README: G0-G5). Extending
this claim to additional cumulative_logit targets or any
other missing_response route requires its own exhaustive, defect-free G5
reconciliation and a fresh D-43 panel. |
A ✓ appears only at G3 recovery or above. Missing-response evidence does not change the model’s separate inference tier.
Missing-predictor support is a different axis and is not managed by the new response-missingness ledger:
| Response family | Missing predictor mi()
(predictor = "model") |
|---|---|
gaussian() |
✓ (broad predictor-model catalogue) |
binomial(), poisson(),
nbinom2(), beta() |
✓ (one binary predictor) |
| every other family | — (rejects) |
Two missing-predictor details:
mi(). One
intercept-only structured predictor model (phylo(),
spatial(), animal(), relmat()) is
available for the Gaussian-response mi() route only.
Multivariate/bivariate missing-predictor modelling is not available
(that is gllvmTMB’s lane).Not available anywhere yet, and rejected with a family-specific
message: non-binary missing predictors on non-Gaussian responses;
multiple missing predictors; mi() with random-effect,
structured, or zero-inflated response terms; response masking combined
with mi() in the same fit; and EM, profile, or REML
missing-data engines. No fitted response route remains at G0 on the
generated board, but each G3 tick applies only to the route and effect
structure named in its evidence row.
The table below preserves the original whole-package view alongside the missing-response board. It shows distributional parameters, fixed and random effects, structured providers, REML, inference maturity, and both missing-data axes. Its missing-response column is generated from the response-route ledger.
| Response | dpars | Fixed | Random (int/slope) | Structured (phylo/spatial/animal/relmat/phylo_interaction) | REML | Highest evidence (exact scope) | Miss-response | Miss-predictor mi() |
|---|---|---|---|---|---|---|---|---|
| gaussian | mu, sigma |
mu: scope-limited (implemented 2; not implemented 1);
sigma: implemented |
mu: int implemented / slope implemented;
sigma: int implemented / slope implemented |
mu: phylo=scope-limited (implemented 4; not implemented
1; not currently supported 1), spatial=implemented, animal=implemented,
relmat=implemented, phylo_interaction=implemented; sigma:
phylo=implemented, spatial=implemented, animal=implemented,
relmat=implemented, phylo_interaction=not currently supported |
mu: scope-limited (implemented 8; not currently
supported 4); sigma: scope-limited (implemented 8; not
currently supported 3) |
inference_ready_with_caveats — mc-0272
(mu; structured; provider=phylo; estimator=ML; dimension=univariate;
q=q1; variant=legacy_01); mc-0276 (sigma; structured;
provider=phylo; estimator=ML; dimension=univariate; q=q1;
variant=legacy_02); mc-0285 (mu; structured;
provider=spatial; estimator=ML; dimension=univariate; q=q1;
variant=legacy_01); mc-0287 (mu; structured;
provider=spatial; estimator=REML; dimension=univariate; q=q1;
variant=base); mc-0299 (mu; structured; provider=animal;
estimator=REML; dimension=univariate; q=q1; variant=base);
mc-0301 (sigma; structured; provider=animal; estimator=ML;
dimension=univariate; q=q1; variant=legacy_02); mc-0309
(mu; structured; provider=relmat; estimator=ML; dimension=univariate;
q=q1; variant=legacy_01); mc-0311 (mu; structured;
provider=relmat; estimator=REML; dimension=univariate; q=q1;
variant=base); mc-0313 (sigma; structured; provider=relmat;
estimator=ML; dimension=univariate; q=q1; variant=legacy_02) |
G5 ✓ inference-ready; G4: framework ready; G5: 15/15 cells pass (2026-08-11 authenticated route-wide campaign; supersedes the earlier 51/54 figure from the combined Gaussian cohort) | implemented: broad predictor-family catalogue |
| biv_gaussian | sigma1, sigma2, rho12,
mu2, mu1 |
sigma1: implemented; sigma2: implemented;
rho12: implemented; mu2: implemented;
mu1: implemented |
sigma1: int scope-limited (implemented 1; not currently
supported 1) / slope implemented; sigma2: int implemented /
slope implemented; rho12: int not currently supported /
slope absent; mu2: int implemented / slope implemented;
mu1: int scope-limited (implemented 2; not currently
supported 1) / slope implemented |
sigma1: phylo=implemented, spatial=implemented,
animal=implemented, relmat=implemented, phylo_interaction=absent;
sigma2: phylo=implemented, spatial=implemented,
animal=implemented, relmat=implemented, phylo_interaction=absent;
rho12: phylo=absent, spatial=absent, animal=absent,
relmat=absent, phylo_interaction=absent; mu2:
phylo=implemented, spatial=implemented, animal=implemented,
relmat=implemented, phylo_interaction=absent; mu1:
phylo=scope-limited (implemented 9; not currently supported 1),
spatial=scope-limited (implemented 7; not currently supported 1),
animal=scope-limited (implemented 7; not currently supported 1),
relmat=scope-limited (implemented 7; not currently supported 1),
phylo_interaction=not implemented |
sigma1: scope-limited (implemented 5; not currently
supported 1); sigma2: implemented; rho12:
implemented; mu2: scope-limited (implemented 7; not
currently supported 1); mu1: scope-limited (implemented 14;
not currently supported 4) |
inference_ready_with_caveats — mc-0085
(mu1; structured; provider=phylo; estimator=ML; dimension=bivariate;
q=q2; variant=legacy_02); mc-0086 (mu2; structured;
provider=phylo; estimator=ML; dimension=bivariate; q=q2;
variant=legacy_02); mc-0153 (mu1; structured;
provider=relmat; estimator=ML; dimension=bivariate; q=q2;
variant=legacy_02); mc-0154 (mu2; structured;
provider=relmat; estimator=ML; dimension=bivariate; q=q2;
variant=legacy_02); mc-0199 (mu1; structured;
provider=spatial; estimator=REML; dimension=bivariate; q=q2;
variant=arc1b_s1_exact_q2_intercept); mc-0672 (mu2;
structured; provider=spatial; estimator=REML; dimension=bivariate; q=q2;
variant=arc1b_s1_exact_q2_intercept) |
G5 ✓ inference-ready; G4: framework ready; G5: 39/39 cells pass (2026-08-11 authenticated route-wide campaign; supersedes the earlier 51/54 figure from the combined Gaussian cohort) | rejected by runtime gate (biv_gaussian response) |
| student | mu, sigma, nu |
mu: implemented; sigma: implemented;
nu: implemented |
mu: int implemented / slope implemented;
sigma: int not currently supported / slope not currently
supported; nu: int not currently supported / slope not
currently supported |
mu: phylo=not currently supported,
spatial=scope-limited (implemented 2; not currently supported 1),
animal=absent, relmat=absent, phylo_interaction=absent;
sigma: phylo=not currently supported, spatial=absent,
animal=absent, relmat=absent, phylo_interaction=absent; nu:
phylo=scope-limited (implemented 1; not currently supported 1),
spatial=not currently supported, animal=absent, relmat=absent,
phylo_interaction=absent |
mu: not currently supported; sigma: not
currently supported; nu: not currently supported |
interval_feasible — mc-0484 (mu;
fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0485 (sigma; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base);
mc-0486 (nu; fixed; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base) |
G3 ✓ recovery verified; G4: framework ready; G5: 3/16 cells pass; 13 retained failures | rejected by runtime gate (student response) |
| lognormal | mu, sigma |
mu: scope-limited (implemented 1; not currently
supported 1); sigma: implemented |
mu: int implemented / slope implemented;
sigma: int implemented / slope not currently supported |
mu: phylo=scope-limited (implemented 1; not currently
supported 1), spatial=not currently supported, animal=not currently
supported, relmat=scope-limited (implemented 1; not currently supported
1), phylo_interaction=not currently supported; sigma:
phylo=not currently supported, spatial=not currently supported,
animal=not currently supported, relmat=not currently supported,
phylo_interaction=not currently supported |
mu: not currently supported; sigma: not
currently supported |
inference_ready_with_caveats — mc-0382
(sigma; ordinary_re_intercept; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 15/15 cells pass (2026-08-11 authenticated route-wide campaign; supersedes the earlier 11/15 figure from the pre-panel cohort) | rejected by runtime gate (lognormal response) |
| gamma | mu, sigma |
mu: implemented; sigma: implemented |
mu: int implemented / slope implemented;
sigma: int implemented / slope not currently supported |
mu: phylo=scope-limited (implemented 1; not currently
supported 1), spatial=not currently supported, animal=not currently
supported, relmat=scope-limited (implemented 1; not currently supported
1), phylo_interaction=not currently supported; sigma:
phylo=not currently supported, spatial=not currently supported,
animal=not currently supported, relmat=not currently supported,
phylo_interaction=not currently supported |
mu: not currently supported; sigma: not
currently supported |
inference_ready_with_caveats — mc-0242
(sigma; ordinary_re_intercept; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 15/15 cells pass (2026-08-11 authenticated route-wide campaign; supersedes the earlier 12/15 figure from the pre-panel cohort) | rejected by runtime gate (gamma response) |
| poisson | mu |
mu: scope-limited (implemented 1; not implemented
1) |
mu: int implemented / slope scope-limited (implemented
2; not currently supported 1) |
mu: phylo=implemented, spatial=scope-limited
(implemented 6; not currently supported 1), animal=scope-limited
(implemented 3; not currently supported 1), relmat=scope-limited
(implemented 3; not currently supported 1),
phylo_interaction=scope-limited (implemented 1; not currently supported
1) |
mu: not currently supported |
inference_ready_with_caveats — mc-0427
(mu; fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base) |
G3 ✓ recovery verified; G4: framework ready; G5: 5/9 cells pass; 4 retained failures | implemented: one binary missing predictor |
| nbinom2 | mu, sigma |
mu: scope-limited (implemented 1; not currently
supported 1); sigma: implemented |
mu: int implemented / slope implemented;
sigma: int implemented / slope not currently supported |
mu: phylo=scope-limited (implemented 3; not currently
supported 3), spatial=implemented, animal=implemented,
relmat=implemented, phylo_interaction=implemented; sigma:
phylo=scope-limited (implemented 1; not implemented 1; not currently
supported 1), spatial=implemented, animal=implemented,
relmat=implemented, phylo_interaction=implemented |
mu: not currently supported; sigma: not
currently supported |
inference_ready_with_caveats — mc-0397
(mu; fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0398 (sigma; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base) |
G3 ✓ recovery verified; G4: framework ready; G5: 10/15 cells pass; 5 retained failures | implemented: one binary missing predictor |
| zi_poisson | mu, zi |
mu: implemented; zi: implemented |
mu: int not currently supported / slope not currently
supported; zi: int not currently supported / slope not
currently supported |
mu: phylo=not currently supported, spatial=implemented,
animal=absent, relmat=absent, phylo_interaction=absent; zi:
phylo=not currently supported, spatial=implemented, animal=absent,
relmat=absent, phylo_interaction=absent |
mu: not currently supported; zi: not
currently supported |
interval_feasible — mc-0657 (mu;
fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0663 (zi; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 18/18 cells pass (2026-08-11 route-wide campaign) | implemented: one binary missing predictor via poisson
family-type gate |
| zi_nbinom2 | mu, sigma, zi |
mu: implemented; sigma: implemented;
zi: implemented |
mu: int not currently supported / slope not currently
supported; sigma: int not currently supported / slope not
currently supported; zi: int not currently supported /
slope not currently supported |
mu: phylo=not currently supported,
spatial=scope-limited (implemented 1; not currently supported 1),
animal=not currently supported, relmat=not currently supported,
phylo_interaction=not currently supported; sigma: phylo=not
currently supported, spatial=not currently supported, animal=not
currently supported, relmat=not currently supported,
phylo_interaction=implemented; zi: phylo=absent,
spatial=not currently supported, animal=absent, relmat=absent,
phylo_interaction=absent |
mu: not currently supported; sigma: not
currently supported; zi: not currently supported |
interval_feasible — mc-0623 (mu;
fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0625 (sigma; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base);
mc-0627 (zi; fixed; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base); mc-0653 (sigma;
structured; provider=phylo_interaction; estimator=ML;
dimension=univariate; q=q1; variant=base) |
G3 ✓ recovery verified; G4: framework ready; G5: not run | implemented: one binary missing predictor via nbinom2
family-type gate |
| beta | mu, sigma |
mu: implemented; sigma: implemented |
mu: int implemented / slope scope-limited (implemented
1; not currently supported 1); sigma: int not currently
supported / slope not currently supported |
mu: phylo=scope-limited (implemented 1; not currently
supported 1), spatial=not currently supported, animal=scope-limited
(implemented 2; not currently supported 1), relmat=not currently
supported, phylo_interaction=not currently supported;
sigma: phylo=not currently supported, spatial=not currently
supported, animal=scope-limited (implemented 1; not currently supported
1), relmat=not currently supported, phylo_interaction=not currently
supported |
mu: not currently supported; sigma: not
currently supported |
inference_ready_with_caveats — mc-0001
(mu; fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0003 (sigma; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base);
mc-0017 (mu; structured; provider=phylo; estimator=ML;
dimension=univariate; q=q1; variant=beta_phylo_q1_direct_sd) |
G5 ✓ inference-ready; G4: framework ready; G5: 15/15 cells’ worst-case bound inside [0.925, 0.975] (2026-08-11, second D-43 panel, threshold-free worst-case bound – NOT the mr-g5-calibration-v2 floor; campaign 294/294 complete; supersedes the earlier ‘cancelled after 2 unreconciled receipts’ status, which predated the resume) | implemented: one binary missing predictor |
| truncated_nbinom2 | mu, sigma |
mu: scope-limited (implemented 1; not currently
supported 1); sigma: implemented |
mu: int implemented / slope implemented;
sigma: int not currently supported / slope not currently
supported |
mu: phylo=not currently supported, spatial=not
currently supported, animal=not currently supported, relmat=not
currently supported, phylo_interaction=not currently supported;
sigma: phylo=not currently supported, spatial=not currently
supported, animal=not currently supported, relmat=not currently
supported, phylo_interaction=not currently supported |
mu: not currently supported; sigma: not
currently supported |
interval_feasible — mc-0508 (mu;
fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0509 (sigma; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base);
mc-0511 (mu; ordinary_re_slope; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base) |
G3 ✓ recovery verified; G4: framework ready; G5: not run | rejected by runtime gate (truncated_nbinom2
response) |
| hurdle_nbinom2 | mu, sigma, hu |
mu: implemented; sigma: implemented;
hu: implemented |
mu: int not currently supported / slope not currently
supported; sigma: int not currently supported / slope not
currently supported; hu: int not currently supported /
slope not currently supported |
mu: phylo=not currently supported, spatial=not
currently supported, animal=not currently supported, relmat=not
currently supported, phylo_interaction=not currently supported;
sigma: phylo=not currently supported, spatial=not currently
supported, animal=not currently supported, relmat=not currently
supported, phylo_interaction=not currently supported; hu:
phylo=not currently supported, spatial=not currently supported,
animal=not currently supported, relmat=implemented,
phylo_interaction=not currently supported |
mu: not currently supported; sigma: not
currently supported; hu: not currently supported |
interval_feasible — mc-0326 (mu;
fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0342 (sigma; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base);
mc-0358 (hu; fixed; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base) |
G3 ✓ recovery verified; G4: framework ready; G5: not run | rejected by runtime gate (truncated_nbinom2
response) |
| cumulative_logit | mu |
mu: implemented |
mu: int implemented / slope implemented |
mu: phylo=scope-limited (implemented 1; not currently
supported 1), spatial=not currently supported, animal=not currently
supported, relmat=not currently supported, phylo_interaction=not
currently supported |
mu: not currently supported |
interval_feasible — mc-0223 (mu;
fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0225 (mu; ordinary_re_intercept;
provider=none; estimator=ML; dimension=univariate; q=na;
variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5:
fixef:mu:x only, 3/3 target-rung cells pass; cutpoint
targets remain excluded (#967) |
rejected by runtime gate (cumulative_logit
response) |
| beta_binomial | mu, sigma |
mu: implemented; sigma: implemented |
mu: int implemented / slope implemented;
sigma: int not currently supported / slope not currently
supported |
mu: phylo=not currently supported, spatial=not
currently supported, animal=not currently supported, relmat=not
currently supported, phylo_interaction=not currently supported;
sigma: phylo=not currently supported, spatial=not currently
supported, animal=not currently supported, relmat=not currently
supported, phylo_interaction=not currently supported |
mu: not currently supported; sigma: not
currently supported |
interval_feasible — mc-0025 (mu;
fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0027 (sigma; fixed; provider=none;
estimator=ML; dimension=univariate; q=na; variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 15/15 cells pass (2026-08-11 route-wide campaign) | rejected by runtime gate (beta_binomial response) |
| zero_one_beta | mu, sigma, zoi,
coi |
mu: implemented; sigma: implemented;
zoi: implemented; coi: implemented |
mu: int implemented / slope implemented;
sigma: int implemented / slope implemented;
zoi: int implemented / slope implemented; coi:
int implemented / slope implemented |
mu: phylo=scope-limited (implemented 1; not currently
supported 1), spatial=scope-limited (implemented 1; not currently
supported 1), animal=scope-limited (implemented 1; not currently
supported 1), relmat=scope-limited (implemented 1; not currently
supported 1), phylo_interaction=scope-limited (implemented 1; not
currently supported 1); sigma: phylo=scope-limited
(implemented 1; not currently supported 1), spatial=scope-limited
(implemented 1; not currently supported 1), animal=scope-limited
(implemented 1; not currently supported 1), relmat=scope-limited
(implemented 1; not currently supported 1),
phylo_interaction=scope-limited (implemented 1; not currently supported
1); zoi: phylo=scope-limited (implemented 1; not currently
supported 1), spatial=mixed (not implemented 1; not currently supported
1), animal=scope-limited (implemented 1; not currently supported 1),
relmat=scope-limited (implemented 1; not currently supported 1),
phylo_interaction=scope-limited (implemented 1; not currently supported
1); coi: phylo=scope-limited (implemented 1; not currently
supported 1), spatial=mixed (not implemented 1; not currently supported
1), animal=scope-limited (implemented 1; not currently supported 1),
relmat=mixed (not implemented 1; not currently supported 1),
phylo_interaction=scope-limited (implemented 1; not currently supported
1) |
mu: not currently supported; sigma: not
currently supported; zoi: not currently supported;
coi: not currently supported |
inference_ready_with_caveats — mc-0575
(mu; ordinary_re_slope; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 24/24 cells pass (2026-08-11 route-wide campaign) | rejected by runtime gate (zero_one_beta response) |
| tweedie | mu, sigma, nu |
mu: scope-limited (implemented 1; not implemented 1);
sigma: implemented; nu: implemented |
mu: int implemented / slope implemented;
sigma: int not currently supported / slope not currently
supported; nu: int not currently supported / slope not
currently supported |
mu: phylo=not currently supported, spatial=not
currently supported, animal=not currently supported, relmat=not
currently supported, phylo_interaction=not currently supported;
sigma: phylo=not currently supported, spatial=not currently
supported, animal=not currently supported, relmat=not currently
supported, phylo_interaction=not currently supported; nu:
phylo=not currently supported, spatial=not currently supported,
animal=not currently supported, relmat=not currently supported,
phylo_interaction=not currently supported |
mu: not currently supported; sigma: not
currently supported; nu: not currently supported |
inference_ready_with_caveats — mc-0539
(mu; ordinary_re_slope; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 15/15 cells’ worst-case bound inside [0.925, 0.975] (2026-08-11, second D-43 panel, threshold-free worst-case bound – NOT the mr-g5-calibration-v2 floor) | rejected by runtime gate (tweedie response) |
| skew_normal | mu, sigma, nu |
mu: scope-limited (implemented 1; not implemented 1);
sigma: implemented; nu: implemented |
mu: int implemented / slope implemented;
sigma: int not currently supported / slope not currently
supported; nu: int not currently supported / slope not
currently supported |
mu: phylo=not currently supported, spatial=not
currently supported, animal=not currently supported, relmat=not
currently supported, phylo_interaction=not currently supported;
sigma: phylo=not currently supported, spatial=not currently
supported, animal=not currently supported, relmat=not currently
supported, phylo_interaction=not currently supported; nu:
phylo=not currently supported, spatial=not currently supported,
animal=not currently supported, relmat=not currently supported,
phylo_interaction=not currently supported |
mu: not currently supported; sigma: not
currently supported; nu: not currently supported |
inference_ready_with_caveats — mc-0464
(mu; ordinary_re_slope; provider=none; estimator=ML;
dimension=univariate; q=na; variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 15/15 cells’ worst-case bound inside [0.925, 0.975] (2026-08-11, second D-43 panel, threshold-free worst-case bound – NOT the mr-g5-calibration-v2 floor) | rejected by runtime gate (skew_normal response) |
| binomial | mu |
mu: implemented |
mu: int implemented / slope implemented |
mu: phylo=not currently supported, spatial=not
currently supported, animal=not currently supported, relmat=not
currently supported, phylo_interaction=not currently supported |
mu: scope-limited (implemented 2; not currently
supported 2) |
inference_ready_with_caveats — mc-0057
(mu; fixed; provider=none; estimator=ML; dimension=univariate; q=na;
variant=base); mc-0061 (mu; ordinary_re_slope;
provider=none; estimator=ML; dimension=univariate; q=na;
variant=base) |
G5 ✓ inference-ready; G4: framework ready; G5: 6/6 cells pass | implemented: one binary missing predictor |
confint()’s default method is Wald
(method = "wald"), and for most unstructured fixed-effect
rows in Tier 1 that default is already calibrated. Do not collapse the
four structured-anchor evidence channels into one method: q1
mu and the exact phylo/relmat slope-only q2
mu1:x/mu2:x SD rows use the default
location-axis bias-corrected, small-sample-t Wald channel; q1
sigma uses raw uncorrected log-SD Wald-z evidence, with
profile diagnostic-only at g = 8; and the Arc 1a REML cells
use direct structured-SD profile evidence only inside their tested
discrete domains. Near a boundary, profile_targets(fit) can
identify a direct target worth diagnosing, but that does not promote
profile intervals for a row whose ledger calls them diagnostic-only.
When neither an admitted Wald channel nor an admitted profile channel is
available for a target, method = "bootstrap" is the
last-resort fallback.
For a structured sigma on count data where only the
point estimate is verified, prefer a better-tested alternative when the
interval matters to your conclusion: an ordinary
sigma ~ (1 | id) random intercept, or a fixed-effect
sigma ~ predictors model, both of which carry stronger
evidence than the structured-sigma recovery-only routes
above.
This page is the public reporting summary. Contributors who need to audit a specific cell should use the repository’s internal capability ledger; applied readers do not need that development material to choose a fitted route. Start from the generated summary above and use the exact caveat before interpreting an estimate.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.