Resubmission of 0.1.0, which CRAN returned for changes in February 2026.
mean() received the missing values, the feature became NA, and it was dropped
without a message, so a specification meant to match on many covariates could keep only one.expected_direction = "two_sided") rank units by absolute effect.
Previously the unit with the largest effect received p = 0.run_spec_curve_analysis() passes cores to spec_curve(), which previously ran
single-threaded unless params contained its own cores entry.scdata() names donors that have no pre-treatment data instead of failing with an unrelated
error.plot_spec_curve() stops when SHAP values do not cover the specification grid.expected_direction defaults to "two_sided" in inference_sc(), inference_placebo(),
spec_curve() and run_spec_curve_analysis().curve_stat = "median_tau" (signed median). One-sided curve-level
tests (two_sided = FALSE) require it, because the other statistics are non-negative.scest() exposes the inner interior-point solver tolerances (margin.ipop, sigf.ipop,
bound.ipop).plot_spec_curve() always draws Panel B labels as rich text (richtext_feature_labels is
removed) and no longer prints SHAP merge diagnostics.solve() with psolve(). 'ECOSolveR' is now
imported directly, because 'CVXR' no longer provides the default ECOS solver.