DeciShift

Behavioral regression testing for ML decision systems.

DeciShift is an open-source, CPU-first framework for comparing two executable versions of a machine-learning decision system before deployment. It shows which final operational decisions changed, which action transitions occurred, which versioned components contributed, and whether observed changes stay inside explicit Decision Contracts.

GitHub repository · PyPI · Discussions · Help test v0.3.1

Why it exists

A candidate model can improve aggregate accuracy or AUC while downstream operational actions still change because models interact with features, policies, thresholds, and rules.

baseline + candidate
        ↓
execute both on the same records
        ↓
compare final actions and transitions
        ↓
software-counterfactual attribution
        ↓
verify saved evidence
        ↓
Decision Contract → PASS / BLOCK

DeciShift complements experiment tracking, model registries, evaluation/monitoring, orchestration, and CI/CD rather than replacing them.

Public reproducible example

The Digits/XGBoost case study uses a fixed held-out split of 719 public records:

This is descriptive evaluation evidence, not a claim of production safety, fairness, compliance, or real-world causality.

Read the evaluation study

Start here

python -m pip install --upgrade decishift==0.3.1
decishift demo --rows 1000 --no-save

From a source checkout:

decishift graph examples/triage/flow.yaml
decishift compare examples/triage/flow.yaml
decishift verify RUN_ID
decishift gate RUN_ID --contract examples/triage/decision-contract.yaml

Getting started

Documentation map

Current integration directions

These are active integration directions, not claims of built-in production integrations today.

Join the project

The most valuable current contribution is an independent reproducibility run on a different environment. Successful reproductions, failures, installation friction, and counterexamples are all useful.

Community and contribution paths · Independent testing issue · GitHub Discussions


Keywords: ML behavioral regression testing, machine learning regression testing, decision-level model evaluation, MLOps release gating, model change impact analysis, ML decision comparison, model governance, behavioral testing, decision drift, machine learning testing.