--- title: "Understanding validation status" author: "Raban Heller" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Understanding validation status} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} resource_files: - figures/logo.svg - figures/logo-dark.svg --- ```{r setup, include=FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>") library(inferguidR) ``` An implemented engine can have unresolved branches. A successful calculation does not establish agreement with every external reference or suitability for a particular study. Always retain the specification, result and package revision. ## Inspect the method before using a result ```{r method-status} validation_status("t_means_two_independent") ``` `independently_checked` records the existence of independent numerical checks. It does not mean every option combination is certified. `reference_pending` means complete G*Power comparison is not certified; captured cases may already exist. The Boschloo extension is outside the G*Power inventory and therefore has G*Power reference status `not_applicable`. ```{r extension} validation_status("boschloo_proportions_two_independent") ``` Standalone Boschloo power and sample-size functions have independent checks. The explicit `advisor_power_spec()` bridge preserves the selected central, minlike or prespecified directional variant for completed, mapped advisor recommendations. Supply event probabilities, direction and allocation explicitly. Unmapped or incomplete recommendations remain unavailable for automatic planning; the mapping does not certify every numerical branch. ## Inspect the actual outcome ```{r outcome} spec <- analysis_spec( "t_means_two_independent", "a_priori", inputs = list(alpha = 0.05, power = 0.8, d = 0.5), options = list(tails = "two") ) result <- solve_design(spec) result$status result$warnings result$validation ``` Use a design estimate only after checking its typed status, warnings and assumptions. In particular, exact unconditional compromise and tetrachoric approximation confidence intervals still have pending branches. Classifier bootstrap validation remains at development status. ## Reproduce the public checks The source repository includes an installed-package checker with synthetic inputs and separate reference calculations. It emits per-case comparisons and a run summary, and exits unsuccessfully on a mismatch. Its scope and tolerances are documented in the [public validation instructions](https://github.com/CTTIR/inferguidR/blob/main/tools/validation/README.md). Separate bounded numerical campaigns exercise exact table enumeration, inverse targets, rank and regression models, multivariate approximations and utility calculations. Their method/mode/option inventory distinguishes an independently checked sample from an uncovered branch or an intentional refusal. A finite sample for every registered method is not certification of all its inputs. The [numerical contracts](https://github.com/CTTIR/inferguidR/blob/main/tools/validation/NUMERICAL-CONTRACTS.md) state the oracle, tolerance, supported scope and remaining boundary for each work package. The installed release preflight separately checks API/help availability, startup effects and report round-trips under full and minimal dependency profiles. The package regression suite and this independent checker answer different questions. Neither replaces full reference-corpus comparison. Some provenance checks skip because development inventories, captured fixtures and ledgers are not shipped. The [validation guide](https://github.com/CTTIR/inferguidR/blob/main/VALIDATION.md) lists those skips and the [roadmap](https://github.com/CTTIR/inferguidR/blob/main/ROADMAP.md) defines the remaining qualification gates.