ML P7: CI/CD + Drift Detection
Client: Priya Krishnamurthy, MedConnect Staffing (Bangalore, India) Project: Build CI/CD infrastructure with eval gates and drift detection for the nurse-to-hospital matching model.
What you are building
An automated CI/CD pipeline using GitHub Actions that runs the evaluation suite and blocks deployment when the model fails quality thresholds. A drift detection system using Evidently AI that monitors production data for distributional shifts. A response plan that connects drift alerts to operational decisions.
Tech stack
- Python 3.11
- GitHub Actions (CI/CD)
- Evidently AI (drift detection)
- scikit-learn (evaluation suite)
- MLflow (experiment tracking)
- Git/GitHub (version control, branch-based workflows)
File structure
materials/
placement-data-training.csv -- training baseline dataset (2,400 rows)
placement-data-production.csv -- production data with drift (600 rows)
ci-cd-workflow-template.yml -- GitHub Actions workflow template
evaluation-suite.py -- evaluation script with metrics and thresholds
requirements.txt -- pinned Python dependencies
drift-config-template.py -- Evidently AI drift detection template
response-plan-template.md -- drift response plan template
Work breakdown
- T1: Project setup + client discovery + work decomposition planning
- T2: CI/CD pipeline with GitHub Actions -- eval gates that block bad models
- T3: Drift detection with Evidently AI -- monitor key features for distributional shift
- T4: Response plan design + drift integration into CI/CD pipeline
- T5: End-to-end verification + delivery documentation
Verification targets
- CI/CD eval gate blocks deployment when model metrics fall below thresholds
- Drift detection identifies shifted features in production data
- Drift detection reports stable features as stable
- Response plan has at least three severity levels with distinct procedures
- End-to-end system works for both pass and fail paths
Commit convention
Commit after completing each ticket. Use descriptive messages: "T2: configure eval gate with recall and fairness thresholds" not "update pipeline."