predict_quality() example to run
deterministically when
options(writeAlizer.offline = TRUE).'example' model with
wa_seed_example_models("example", dir = tempdir()) and
restores prior options after cleanup.R CMD check --as-cran --run-donttest.rlang::abort():
writeAlizer_registry_missing – missing/invalid
artifacts.csv.writeAlizer_unknown_model – unknown/unsupported model
key (raised by preprocess() /
predict_quality()).writeAlizer_download_failed – offline/bad URL/checksum
fetch failures.writeAlizer_internal_mismatch – expected submodel count
≠ preprocessing splits..wa_ensure_file - added classed errors and download
retries.wa_ensure_file():
options(writeAlizer.mock_dir=) (preserves
subdirs).file:// URLs; clearer offline guidance..wa_parts_for() validates inputs and uses canonicalized
model keys..wa_load_model_rdas() /
.wa_load_fits_list():
mock_dir artifacts; load via temp env; pick
sensible object (fit, model, etc.).example..wa_require_pkgs_for_fits() collects deps from model
classes and train$modelInfo$library; errors with install
hint..wa_validate_import() - checks ID column for duplicates
and character typemodel_deps()required vs missing from
Suggests + override
options(writeAlizer.required_pkgs=).required; strips
qualifiers for missing.install.packages() command.NA/invalid
model with actionable messages.predict_quality() surfaces unknown model keys (includes
canonicalized key).ID; supports v2
varlists and consolidated-split behavior.wa_sample_path() to reliably find
inst/extdata in dev/install contexts.options(writeAlizer.offline=TRUE) and avoid HEAD
probes..quiet_eval() to silence messages/warnings
in targeted assertions.rb_mod1, rb_mod2,
rb_mod3narr_v2, rb_mod3exp_v2,
rb_mod3per_v2, rb_mod3all_v2coh_mod1, coh_mod2,
coh_mod3narr, coh_mod3exp,
coh_mod3per, coh_mod3allgamet_cws1mock_dir; verifies
prediction columns and mean-column rules.rb_mod3all smoke test made offline-only with mocked
varlists.import_rb() path with SEP=, +
read.table(text=readLines()).NaN→NA in character columns; guarded
numeric-like conversion (accepts integer where appropriate).wa_sample_path()).download.file errors.Replaced writeAlizer:::wa_seed_example_models() with
writeAlizer::wa_seed_example_models() in examples and
documentation, per CRAN’s guidance to avoid accessing unexported
objects.
Exported wa_seed_example_models() with full
documentation:
@return (returns the created temp path
invisibly).tempdir() and cleans up; it also restores any prior option
value.options(writeAlizer.mock_dir = <path>).@return added to
import_coh(), import_rb(),
import_gamet(), import_merge_gamet_rb().\\dontrun{} replaced with
\\donttest{} where needed; fast examples unwrapped;
predict_quality() uses a tiny offline
'example' model seeded in tempdir() with
cleanup.tempdir(); caching standardized via
tools::R_user_dir("writeAlizer","cache").wa_cache_dir() and
wa_cache_clear(ask=) for cache discovery/cleanup.model_deps() reports (does not
install) optional packages and prints an install hint;
install_model_deps() deprecated.withr fixtures; no temp
detritus; removed deprecated global teardown.writeAlizer.mock_dir.install_model_deps():
model argument.options(writeAlizer.require_pkgs_for_fits = function() ...)
hook; dropped internal helper.Suggests discovery path via
utils::packageDescription(..., fields = "Suggests").dry_run = TRUE now returns tokens visibly (character
vector); version qualifiers are stripped only for checks/installs.artifact_registry: prefer CSV
(inst/metadata/artifacts.csv) and remove legacy in-code
fallback table; tighter input validation.install_model_deps():
options(writeAlizer.require_pkgs_for_fits = function(model, install, return_pkgs) {...}).install_model_deps();
tidied roxygen..wa_ensure_file)
with explicit cache dirs and checksum paths.download.file()
and file URLs during tests.rb_mod3all now calls the rb_mod3all_v2
models).predict_quality() now returns per-submodel scores
and the overall mean column
pred_<model>_mean (where applicable).import_rb() now keeps ReaderBench features by
name using the packaged sample_rb.csv header
(first 404), dropping 405+. It falls back to the legacy positional
selection if the header is unavailable, reducing brittleness to column
reordering.install_model_deps() helper to install Suggests
for a given model.rb_mod3narr_v2, rb_mod3exp_v2,
rb_mod3per_v2, rb_mod3all_v2) and Coh-Metrix
(coh_mod3narr, coh_mod3exp,
coh_mod3per, coh_mod3all).rb_mod3narr, rb_mod3exp,
rb_mod3per, rb_mod3all).predict_quality() call..csv.predict_quality() now also returns an ID
variable.