← Back to all sparks
A

assesslite

ANALYTICS
Velocity0.0

R package assesslite by heidihelena — release notes from GitHub.

Four releases in fifteen hours take causal assumption-checking from resampling to identification

causal-inferencereproducibilitystatistical-auditingpython-r-parityassumption-testing
Current state
AssessLite attacks the structural assumptions behind a causal finding and returns three-way verdicts — stable, unstable, or not resolvable — feeding proceed, conditional or abstain decisions, with an auditable JSON record validated against a shared schema. It runs natively in R and Python against one spec, with the Python engine reproducing R's coxph(ties=breslow) exactly. The entire 0.1.0-through-0.4.0 arc landed inside a single day in July 2026.
Where it's heading
The releases are cumulative, each restating the previous feature set and adding to it, so read them as one launch rather than four. The direction across that launch is clear: it started with resampling attacks (permutation, holdout, temporal split, subgroup), turned toward causal identification with declared DAGs and the backdoor criterion, then reached into genuinely dependent data with spatial and interference checks. The correctness work moves in step — the 0.3.0 Bonferroni adjustment fixed a holdout rule that was flagging roughly m times too often with m variants.
Prediction
The project has repeatedly shipped what it previously listed as future work within days, so the next release most likely converts another declared gap rather than opening a new front.

Recent moves

  1. 1mo ago

    AssessLite 0.4.0

    The three items previously marked future work ship together: Moran's I on outcome-model residuals attacking spatial independence, exposure maps declaring how spillover aggregates, and identification repair that names which latent nodes would restore identifiability if measured. Deterministic, with R and Python agreeing bit-for-bit and no new dependencies.

    View source ↗
  2. 1mo ago

    AssessLite 0.3.0

    Extends into dependent data with spatial holdout and interference checks attacking SUTVA, adds positivity trimming and a deterministic bias-analysis array targetable at a decision threshold. It also carries a correctness fix: the holdout verdict now uses a Bonferroni-adjusted shift p-value, replacing a max-shift rule that over-flagged with multiple variants.

    View source ↗
  3. 1mo ago

    AssessLite 0.2.0

    ⚡ SPARK

    Causal graphs enter the framework: declare_graph() lets users state a DAG, graph_check tests its implied conditional independencies against the data, and adjustment_check evaluates the adjusted set against the backdoor criterion — flagging open backdoor paths, adjusted descendants of the exposure, and a minimal sufficient set. The E-value and an assumption lattice over pooling commitments arrive alongside.

    View source ↗
  4. 1mo ago

    AssessLite 0.1.0

    ⚡ SPARK

    The founding release: unit permutation, cluster holdout, temporal split and subgroup stability attacks, resolving into stable, unstable or not-resolvable verdicts and proceed, conditional or abstain decisions. Exports an auditable JSON record validated against a shared schema plus an HTML report, in R and Python against one spec.

    View source ↗