Policy Configuration Guide
Governance policies are defined in a YAML file (inferpathio-policy.yaml) stored in your repository alongside your model training code. Each model has its own policy file.
Complete schema example
inferpathio-policy.yaml
# Inferpathio Policy Schema v2.1
model: credit-risk-v3 # required: model identifier
environment: production # required: production | staging
retrain_trigger:
psi_threshold: 0.08 # float, required if using PSI metric
accuracy_floor: 0.91 # float 0-1, optional
kl_threshold: 0.15 # float, optional
min_prediction_volume: 1000 # int, min batch size to trigger
evaluation_window_hours: 24 # int, rolling window for evaluation
approval:
required: true # boolean
approvers:
- role: ml-lead
min_approvals: 1
- role: compliance-owner
min_approvals: 1
timeout_hours: 24 # int, escalation trigger time
escalation_role: platform-lead
pipeline:
webhook_url: "${RETRAIN_WEBHOOK_URL}"
timeout_hours: 6
auto_rollback:
on_accuracy_drop: 0.03 # float, drop threshold to trigger
within_hours: 1 # int, evaluation window post-deploy
notify:
- slack:#ml-alerts
- pagerduty:ml-oncall
Field reference
retrain_trigger
At least one trigger condition is required when approval.required: true. If multiple conditions are specified, any one breach triggers an event (logical OR).
psi_threshold— Population Stability Index. Recommended range: 0.05–0.25. Below 0.1 = minor drift; above 0.2 = major drift (industry convention).accuracy_floor— Model accuracy minimum (0–1). If accuracy drops below this value, triggers regardless of drift metric.kl_threshold— KL divergence limit. Commonly 0.1–0.5 depending on model sensitivity.evaluation_window_hours— Rolling window over which drift is measured. Default: 24h.
approval
required— Iffalse, approved retrains fire automatically. Defaults totrue.approvers[].role— Role name must match a role defined in your Inferpathio RBAC configuration.timeout_hours— After this duration without approval, the request escalates toescalation_role.