Label-free monitoring of governance evidence degradation in risk decision systems
Project description
Governance Drift Toolkit
A Python toolkit for label-free monitoring of governance evidence degradation in risk decision systems. Answers: "Is our governance evidence still sufficient, even though we can't see the ground truth yet?"
The toolkit combines proxy drift monitors, composite alerting, harmful-shift suppression, and a governance response chain for delayed-label environments such as fraud detection, credit scoring, and related risk systems.
Academic Context
This toolkit is shared across two papers in the governance-evidence series.
Primary (label-free extension, current focus):
Solozobov, O. (2026). Label-Free Detection of Governance Evidence Degradation in Risk Decision Systems. arXiv:2604.17836. https://arxiv.org/abs/2604.17836
Companion (introduces the drift toolkit as part of the sufficiency framework):
Solozobov, O. (2026). Evidence Sufficiency Under Delayed Ground Truth: Proxy Monitoring for Risk Decision Systems. arXiv:2604.15740. https://arxiv.org/abs/2604.15740
Synthesis context — this toolkit is one of the artifacts whose transferability across decision system architectures is assessed in:
Solozobov, O. (2026). Governed Auditable Decisioning Under Uncertainty: Synthesis and Agentic Extension. arXiv:2604.19112. https://arxiv.org/abs/2604.19112
Install
From a Package Index
Use this when the package is published to your package index:
pip install governance-drift-toolkit
From GitHub
Use this before package-index publication, or when installing directly from source control:
pip install git+https://github.com/governance-evidence/governance-drift-toolkit.git
Optional sufficiency integration:
pip install "governance-drift-toolkit[sufficiency]"
For Contributors
Clone the repository, create a local virtual environment, and install development dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
For dataset-backed demos, install the extra demo dependencies:
pip install -e ".[dev,demo]"
Dataset download and local directory setup for the demos are documented in docs/demo_datasets.md.
Quick Start
The core package depends only on NumPy and SciPy. A minimal monitoring pass looks like this:
import numpy as np
from drift import (
compute_composite_alert,
determine_response,
fraud_detection_config,
)
from drift.monitors.score_distribution import compute_psi
from drift.monitors.feature_drift import compute_feature_psi
from drift.monitors.uncertainty import compute_prediction_entropy
config = fraud_detection_config()
rng = np.random.default_rng(42)
ref_scores = rng.normal(0.30, 0.15, size=1000)
cur_scores = rng.normal(0.45, 0.20, size=1000)
results = [
compute_psi(ref_scores, cur_scores),
compute_feature_psi(
rng.normal(size=(500, 3)),
rng.normal(0.5, 1.0, size=(500, 3)),
),
compute_prediction_entropy(rng.uniform(0.1, 0.9, size=500)),
]
alert = compute_composite_alert(results, config)
response = determine_response(alert, config)
print(f"Alert: {alert.severity.value}, Response: {response.action.value}")
See docs/deployment.md for installation modes and docs/alerting.md for the composite alert logic.
For dataset-backed demos, see docs/demo_datasets.md.
Seven Proxy Monitors
| # | Category | Detects | Misses |
|---|---|---|---|
| 1 | Score Distribution Shift | P(X) changes in scores | Adversarial drift preserving scores |
| 2 | Feature Drift | Covariate shift in inputs | Concept drift with stable features |
| 3 | Uncertainty | Calibration degradation | Confident-but-wrong predictions |
| 4 | Cross-Model Disagreement | Adversarial evasion | Correlated model failures |
| 5 | Operational Process | Behavioral changes | Fast-onset drift |
| 6 | Outcome-Maturity | Cohort-based drift | Novel patterns |
| 7 | Proxy Ground Truth | Pattern changes pre-labels | Social engineering |
Governance Response Chain
Monitor -> Alert -> Escalate -> Fallback -> Rollback
Related Projects
This toolkit is part of the governance-evidence toolkit:
| Repository | Role | Concept DOI |
|---|---|---|
| decision-event-schema | Schema for events this toolkit monitors | 10.5281/zenodo.18923177 |
| evidence-sufficiency-calc | Sufficiency scoring — bidirectional integration with this toolkit | 10.5281/zenodo.19233930 |
| evidence-collector-sdk | Collects evidence streams that feed into this toolkit | 10.5281/zenodo.19245404 |
| governance-benchmark-dataset | Cross-architecture benchmark that validates this toolkit's scenarios | 10.5281/zenodo.19248722 |
All DOIs above are concept DOIs -- each resolves to the latest Zenodo release of that artifact.
Citation
If you use this toolkit in your research, please cite both the paper and the software artifact.
Paper (primary):
@misc{solozobov2026labelfree,
author = {Solozobov, Oleg},
title = {Label-Free Detection of Governance Evidence Degradation in Risk Decision Systems},
year = {2026},
eprint = {2604.17836},
archivePrefix = {arXiv},
primaryClass = {cs.CY},
doi = {10.48550/arXiv.2604.17836},
url = {https://arxiv.org/abs/2604.17836}
}
Software (this repository):
@software{solozobov2026governancedrift,
author = {Solozobov, Oleg},
title = {Governance Drift Toolkit},
version = {0.2.1},
year = {2026},
url = {https://github.com/governance-evidence/governance-drift-toolkit},
doi = {10.5281/zenodo.19236417}
}
The software doi above is the concept DOI (always resolves to the latest Zenodo release).
The current v0.2.1 version DOI is 10.5281/zenodo.19248601.
See CITATION.cff for machine-readable citation metadata.
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file governance_drift_toolkit-0.2.2.tar.gz.
File metadata
- Download URL: governance_drift_toolkit-0.2.2.tar.gz
- Upload date:
- Size: 27.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9bdc8dd07ccb8b5e7be0a1716357390cda5427fedba977badb0e1a332c038da
|
|
| MD5 |
b00fd611640f73539b93cdcfc8e77b6e
|
|
| BLAKE2b-256 |
96a254475b8c4fd06aeb38ef61a6ebac32e5b8b4637ccc4e2807f95fcc2a9942
|
Provenance
The following attestation bundles were made for governance_drift_toolkit-0.2.2.tar.gz:
Publisher:
release.yml on governance-evidence/governance-drift-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
governance_drift_toolkit-0.2.2.tar.gz -
Subject digest:
b9bdc8dd07ccb8b5e7be0a1716357390cda5427fedba977badb0e1a332c038da - Sigstore transparency entry: 1806639144
- Sigstore integration time:
-
Permalink:
governance-evidence/governance-drift-toolkit@ccf0921e49374e22f5a7dc54f855d3ff6c9ed96c -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/governance-evidence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ccf0921e49374e22f5a7dc54f855d3ff6c9ed96c -
Trigger Event:
push
-
Statement type:
File details
Details for the file governance_drift_toolkit-0.2.2-py3-none-any.whl.
File metadata
- Download URL: governance_drift_toolkit-0.2.2-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e1e11c4b04eca6ced23d7bc32746bfd3641a645d2aec5a9767b5c9fb851e5f7
|
|
| MD5 |
fe908d5753068b6eecac32aca0dfc5fe
|
|
| BLAKE2b-256 |
127873a9f9887d5c6a57975aa80025d0fcd326ed4a2f04aa48aa6dc950ffc7e0
|
Provenance
The following attestation bundles were made for governance_drift_toolkit-0.2.2-py3-none-any.whl:
Publisher:
release.yml on governance-evidence/governance-drift-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
governance_drift_toolkit-0.2.2-py3-none-any.whl -
Subject digest:
1e1e11c4b04eca6ced23d7bc32746bfd3641a645d2aec5a9767b5c9fb851e5f7 - Sigstore transparency entry: 1806639148
- Sigstore integration time:
-
Permalink:
governance-evidence/governance-drift-toolkit@ccf0921e49374e22f5a7dc54f855d3ff6c9ed96c -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/governance-evidence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ccf0921e49374e22f5a7dc54f855d3ff6c9ed96c -
Trigger Event:
push
-
Statement type: