DataMeshOps-Guard
Category Prize Target — Challenge Category: Production ML Agents
DataMeshOps-Guard is an autonomous production ML protection agent that utilizes DataHub's metadata graph to shield ML models from target leakage, upstream schema drift, and feature store corruption.
What It Does
- ML Context Extraction — Inspects production ML model URNs, maps relationships to feature stores and raw datasets via DataHub MCP lineage traversal
- Leakage & Drift Auditing — Analyzes feature table schema definitions to identify:
- Target leakage: future outcome variables used as training features
- Schema drift: type conversions in upstream ingestion (e.g.,
FLOAT → STRING) - Model Quarantine — Isolates the compromised model entity via graph mutations:
add_tags:#ml-quarantined,#target-leakage-detectedadd_structured_properties:model_health_score,quarantine_reason,schema_drift_detailupdate_description: Full diagnostic Markdown reportraise_incident: CRITICAL incident blocking downstream pipelines- Downstream Blocking — Any CI/CD pipeline or agent reading DataHub will observe the quarantine state and abort
Running Live
export DATAHUB_GMS_URL="http://localhost:8080/api/gms"
export TOOLS_IS_MUTATION_ENABLED="true"
export OPENAI_API_KEY="your-key-here"
python3 -m datameshops_guard.cli audit --model customer_churn_v4
Offline Playback (Zero Setup)
python3 -m datameshops_guard.cli audit --model customer_churn_v4
# No API key needed — deterministic mock fallback runs automatically
# or view the pre-recorded cast:
# asciinema play examples/guard_demo_playback.cast
Example Output
See examples/guard_audit_report.json for full MCP tool call log with leakage detection.
See examples/guard_mutation_before_after.json for before/after DataHub aspect diff on the ML model entity.
Detected Issues in Demo
| Issue | Field | Detail |
|---|---|---|
| Target Leakage | future_churn_status_30d |
Encodes future outcome — cannot be a training feature |
| Schema Drift | patient_age |
Type changed FLOAT → STRING in upstream patient_vitals ETL |
| Health Score | — | 0.12 / 1.00 — model unsafe for inference |