OVERSIGHT: The Change-Intelligence Layer for DataHub
Inspiration
In modern data ecosystems, the real magic of AI occurs when agents possess complete organizational context. Without reliable knowledge of schemas, lineage, ownership, and governance, both human engineers and AI agents make blind changes, resulting in silent data corruption, broken downstream dashboards, and hallucinated metrics.
We realized that while traditional tools monitor data quality after data reaches production, there is a massive gap in proactive, preventive guardrails.
We were inspired to build OVERSIGHT as an autonomous, operational change-intelligence layer. Our goal was to "shift data quality left" by intercepting code and schema changes during the pull request (PR) process, checking them against DataHub's rich metadata context graph, and remediating issues before they ever hit production.
What It Does
OVERSIGHT acts as an active, preventative sentinel between developer/database workflows and production data environments.
1. Ingest & Parse
It intercepts schema and pipeline changes via GitHub PR webhooks and DDL migration files (e.g., Flyway/Liquibase SQL scripts).
2. Enrich with DataHub
It resolves affected table/view schemas and fetches N-degree lineage graphs, ownership, glossary terms, and governance tags directly from DataHub.
3. Compute Blast Radius & Risk
It calculates an operational risk score using an in-memory graph representing the affected data pipelines.
The risk score is determined mathematically based on the severity of the code change, the downstream blast radius, and the criticality of affected nodes:
Risk Score
Risk Score = 100 × Severity × ∑ (γᵈ × Criticality(d)), for d = 1 … N
Where:
- Severity Score ∈ [0, 1.0]
- Node Criticality ∈ [0, 1.0]
- γ ∈ (0, 1] is the distance decay factor.
- d is the downstream distance from the changed node.
- N is the maximum downstream lineage depth considered.
4. Generate Remediation & Visualizations
It automatically spawns AI-agent runs to output code patches (e.g., dbt updates, SQL backfill scripts) and renders raw Mermaid lineage diagrams of the impacted paths.
5. Closed-Loop Write-Back
OVERSIGHT posts risk reports as comments on GitHub PRs and alerts owners on Slack.
Crucially, it writes deprecation statuses and impact documentation directly back into DataHub, ensuring that the central catalog is automatically kept up-to-date.
How We Built It
OVERSIGHT is architected as a modular, enterprise-ready full-stack application:
Backend Engine: FastAPI & Python
- Orchestrated using the
uvpackage manager. - The core pipeline handles ingestion, metadata enrichment, risk assessment, and third-party integrations (GitHub App, Slack).
Lineage & Graph Core
- Built using NetworkX to parse lineage lists fetched from DataHub's APIs.
- Constructs in-memory dependency DAGs for efficient traversal.
DataHub Client Layer
- Integrated deeply with the DataHub Python SDK, GraphQL API, and custom Model Context Protocol (MCP) server endpoints.
- Performs schema queries and commits metadata write-backs, including deprecations and institutional documents.
AI & Evaluation Framework
- Leverages LLM agents (reviewer, validation, heuristics) to interpret code diffs.
- We built a complete offline test framework (
backend/app/evals/) featuring YAML case definitions and Markdown rubrics to systematically test and grade agent outputs.
Frontend Dashboard
Created with:
- TypeScript
- Tailwind CSS
- shadcn/ui
- ReactFlow
It provides a clean, visual portal to:
- Track the change-risk feed
- Drill into specific PR diagnoses
- View interactive lineage blast radii
- Access direct navigation links back to DataHub
Database & Infrastructure
- Powered by PostgreSQL 16
- SQLAlchemy 2.x
- Alembic for schema migrations
- Packaged with Docker Compose for local deployment alongside a self-hosted DataHub instance.
Challenges We Ran Into
Mapping Code Diffs to DataHub URNs
Extracting abstract schema definitions from raw SQL strings or dbt files and correctly identifying their corresponding DataHub Entity URNs required robust parsing, especially when dealing with nested structures or inconsistent database schema naming conventions.
Scale-Resilient Graph Analysis
Real-world enterprise lineages are massive. Traversing deep dependencies and calculating multi-variable risk scores dynamically during a webhook lifecycle required optimizing NetworkX queries and designing efficient caching layers.
Designing the Closed-Loop Write-Back
Ensuring that OVERSIGHT could cleanly update DataHub without causing infinite event loops or corrupting metadata required strict synchronization.
We overcame this by isolating the mutations to specific deprecation aspect updates and structured institutional memory document attachments.
Accomplishments That We're Proud Of
End-to-End Functional Integration
We successfully built a fully functioning, closed-loop pipeline where a Git PR triggers an automated risk calculation, alerts developers, and writes documentation back to DataHub without manual human intervention.
Robust Evaluation Suite
Rather than relying on simple prompt engineering, we implemented a structured evaluation framework (evals/) utilizing customized YAML holdout/adversarial cases.
This ensures our AI code reviewer and DDL diagnostic engines are verifiable and statistically accurate.
Polished, Developer-Centric UX
The Next.js 15 dashboard, coupled with interactive ReactFlow charts, provides an intuitive interface that makes abstract "blast radius" concepts immediately clear to data platform leads.
What We Learned
Metadata Is the Lifeline of AI
Building this project highlighted that DataHub's metadata graph is not just a search tool for data discovery - it is a critical contextual foundation that enables AI agents to make reliable, grounded decisions about software workflows.
Shift-Left Works for Data
Moving data governance and validation steps directly into the CI/CD pull-request lifecycle is infinitely more cost-effective than attempting to remediate broken metrics and pipeline outages in production.
Strict Modeling Over Raw Text
Utilizing structured schema mappings and defined severity tables ensures that risk scores remain predictable, consistent, and defensible for enterprise compliance.
What's Next for OverSightAI
Orchestrator DAG Diffing
Extend our ingestion layer to parse and evaluate Airflow, Prefect, and Dagster DAG changes before deployment.
Advanced Data Contract Enforcement
Integrate DataHub's data contracts and assertions directly into the PR review block, failing builds automatically if a schema modification violates an active consumer agreement.
Bidirectional Slack Actions
Enable data owners to approve, reject, or request dbt backfill overrides directly from interactive Slack notifications.
Built With
- datahub
- docker
- fastapi
- gcp
- nextjs
- postgresql
- python
- reactflow

Log in or sign up for Devpost to join the conversation.