AssessLite 0.2.0
Four new attacks/analyses, all folding into the same three-way verdicts and decision rules, native in both R and Python, with audit records validated against one shared JSON Schema.
New in 0.2.0
- confounding_sensitivity — E-value (VanderWeele & Ding): how strong an unmeasured confounder would have to be to move the interval to no effect. Ratio-scale estimators (Cox HR, logistic OR).
- graph_check — declare a causal DAG with
declare_graph(); the engine tests the conditional independencies the graph implies against the data (partial correlation, self-contained d-separation). - adjustment_check — given the declared DAG, does your adjusted covariate set satisfy the backdoor criterion? Flags open backdoor paths (under-adjustment) and adjusted descendants of the exposure (over-adjustment / collider or mediator bias), and reports a minimal sufficient set. Verified on the confounding triangle, mediator, and M-bias.
- assumption_lattice() — the pooling commitments (cluster / time) as a Hasse lattice: refit the exposure estimate under every pool-or-stratify combination and see whether the conclusion depends on them.
No new dependencies (numpy/pandas and base R). The pure-numpy stratified Cox reproduces R's coxph(ties="breslow") exactly.
Acknowledgement
AssessLite's assumptions-first framing is indebted to Weinstein & Blei, "Geometric Causal Models" (arXiv:2607.05153, 2026).
This release publishes assesslite 0.2.0 to PyPI and archives it on Zenodo.