This case study exercises the stable 0.2.0 workflow on deterministic synthetic data. The vignette evaluates every backend-independent stage and leaves the optional Stan fits unevaluated so package documentation remains portable.
contract <- create_model_contract(
family = "binary",
outcome_col = "selected",
participant_col = "participant_id",
item_col = "item_id",
trial_col = "trial_id",
condition_col = "condition",
predictors = "trial_covariate"
)
readiness <- audit_model_readiness(simulation$data, contract)
readiness
#> <gp3bayes_readiness_audit>
#> Family: binary
#> Rows: 288
#> Status: ready
#> Ready: TRUE
#> Checks: 22 passed, 0 warnings, 0 failuresdesign <- audit_design_support(
simulation$data,
contract,
separation = FALSE,
strict_readiness = TRUE
)
design
#> <gp3bayes_design_support_audit>
#> Status: review
#> component status
#> standard_readiness pass
#> strict_readiness pass
#> missingness pass
#> fixed_effect_design review
#> random_effects_support pass
#> separation not_assessed
#> Automatic model changes: FALSEprepared <- prepare_hierarchical_binary_data(
simulation$data,
contract,
condition_levels = c("control", "treatment"),
scale_predictors = "trial_covariate"
)
specification <- specify_binary_model(
prepared,
baseline = 0.35
)
prior_check <- check_binary_prior_predictive(
specification,
draws = 200,
seed = 202603
)
prior_check
#> <gp3bayes_binary_prior_predictive_check>
#> Adequate: TRUE
#> Draws: 200
#> Failed checks: 0
#> Backend: none
#> Fit performed: FALSEsensitivity_plan <- create_sensitivity_suite_plan(
prior_scale = TRUE,
psis_loo = TRUE
)
manifest <- create_analysis_manifest(
specification = specification,
estimands = "standardized_probability_contrast",
sensitivity_plan = sensitivity_plan,
seed = 202604,
label = "gp3bayes 0.2.0 synthetic release case"
)
frozen_manifest <- freeze_analysis_manifest(manifest)
frozen_manifest
#> <gp3bayes_analysis_manifest>
#> Version: 0.2
#> Label: gp3bayes 0.2.0 synthetic release case
#> Family: binary
#> Data: 288 x 8
#> Data hash: f3612a97dabe7adffe8782487b233903
#> Frozen: TRUE
#> Manifest hash: 9acf100d29ba0b0c41fe1ef42b232ac2diagnostics <- diagnose_model_fit(fit_cmdstanr)
posterior <- summarise_model_posterior(fit_cmdstanr)
ppc <- check_model_ppc(fit_cmdstanr, draws = 500, seed = 202605)
estimands <- estimate_model_estimands(fit_cmdstanr)
loo_result <- compute_psis_loo(fit_cmdstanr)
suite <- run_sensitivity_suite(fit_cmdstanr, sensitivity_plan)evidence <- collect_model_evidence(
fit = fit_cmdstanr,
design = design,
diagnostics = diagnostics,
posterior = posterior,
ppc = ppc,
estimands = estimands,
loo = loo_result,
sensitivity = suite,
manifest = frozen_manifest
)
fit_schema <- freeze_gp3bayes_schema(
capture_gp3bayes_schema(fit_cmdstanr)
)
evidence
model_workflow_status(evidence)The end product is an inspectable chain from design contract to evidence inventory. At no stage does the package infer emotion, cognition, diagnosis, causality, model adequacy, robustness, or a preferred model automatically.