Changes in version 0.1.2 (2026-10-28) Bug fixes - Fixed D-vine conditional sampling for mechanisms with exactly 2 parents (trivariate vine): replaced the rosenblatt() / inverse_rosenblatt() pipeline—whose behaviour changed for single-row matrices in newer rvinecopulib versions—with an explicit sequential h-function algorithm using pair_copulas(). Spearman correlations in the simulated output now correctly reflect the fitted dependence structure. Changes in version 0.1.1 Bug fixes - Fixed copula_mechanism() with non-Gaussian families: hbicop() now returns a numeric vector in newer rvinecopulib versions; the bivariate path handles both vector and matrix return types. - Fixed D-vine conditional sampling for mechanisms with 2+ parents: unnamed matrices are now passed to rosenblatt() / inverse_rosenblatt() to prevent column reordering by name in newer rvinecopulib versions. - Removed reference to non-exported rvinecopulib::bicop_family_list in list_copula_families(). Changes in version 0.1.0 Initial release - Core system API: new_system(), add_feature(), add_dependency(), finalize_system(). - Pre-built mechanism library covering all nine parent-type × child-type combinations: linear_gaussian, multinomial_logit, ordered_logit, group_effect, categorical_transition, accessible via mechanism_library_get(). - simulate() for population-level data generation under topological ordering with per-unit reproducible seeds. - Intervention types: do_fix(), do_distribution(), shift(), mechanism_override(). - propagate() with mode = "full" (ATE / independent interventional draws) and mode = "partial" (ITE / frozen exogenous noise counterfactuals). - Vine copula mechanism via copula_mechanism(), backed by rvinecopulib (optional dependency). - Predictive model integration via model_mechanism() and learned_mechanism(). - Language model mechanism via llm_mechanism(). - JSON / YAML serialisation via export_system() / import_system(). - DAG visualisation via plot_graph() (requires igraph).