Getting Started with DeciShift
DeciShift is designed to make ML behavioral regression testing runnable locally without a hosted platform, GPU, database, or model registry.
Install
python -m pip install --upgrade decishift==0.3.1
Run the bundled demo:
decishift demo --rows 1000 --no-save
Run the DecisionFlow trust path
From a source checkout:
python -m pip install -e ".[dev]"
decishift graph examples/triage/flow.yaml
decishift compare examples/triage/flow.yaml
After a saved run is produced:
decishift verify RUN_ID
decishift gate RUN_ID --contract examples/triage/decision-contract.yaml
The workflow separates four questions:
- Execution: can both versions run over the same aligned records?
- Behavioral comparison: which final actions changed?
- Attribution: which versioned components contributed to those software-output changes?
- Release gating: do observed global, transition, action, or cohort shifts remain within the configured Decision Contract?
Public examples
Wine + scikit-learn
The public Wine example uses a trained logistic-regression model and a three-action downstream policy. It is useful for testing feature-only, model-only, policy-only, rule-only, and combined changes.
Repository path: examples/public_wine_sklearn/
Digits + XGBoost
The Digits example uses a trained XGBoost model and exposes a case where candidate metrics improve while individual operational actions still change.
Repository path: examples/public_digits_xgboost/
Read the public evaluation study
What a PASS means
A Decision Contract PASS means only that the observed evidence remained inside limits declared by the user. It does not prove production safety, fairness, compliance, correctness, or real-world causal validity.
Likewise, software-counterfactual attribution explains changes inside the executable software system. It does not establish real-world causality.
Try it and report your environment
Independent reproductions are particularly valuable. If you run DeciShift, please report your OS, Python version, example, runtime, observed shift, and any discrepancy in the public testing issue: