| layout | default |
|---|---|
| title | Getting Started with DeciShift |
| description | Install DeciShift and run ML behavioral regression testing, decision comparison, evidence verification, and Decision Contract release gating locally on CPU. |
DeciShift is designed to make ML behavioral regression testing runnable locally without a hosted platform, GPU, database, or model registry.
python -m pip install --upgrade decishift==0.3.1Run the bundled demo:
decishift demo --rows 1000 --no-saveFrom a source checkout:
python -m pip install -e ".[dev]"
decishift graph examples/triage/flow.yaml
decishift compare examples/triage/flow.yamlAfter a saved run is produced:
decishift verify RUN_ID
decishift gate RUN_ID --contract examples/triage/decision-contract.yamlThe 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?
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/
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
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.
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: